# library build -*- makefile -*- SHELL = /bin/sh # ------ FILES ------ SRC = $(wildcard *.cpp) INC = $(wildcard *.h) # ------ DEFINITIONS ------ # which file will be copied to Makefile.lammps EXTRAMAKE = Makefile.lammps.linalg DIR = Obj_mingw32-mpi/ LIB = $(DIR)libatc.a OBJ = $(SRC:%.cpp=$(DIR)%.o) # ------ SETTINGS ------ # include any MPI settings needed for the ATC library to build with # the same MPI library that LAMMPS is built with CC = i686-w64-mingw32-g++ CCFLAGS = -I../../tools/mingw-cross/mpich2-win32/include/ \ -I../../src -I../../src/STUBS -DMPICH_IGNORE_CXX_SEEK \ -O3 -march=i686 -mtune=generic -mfpmath=387 -mpc64 \ -ffast-math -funroll-loops -fstrict-aliasing \ -DLAMMPS_SMALLSMALL -Wno-uninitialized ARCHIVE = i686-w64-mingw32-ar ARCHFLAG = -rcs DEPFLAGS = -M LINK = i686-w64-mingw32-g++ LINKFLAGS = -O USRLIB = SYSLIB = # ------ MAKE PROCEDURE ------ default: $(DIR) $(LIB) Makefile.lammps $(DIR): mkdir $(DIR) Makefile.lammps: @cp $(EXTRAMAKE) Makefile.lammps $(LIB): $(OBJ) $(ARCHIVE) $(ARFLAGS) $(LIB) $(OBJ) @cp $(EXTRAMAKE) Makefile.lammps # ------ COMPILE RULES ------ $(DIR)%.o:%.cpp $(CC) $(CCFLAGS) -c $< -o $@ $(DIR)%.d:%.cpp $(CC) $(CCFLAGS) $(DEPFLAGS) $< > $@ # ------ DEPENDENCIES ------ DEPENDS = $(OBJ:.o=.d) # ------ CLEAN ------ clean: rm $(DIR)*.o $(DIR)*.d *~ $(LIB) $(DEPENDS) : $(DIR) sinclude $(DEPENDS)