forked from lijiext/lammps
67 lines
1.3 KiB
Makefile
67 lines
1.3 KiB
Makefile
# 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_mingw64/
|
|
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 = x86_64-w64-mingw32-g++
|
|
CCFLAGS = -I../../src -I../../src/STUBS -DMPICH_IGNORE_CXX_SEEK \
|
|
-O3 -march=core2 -mtune=core2 -mpc64 -msse2 \
|
|
-ffast-math -funroll-loops -fstrict-aliasing \
|
|
-DLAMMPS_SMALLBIG -Wno-uninitialized
|
|
ARCHIVE = x86_64-w64-mingw32-ar
|
|
ARCHFLAG = -rcs
|
|
DEPFLAGS = -M
|
|
LINK = x86_64-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)
|