diff --git a/lib/atc/Makefile.mingw32-cross b/lib/atc/Makefile.mingw32-cross new file mode 100644 index 0000000000..706c8cfefc --- /dev/null +++ b/lib/atc/Makefile.mingw32-cross @@ -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) diff --git a/lib/atc/Makefile.mingw64-cross b/lib/atc/Makefile.mingw64-cross new file mode 100644 index 0000000000..52672c4963 --- /dev/null +++ b/lib/atc/Makefile.mingw64-cross @@ -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) diff --git a/src/USER-ATC/Install.sh b/src/USER-ATC/Install.sh index 197e94e29d..23a0781e24 100755 --- a/src/USER-ATC/Install.sh +++ b/src/USER-ATC/Install.sh @@ -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