.SUFFIXES:
.SUFFIXES: .c .o
SHELL = /bin/sh
PROFLIB =
SRC1 = IMB.c IMB_declare.c IMB_init.c IMB_mem_manager.c IMB_parse_name_mpi1.c IMB_benchlist.c IMB_strgs.c \
IMB_err_handler.c IMB_g_info.c IMB_warm_up.c IMB_output.c \
IMB_pingpong.c IMB_pingping.c IMB_allreduce.c IMB_reduce_scatter.c IMB_reduce.c IMB_exchange.c IMB_bcast.c IMB_barrier.c IMB_allgather.c IMB_allgatherv.c IMB_alltoall.c IMB_alltoallv.c IMB_sendrecv.c IMB_init_transfer.c IMB_chk_diff.c IMB_cpu_exploit.c
OBJ1 = IMB.o IMB_declare.o IMB_init.o IMB_mem_manager.o IMB_parse_name_mpi1.o IMB_benchlist.o IMB_strgs.o \
IMB_err_handler.o IMB_g_info.o IMB_warm_up.o IMB_output.o \
IMB_pingpong.o IMB_pingping.o IMB_allreduce.o IMB_reduce_scatter.o IMB_reduce.o IMB_exchange.o IMB_bcast.o IMB_barrier.o IMB_allgather.o IMB_allgatherv.o IMB_alltoall.o IMB_alltoallv.o IMB_sendrecv.o IMB_init_transfer.o IMB_chk_diff.o IMB_cpu_exploit.o
SRCEXT = IMB.c IMB_declare.c IMB_init.c IMB_mem_manager.c IMB_benchlist.c IMB_parse_name_ext.c IMB_strgs.c \
IMB_err_handler.c IMB_g_info.c IMB_warm_up.c IMB_output.c \
IMB_window.c IMB_ones_unidir.c IMB_ones_bidir.c IMB_ones_accu.c IMB_init_transfer.c IMB_user_set_info.c IMB_chk_diff.c
OBJEXT = IMB.o IMB_declare.o IMB_init.o IMB_mem_manager.o IMB_benchlist.o IMB_parse_name_ext.o IMB_strgs.o \
IMB_err_handler.o IMB_g_info.o IMB_warm_up.o IMB_output.o \
IMB_window.o IMB_ones_unidir.o IMB_ones_bidir.o IMB_ones_accu.o IMB_init_transfer.o IMB_user_set_info.o IMB_chk_diff.o
SRCIO= IMB.c IMB_declare.c IMB_init.c IMB_mem_manager.c IMB_init_file.c IMB_user_set_info.c\
IMB_benchlist.c IMB_parse_name_io.c IMB_strgs.c \
IMB_err_handler.c IMB_g_info.c IMB_warm_up.c IMB_output.c IMB_cpu_exploit.c\
IMB_open_close.c IMB_write.c IMB_read.c IMB_init_transfer.c IMB_chk_diff.c
OBJIO= IMB.o IMB_declare.o IMB_init.o IMB_mem_manager.o IMB_init_file.o \
IMB_benchlist.o IMB_parse_name_io.o IMB_strgs.o IMB_user_set_info.o IMB_cpu_exploit.o\
IMB_err_handler.o IMB_g_info.o IMB_warm_up.o IMB_output.o \
IMB_open_close.o IMB_write.o IMB_read.o IMB_init_transfer.o IMB_chk_diff.o
default: IMB-MPI1
all: IMB-IO IMB-EXT IMB-MPI1
IMB-MPI1: $(SRC1) IMB_declare.h exe_mpi1
$(MAKE) -f Makefile.base MPI1 CPP=MPI1
IMB-EXT:$(SRCEXT) IMB_declare.h exe_ext
$(MAKE) -f Makefile.base EXT CPP=EXT
IMB-IO: $(SRCIO) IMB_declare.h exe_io
$(MAKE) -f Makefile.base IO CPP=MPIIO
exe_io:
touch $@ *.c; rm -rf exe_ext exe_mpi1
exe_ext:
sleep 1; touch $@ *.c; rm -rf exe_io exe_mpi1
exe_mpi1:
sleep 1; touch $@ *.c; rm -rf exe_io exe_ext
MPI1: $(OBJ1)
$(CLINKER) $(LDFLAGS) -o IMB-MPI1 $(OBJ1) $(LIB_PATH) $(LIBS)
EXT : $(OBJEXT)
$(CLINKER) $(LDFLAGS) -o IMB-EXT $(OBJEXT) $(LIB_PATH) $(LIBS)
IO: $(OBJIO)
$(CLINKER) $(LDFLAGS) -o IMB-IO $(OBJIO) $(LIB_PATH) $(LIBS)
# Make sure that we remove executables for specific architectures
clean:
/bin/rm -f *.o *~ PI* core IMB-IO IMB-EXT IMB-MPI1 exe_io exe_ext exe_mpi1
.c.o:
$(CC) $(MPI_INCLUDE) $(CPPFLAGS) -D$(CPP) $(OPTFLAGS) -c $*.c
# DEPENDENCIES
IMB_declare.h: IMB_settings.h IMB_comm_info.h IMB_settings_io.h IMB_bnames_mpi1.h \
IMB_bnames_ext.h IMB_bnames_io.h IMB_err_check.h IMB_appl_errors.h
touch IMB_declare.h
IMB.o: IMB_declare.h IMB_benchmark.h
IMB_init.o: IMB_declare.h IMB_benchmark.h
IMB_mem_manager.o: IMB_declare.h IMB_benchmark.h
IMB_benchlist.o: IMB_declare.h IMB_benchmark.h
IMB_output.o: IMB_declare.h IMB_benchmark.h
IMB_warm_up.o: IMB_declare.h IMB_benchmark.h
IMB_chk_diff.o: IMB_declare.h IMB_chk_diff.c
IMB_declare.o: IMB_declare.h
IMB_g_info.o: IMB_declare.h IMB_benchmark.h
IMB_err_handler.o: IMB_declare.h IMB_appl_errors.h
IMB_init_transfer.o: IMB_declare.h IMB_benchmark.h IMB_comments.h
# IMB-MPI1:
IMB_parse_name_mpi1.o: IMB_declare.h IMB_benchmark.h IMB_comments.h
IMB_pingping.o: IMB_declare.h
IMB_pingpong.o: IMB_declare.h
IMB_sendrecv.o: IMB_declare.h
IMB_exchange.o: IMB_declare.h
IMB_reduce.o: IMB_declare.h
IMB_reduce_scatter.o: IMB_declare.h
IMB_allreduce.o: IMB_declare.h
IMB_bcast.o: IMB_declare.h
IMB_allgather.o: IMB_declare.h
IMB_allgatherv.o: IMB_declare.h
IMB_alltoall.o: IMB_declare.h
IMB_alltoallv.o: IMB_declare.h
IMB_barrier.o: IMB_declare.h
# IMB-EXT:
IMB_parse_name_ext.o: IMB_declare.h IMB_benchmark.h IMB_comments.h
IMB_window.o: IMB_declare.h
IMB_ones_unidir.o: IMB_declare.h
IMB_ones_bidir.o: IMB_declare.h
IMB_ones_accu.o: IMB_declare.h
# IMB-IO:
IMB_parse_name_io.o: IMB_declare.h IMB_benchmark.h IMB_comments.h
IMB_init_file.o: IMB_declare.h IMB_benchmark.h IMB_comments.h
IMB_open_close.o: IMB_declare.h IMB_benchmark.h
IMB_write.o: IMB_declare.h IMB_benchmark.h
IMB_read.o: IMB_declare.h IMB_benchmark.h
syntax highlighted by Code2HTML, v. 0.9.1