1EXE = basic_lib.exe 2EXE_MPI = basic_lib_MPI.exe 3 4COMPILATOR = g++ 5COMPILATOR_MPI = mpic++ 6SUNAME = $(shell uname) 7OSS=$(findstring MINGW32,$(SUNAME)) 8ifneq "$(strip $(OSS))" "" 9COMPILATOR_MPI = g++ 10endif 11 12COMPILATOR_OPTIONS = -O2 -ansi 13COMPILATOR_OPTIONS_MPI = $(COMPILATOR_OPTIONS) -DUSE_MPI 14L1 = $(NOMAD_HOME)/lib/nomad.a 15L1_MPI = $(NOMAD_HOME)/lib/nomad.MPI.a 16LIBS = $(L1) -lm 17LIBS_MPI = $(L1_MPI) -lm -lmpi 18INCLUDE = -I$(NOMAD_HOME)/src -I. 19COMPILE = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c 20COMPILE_MPI = $(COMPILATOR_MPI) $(COMPILATOR_OPTIONS_MPI) $(INCLUDE) -c 21OBJS = basic_lib.o 22OBJS_MPI = basic_lib_MPI.o 23 24 25ifndef NOMAD_HOME 26define ECHO_NOMAD 27 @echo Please set NOMAD_HOME environment variable! 28 @false 29endef 30endif 31 32 33$(EXE): $(L1) $(OBJS) 34 $(ECHO_NOMAD) 35 @echo " building the scalar version ..." 36 @echo " exe file : "$(EXE) 37 @$(COMPILATOR) -o $(EXE) $(OBJS) $(LIBS) $(COMPILATOR_OPTIONS) 38 @strip $(EXE) 39 40$(EXE_MPI): $(L1_MPI) $(OBJS_MPI) 41 $(ECHO_NOMAD) 42 @echo " building the MPI version ..." 43 @echo " exe file : "$(EXE_MPI) 44 @$(COMPILATOR_MPI) -o $(EXE_MPI) $(OBJS_MPI) $(LIBS_MPI) $(COMPILATOR_OPTIONS_MPI) 45 @strip $(EXE_MPI) 46 47basic_lib.o: basic_lib.cpp 48 $(ECHO_NOMAD) 49 @$(COMPILE) basic_lib.cpp 50 51basic_lib_MPI.o: basic_lib.cpp 52 $(ECHO_NOMAD) 53 @$(COMPILE_MPI) basic_lib.cpp -o basic_lib_MPI.o 54 55$(L1) $(L1_MPI): ; 56 $(ECHO_NOMAD) 57 58mpi: $(EXE_MPI) 59 60all: $(EXE) $(EXE_MPI) 61 62clean: ; 63 @echo " cleaning obj files" 64 @rm -f $(OBJS) $(OBJS_MPI) 65 66del: ; 67 @echo " cleaning trash files" 68 @rm -f core *~ 69 @echo " cleaning obj files" 70 @rm -f $(OBJS) $(OBJS_MPI) 71 @echo " cleaning exe file" 72 @rm -f $(EXE) $(EXE_MPI) 73 74 75