cross compilation support in AtC
This commit is contained in:
148
lib/atc/Makefile.mingw32-cross
Normal file
148
lib/atc/Makefile.mingw32-cross
Normal file
@ -0,0 +1,148 @@
|
||||
# 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/
|
||||
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../../src -I../../src/STUBS -DMPICH_IGNORE_CXX_SEEK \
|
||||
-O3 -march=i686 -mtune=generic -mfpmath=387 -mpc64 \
|
||||
-ffast-math -funroll-loops -fstrict-aliasing \
|
||||
-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)
|
||||
|
||||
sinclude $(DEPENDS)
|
||||
148
lib/atc/Makefile.mingw64-cross
Normal file
148
lib/atc/Makefile.mingw64-cross
Normal file
@ -0,0 +1,148 @@
|
||||
# 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_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 \
|
||||
-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)
|
||||
|
||||
sinclude $(DEPENDS)
|
||||
@ -35,7 +35,7 @@ if (test $1 = 1) then
|
||||
if (test -e ../Makefile.package) then
|
||||
sed -i -e 's/[^ \t]*atc[^ \t]* //' ../Makefile.package
|
||||
sed -i -e 's|^PKG_INC =[ \t]*|&-I../../lib/atc |' ../Makefile.package
|
||||
sed -i -e 's|^PKG_PATH =[ \t]*|&-L../../lib/atc |' ../Makefile.package
|
||||
sed -i -e 's|^PKG_PATH =[ \t]*|&-L../../lib/atc$(LIBOBJDIR) |' ../Makefile.package
|
||||
sed -i -e 's|^PKG_LIB =[ \t]*|&-latc |' ../Makefile.package
|
||||
sed -i -e 's|^PKG_SYSINC =[ \t]*|&$(user-atc_SYSINC) |' ../Makefile.package
|
||||
sed -i -e 's|^PKG_SYSLIB =[ \t]*|&$(user-atc_SYSLIB) |' ../Makefile.package
|
||||
|
||||
Reference in New Issue
Block a user