1# bgq = IBM Blue Gene/Q, multiple compiler options, native MPI, ALCF FFTW2 2 3SHELL = /bin/bash 4.SUFFIXES: .cpp .u 5 6# --------------------------------------------------------------------- 7# build rules and dependencies 8# do not edit this section 9# select which compiler by editing Makefile.bgq.details 10 11include ../MAKE/MACHINES/bgq.make.details 12 13include Makefile.package.settings 14include Makefile.package 15 16EXTRA_INC = $(LMP_INC) $(PKG_INC) $(MPI_INC) $(FFT_INC) $(JPG_INC) $(PKG_SYSINC) 17EXTRA_PATH = $(PKG_PATH) $(MPI_PATH) $(FFT_PATH) $(JPG_PATH) $(PKG_SYSPATH) 18EXTRA_LIB = $(PKG_LIB) $(MPI_LIB) $(FFT_LIB) $(JPG_LIB) $(PKG_SYSLIB) 19EXTRA_CPP_DEPENDS = $(PKG_CPP_DEPENDS) 20EXTRA_LINK_DEPENDS = $(PKG_LINK_DEPENDS) 21 22# Path to src files 23 24vpath %.cpp .. 25vpath %.h .. 26 27# Link target 28 29$(EXE): main.o $(LMPLIB) $(EXTRA_LINK_DEPENDS) 30 $(LINK) $(LINKFLAGS) main.o $(EXTRA_PATH) $(LMPLINK) $(EXTRA_LIB) $(LIB) -o $@ 31 $(SIZE) $@ 32 33# Library targets 34 35$(ARLIB): $(OBJ) $(EXTRA_LINK_DEPENDS) 36 @rm -f ../$(ARLIB) 37 $(ARCHIVE) $(ARFLAGS) ../$(ARLIB) $(OBJ) 38 @rm -f $(ARLIB) 39 @ln -s ../$(ARLIB) $(ARLIB) 40 41$(SHLIB): $(OBJ) $(EXTRA_LINK_DEPENDS) 42 $(CC) $(CCFLAGS) $(SHFLAGS) $(SHLIBFLAGS) $(EXTRA_PATH) -o ../$(SHLIB) \ 43 $(OBJ) $(EXTRA_LIB) $(LIB) 44 @rm -f $(SHLIB) 45 @ln -s ../$(SHLIB) $(SHLIB) 46 47# Compilation rules 48 49%.o:%.cpp 50 $(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $< 51 52# Individual dependencies 53 54depend : fastdep.exe $(SRC) 55 @./fastdep.exe $(EXTRA_INC) -- $^ > .depend || exit 1 56 57fastdep.exe: ../DEPEND/fastdep.c 58 cc -O -o $@ $< 59 60sinclude .depend 61