lammps/lib/atc/Makefile.mingw32-cross-mpi

151 lines
2.9 KiB
Makefile

# library build -*- makefile -*-
SHELL = /bin/sh
# ------ FILES ------
SRC = ATC_HardyKernel.cpp \
ATC_Transfer.cpp \
ATC_TransferHardy.cpp \
ATC_TransferThermal.cpp \
ATC_TransferUtility.cpp \
AtomicRegulator.cpp \
ElasticTimeIntegrator.cpp \
ElectronFlux.cpp \
ElectronHeatCapacity.cpp \
ElectronHeatFlux.cpp \
ElectronPhononExchange.cpp \
ExtrinsicModel.cpp \
ExtrinsicModelTwoTemperature.cpp \
FE_Element.cpp \
FE_Engine.cpp \
FE_Mesh.cpp \
FieldEulerIntegrator.cpp \
ImplicitSolveOperator.cpp \
Kinetostat.cpp \
LammpsInterface.cpp \
Material.cpp \
Matrix.cpp \
OutputManager.cpp \
PhysicsModelThermal.cpp \
PhysicsModelTwoTemperature.cpp \
PrescribedDataManager.cpp \
Solver.cpp \
Thermostat.cpp \
TimeFilter.cpp \
TimeIntegrator.cpp \
Vector.cpp \
XT_Function.cpp
INC = Array2D.h \
Array.h \
ATC_Error.h \
ATC_HardyKernel.h \
ATC_Transfer.h \
ATC_TransferHardy.h \
ATC_TransferThermal.h \
ATC_TypeDefs.h \ \
AtomicRegulator.h \
CG.h \
CloneVector.h \
DenseMatrix.h \
DenseVector.h \
DiagonalMatrix.h \
ElasticTimeIntegrator.h \
ElectronFlux.h \
ElectronHeatCapacity.h \
ElectronHeatFlux.h \
ElectronPhononExchange.h \
ExtrinsicModel.h \
ExtrinsicModelTwoTemperature.h \
FE_Element.h \
FE_Engine.h \
FE_Mesh.h \
FieldEulerIntegrator.h \
GMRES.h \
ImplicitSolveOperator.h \
Kinetostat.h \
LammpsInterface.h \
Material.h \
MatrixDef.h \
Matrix.h \
MatrixLibrary.h \
OutputManager.h \
PhysicsModel.h \
PhysicsModelThermal.h \
PhysicsModelTwoTemperature.h \
PrescribedDataManager.h \
Quadrature.h \
Solver.h \
SparseMatrix.h \
SparseMatrix-inl.h \
SparseVector.h \
SparseVector-inl.h \
StringManip.h \
Thermostat.h \
TimeFilter.h \
TimeIntegrator.h \
Utility.h \
Vector.h \
XT_Function.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)