From bfbe995a9cc01bcf7297ceb68c5372fd9083933c Mon Sep 17 00:00:00 2001 From: sjplimp <sjplimp@f3b2605a-c512-4ea7-a41b-209d697bcdaa> Date: Fri, 28 Jun 2013 19:30:58 +0000 Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@10165 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- lib/atc/LammpsInterface.cpp | 3 +- lib/atc/Makefile.g++ | 2 +- lib/atc/Makefile.lammps | 5 + lib/atc/Makefile.lammps.linalg | 3 +- lib/atc/Makefile.mingw32-cross | 149 ++++++++++++++++++++++ lib/atc/Makefile.mingw32-cross-mpi | 150 +++++++++++++++++++++++ lib/atc/Makefile.mingw64-cross | 149 ++++++++++++++++++++++ lib/atc/Makefile.mingw64-cross-mpi | 150 +++++++++++++++++++++++ lib/awpmd/Makefile.lammps.linalg | 2 +- lib/awpmd/Makefile.mingw32-cross | 80 ++++++++++++ lib/awpmd/Makefile.mingw32-cross-mpi | 13 ++ lib/awpmd/Makefile.mingw64-cross | 79 ++++++++++++ lib/awpmd/Makefile.mingw64-cross-mpi | 13 ++ lib/awpmd/ivutils/include/lapack_inter.h | 2 +- lib/awpmd/ivutils/include/logexc.h | 4 +- lib/awpmd/ivutils/include/wavepacket.h | 8 +- lib/gpu/Makefile.lammps | 5 + lib/gpu/Makefile.lammps.mingw-cross | 6 + lib/gpu/Makefile.mingw32-cross | 17 +++ lib/gpu/Makefile.mingw32-cross-mpi | 19 +++ lib/gpu/Makefile.mingw64-cross | 18 +++ lib/gpu/Makefile.mingw64-cross-mpi | 20 +++ lib/gpu/Nvidia.makefile | 5 +- lib/gpu/Opencl.makefile | 5 +- lib/linalg/Makefile.mingw32-cross | 85 +++++++++++++ lib/linalg/Makefile.mingw32-cross-mpi | 13 ++ lib/linalg/Makefile.mingw64-cross | 85 +++++++++++++ lib/linalg/Makefile.mingw64-cross-mpi | 13 ++ lib/meam/Makefile.mingw32-cross | 65 ++++++++++ lib/meam/Makefile.mingw32-cross-mpi | 13 ++ lib/meam/Makefile.mingw64-cross | 65 ++++++++++ lib/meam/Makefile.mingw64-cross-mpi | 13 ++ lib/poems/Makefile.mingw32-cross | 113 +++++++++++++++++ lib/poems/Makefile.mingw32-cross-mpi | 13 ++ lib/poems/Makefile.mingw64-cross | 113 +++++++++++++++++ lib/poems/Makefile.mingw64-cross-mpi | 13 ++ 36 files changed, 1499 insertions(+), 12 deletions(-) create mode 100644 lib/atc/Makefile.lammps create mode 100644 lib/atc/Makefile.mingw32-cross create mode 100644 lib/atc/Makefile.mingw32-cross-mpi create mode 100644 lib/atc/Makefile.mingw64-cross create mode 100644 lib/atc/Makefile.mingw64-cross-mpi create mode 100644 lib/awpmd/Makefile.mingw32-cross create mode 100644 lib/awpmd/Makefile.mingw32-cross-mpi create mode 100644 lib/awpmd/Makefile.mingw64-cross create mode 100644 lib/awpmd/Makefile.mingw64-cross-mpi create mode 100644 lib/gpu/Makefile.lammps create mode 100644 lib/gpu/Makefile.lammps.mingw-cross create mode 100644 lib/gpu/Makefile.mingw32-cross create mode 100644 lib/gpu/Makefile.mingw32-cross-mpi create mode 100644 lib/gpu/Makefile.mingw64-cross create mode 100644 lib/gpu/Makefile.mingw64-cross-mpi create mode 100755 lib/linalg/Makefile.mingw32-cross create mode 100644 lib/linalg/Makefile.mingw32-cross-mpi create mode 100755 lib/linalg/Makefile.mingw64-cross create mode 100644 lib/linalg/Makefile.mingw64-cross-mpi create mode 100644 lib/meam/Makefile.mingw32-cross create mode 100644 lib/meam/Makefile.mingw32-cross-mpi create mode 100644 lib/meam/Makefile.mingw64-cross create mode 100644 lib/meam/Makefile.mingw64-cross-mpi create mode 100644 lib/poems/Makefile.mingw32-cross create mode 100644 lib/poems/Makefile.mingw32-cross-mpi create mode 100644 lib/poems/Makefile.mingw64-cross create mode 100644 lib/poems/Makefile.mingw64-cross-mpi diff --git a/lib/atc/LammpsInterface.cpp b/lib/atc/LammpsInterface.cpp index 4959ce0855..a6a054b060 100644 --- a/lib/atc/LammpsInterface.cpp +++ b/lib/atc/LammpsInterface.cpp @@ -3,6 +3,7 @@ // LAMMPS includes #include "lammps.h" +#include "lmptype.h" #include "atom.h" // x, v, f #include "domain.h" // for basing locations on regions #include "region.h" // region bounding box and style @@ -609,7 +610,7 @@ void LammpsInterface::atomPE_init(void) } } -void LammpsInterface::atomPE_addstep(int step) +void LammpsInterface::atomPE_addstep(LAMMPS_NS::bigint step) { atomPE_->addstep(step); } diff --git a/lib/atc/Makefile.g++ b/lib/atc/Makefile.g++ index 66361ebc5d..5b12e403ab 100644 --- a/lib/atc/Makefile.g++ +++ b/lib/atc/Makefile.g++ @@ -131,4 +131,4 @@ DEPENDS = $(OBJ:.o=.d) # ------ CLEAN ------ clean: - rm *.o *.d *~ $(LIB) + -rm *.o *.d *~ $(LIB) diff --git a/lib/atc/Makefile.lammps b/lib/atc/Makefile.lammps new file mode 100644 index 0000000000..c8cd66af26 --- /dev/null +++ b/lib/atc/Makefile.lammps @@ -0,0 +1,5 @@ +# Settings that the LAMMPS build will import when this package library is used + +user-atc_SYSINC = +user-atc_SYSLIB = -lblas -llapack +user-atc_SYSPATH = diff --git a/lib/atc/Makefile.lammps.linalg b/lib/atc/Makefile.lammps.linalg index 742b09f781..5d92fd8cfb 100644 --- a/lib/atc/Makefile.lammps.linalg +++ b/lib/atc/Makefile.lammps.linalg @@ -2,4 +2,5 @@ user-atc_SYSINC = user-atc_SYSLIB = -llinalg -lgfortran -user-atc_SYSPATH = -L../../lib/linalg +user-atc_SYSPATH = -L../../lib/linalg$(LIBOBJDIR) + diff --git a/lib/atc/Makefile.mingw32-cross b/lib/atc/Makefile.mingw32-cross new file mode 100644 index 0000000000..6834410408 --- /dev/null +++ b/lib/atc/Makefile.mingw32-cross @@ -0,0 +1,149 @@ +# 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 \ + -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) diff --git a/lib/atc/Makefile.mingw32-cross-mpi b/lib/atc/Makefile.mingw32-cross-mpi new file mode 100644 index 0000000000..4c372edf38 --- /dev/null +++ b/lib/atc/Makefile.mingw32-cross-mpi @@ -0,0 +1,150 @@ +# 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) diff --git a/lib/atc/Makefile.mingw64-cross b/lib/atc/Makefile.mingw64-cross new file mode 100644 index 0000000000..997cbcd35c --- /dev/null +++ b/lib/atc/Makefile.mingw64-cross @@ -0,0 +1,149 @@ +# 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 \ + -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) diff --git a/lib/atc/Makefile.mingw64-cross-mpi b/lib/atc/Makefile.mingw64-cross-mpi new file mode 100644 index 0000000000..81b4ee207e --- /dev/null +++ b/lib/atc/Makefile.mingw64-cross-mpi @@ -0,0 +1,150 @@ +# 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-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 = x86_64-w64-mingw32-g++ +CCFLAGS = -I../../tools/mingw-cross/mpich2-win64/include/ \ + -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) diff --git a/lib/awpmd/Makefile.lammps.linalg b/lib/awpmd/Makefile.lammps.linalg index a5c4e9b9f0..a30f4a821d 100644 --- a/lib/awpmd/Makefile.lammps.linalg +++ b/lib/awpmd/Makefile.lammps.linalg @@ -2,4 +2,4 @@ user-awpmd_SYSINC = user-awpmd_SYSLIB = -llinalg -lgfortran -user-awpmd_SYSPATH = -L../../lib/linalg +user-awpmd_SYSPATH = -L../../lib/linalg$(LIBOBJDIR) diff --git a/lib/awpmd/Makefile.mingw32-cross b/lib/awpmd/Makefile.mingw32-cross new file mode 100644 index 0000000000..af66187b89 --- /dev/null +++ b/lib/awpmd/Makefile.mingw32-cross @@ -0,0 +1,80 @@ +# library build -*- makefile -*- +SHELL = /bin/sh + +# which file will be copied to Makefile.lammps + +EXTRAMAKE = Makefile.lammps.linalg + +# ------ FILES ------ + +SRC = logexc.cpp wpmd.cpp wpmd_split.cpp +vpath %.cpp ivutils/src +vpath %.cpp systems/interact/TCP + +INC = \ + cerf.h \ + cerf2.h \ + cerf_octave.h \ + cvector_3.h \ + lapack_inter.h \ + logexc.h \ + pairhash.h \ + refobj.h \ + tcpdefs.h \ + vector_3.h \ + wavepacket.h \ + wpmd.h \ + wpmd_split.h + +# ------ DEFINITIONS ------ +DIR = Obj_mingw32/ +LIB = $(DIR)libawpmd.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 = -O2 -march=i686 -mtune=generic -mfpmath=387 -mpc64 \ + -finline-functions \ + -ffast-math -funroll-loops -fstrict-aliasing \ + -Wall -W -Wno-uninitialized -Isystems/interact/TCP/ -Isystems/interact -Iivutils/include +ARCHIVE = i686-w64-mingw32-ar +ARCHFLAG = -rscv +DEPFLAGS = -M +#LINK = +#LINKFLAGS = +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 *.d *~ $(OBJ) $(LIB) diff --git a/lib/awpmd/Makefile.mingw32-cross-mpi b/lib/awpmd/Makefile.mingw32-cross-mpi new file mode 100644 index 0000000000..cc2a76111a --- /dev/null +++ b/lib/awpmd/Makefile.mingw32-cross-mpi @@ -0,0 +1,13 @@ +# -*- makefile -*- wrapper for non-MPI libraries + +SHELL=/bin/sh + +all: + $(MAKE) $(MFLAGS) mingw32-cross + rm -f Obj_mingw32-mpi + ln -s Obj_mingw32 Obj_mingw32-mpi + +clean: + $(MAKE) $(MFLAGS) clean-mingw32-cross + rm -f Obj_mingw32-mpi + diff --git a/lib/awpmd/Makefile.mingw64-cross b/lib/awpmd/Makefile.mingw64-cross new file mode 100644 index 0000000000..f1df999bab --- /dev/null +++ b/lib/awpmd/Makefile.mingw64-cross @@ -0,0 +1,79 @@ +# library build -*- makefile -*- +SHELL = /bin/sh + +# which file will be copied to Makefile.lammps + +EXTRAMAKE = Makefile.lammps.linalg + +# ------ FILES ------ + +SRC = logexc.cpp wpmd.cpp wpmd_split.cpp +vpath %.cpp ivutils/src +vpath %.cpp systems/interact/TCP + +INC = \ + cerf.h \ + cerf2.h \ + cerf_octave.h \ + cvector_3.h \ + lapack_inter.h \ + logexc.h \ + pairhash.h \ + refobj.h \ + tcpdefs.h \ + vector_3.h \ + wavepacket.h \ + wpmd.h \ + wpmd_split.h + +# ------ DEFINITIONS ------ +DIR = Obj_mingw64/ +LIB = $(DIR)libawpmd.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 = -O3 -march=core2 -mtune=core2 -mpc64 -msse2 \ + -ffast-math -funroll-loops -fstrict-aliasing \ + -Wall -W -Wno-uninitialized -Isystems/interact/TCP/ -Isystems/interact -Iivutils/include +ARCHIVE = x86_64-w64-mingw32-ar +ARCHFLAG = -rscv +DEPFLAGS = -M +#LINK = +#LINKFLAGS = +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 *.d *~ $(OBJ) $(LIB) diff --git a/lib/awpmd/Makefile.mingw64-cross-mpi b/lib/awpmd/Makefile.mingw64-cross-mpi new file mode 100644 index 0000000000..1ec1a0995b --- /dev/null +++ b/lib/awpmd/Makefile.mingw64-cross-mpi @@ -0,0 +1,13 @@ +# -*- makefile -*- wrapper for non-MPI libraries + +SHELL=/bin/sh + +all: + $(MAKE) $(MFLAGS) mingw64-cross + rm -f Obj_mingw64-mpi + ln -s Obj_mingw64 Obj_mingw64-mpi + +clean: + $(MAKE) $(MFLAGS) clean-mingw64-cross + rm -f Obj_mingw64-mpi + diff --git a/lib/awpmd/ivutils/include/lapack_inter.h b/lib/awpmd/ivutils/include/lapack_inter.h index 743c5e6059..e4497fc840 100644 --- a/lib/awpmd/ivutils/include/lapack_inter.h +++ b/lib/awpmd/ivutils/include/lapack_inter.h @@ -8,7 +8,7 @@ typedef int lapack_int; typedef complex<float> lapack_complex_float; typedef complex<double> lapack_complex_double; -#ifdef _WIN32 +#if defined(_WIN32) && !defined(__MINGW32__) //#define MKL_Complex8 lapack_complex_float //#define MKL_Complex16 lapack_complex_double diff --git a/lib/awpmd/ivutils/include/logexc.h b/lib/awpmd/ivutils/include/logexc.h index e8b8ab3c58..68af8cd256 100644 --- a/lib/awpmd/ivutils/include/logexc.h +++ b/lib/awpmd/ivutils/include/logexc.h @@ -7,9 +7,9 @@ #include <stdexcept> #include <string> -# ifndef _WIN32 +#if !defined(_WIN32) || defined(__MINGW32__) # include <typeinfo> -# endif +#endif /// this specifies whether to put file/line info in error messages diff --git a/lib/awpmd/ivutils/include/wavepacket.h b/lib/awpmd/ivutils/include/wavepacket.h index dc203f74bf..e24ac4e237 100644 --- a/lib/awpmd/ivutils/include/wavepacket.h +++ b/lib/awpmd/ivutils/include/wavepacket.h @@ -220,7 +220,8 @@ public: }; - /*double w=wk.get_width(); +#if 0 + double w=wk.get_width(); Vector_3 r=wk.get_r(); double t=3/(2*w*w*w); fe_w[ic1+k1]+= t*E_der[s1][indw1+8*k1]+imag(wk.a)*E_der[s1][indw1+8*k1+1]/w; @@ -230,7 +231,8 @@ public: fe_p[ic1+k1][i]+= (-E_der[s1][indw1+8*k1+2+2*i+1])*(m_electron/h_plank); //*(h_plank/m_electron); fe_pw[ic1+k1]+=(r[i]*E_der[s1][indw1+8*k1+2+2*i+1]/w)/h_plank; fe_w[ic1+k1]+=2*r[i]*(t*E_der[s1][indw1+8*k1+2+2*i]+imag(wk.a)*E_der[s1][indw1+8*k1+2+2*i+1]/w); - }*/ + } +#endif /// constructs a conjugate packet @@ -239,4 +241,4 @@ inline WavePacket conj(const WavePacket &wp){ } -# endif // WAVEPACKET_H \ No newline at end of file +# endif // WAVEPACKET_H diff --git a/lib/gpu/Makefile.lammps b/lib/gpu/Makefile.lammps new file mode 100644 index 0000000000..05651c5d76 --- /dev/null +++ b/lib/gpu/Makefile.lammps @@ -0,0 +1,5 @@ +# Settings that the LAMMPS build will import when this package library is used + +gpu_SYSINC = +gpu_SYSLIB = -lcudart -lcuda +gpu_SYSPATH = -L/usr/local/cuda/lib64 diff --git a/lib/gpu/Makefile.lammps.mingw-cross b/lib/gpu/Makefile.lammps.mingw-cross new file mode 100644 index 0000000000..e92c3e9d0d --- /dev/null +++ b/lib/gpu/Makefile.lammps.mingw-cross @@ -0,0 +1,6 @@ +# Settings that the LAMMPS build will import when this package library is used +# settings for OpenCL builds +gpu_SYSINC = +gpu_SYSLIB = -Wl,--enable-stdcall-fixup -L../../tools/mingw-cross$(LIBOBJDIR) -lOpenCL +gpu_SYSPATH = + diff --git a/lib/gpu/Makefile.mingw32-cross b/lib/gpu/Makefile.mingw32-cross new file mode 100644 index 0000000000..3f1240af1a --- /dev/null +++ b/lib/gpu/Makefile.mingw32-cross @@ -0,0 +1,17 @@ +CUDA_HOME = ../../tools/mingw-cross/OpenCL + +OCL_CPP = i686-w64-mingw32-g++ -O2 -march=i686 -mtune=generic -mfpmath=387 \ + -mpc64 -DMPI_GERYON -DUCL_NO_EXIT -I../../src/STUBS \ + -I$(CUDA_HOME)/include +OCL_LINK = -Wl,--enable-stdcall-fixup -L$(CUDA_HOME)/../Obj_mingw32 -lOpenCL -L../../src/STUBS -lmpi_mingw32 +OCL_PREC = -D_SINGLE_DOUBLE +OCL_TUNE = -DFERMI_OCL +EXTRAMAKE = Makefile.lammps.mingw-cross + +BIN_DIR = Obj_mingw32 +OBJ_DIR = Obj_mingw32 +LIB_DIR = Obj_mingw32 +AR = i686-w64-mingw32-ar +BSH = /bin/sh + +include Opencl.makefile diff --git a/lib/gpu/Makefile.mingw32-cross-mpi b/lib/gpu/Makefile.mingw32-cross-mpi new file mode 100644 index 0000000000..6dae2d0604 --- /dev/null +++ b/lib/gpu/Makefile.mingw32-cross-mpi @@ -0,0 +1,19 @@ +CUDA_HOME = ../../tools/mingw-cross/OpenCL + +OCL_CPP = i686-w64-mingw32-g++ -O2 -march=i686 -mtune=generic -mfpmath=387 \ + -mpc64 -DMPI_GERYON -DUCL_NO_EXIT -I$(CUDA_HOME)/include \ + -I../../tools/mingw-cross/mpich2-win32/include/ \ + -DMPICH_IGNORE_CXX_SEEK +OCL_LINK = -Wl,--enable-stdcall-fixup -L$(CUDA_HOME)/../Obj_mingw32 -lOpenCL \ + -L../../tools/mingw-cross/mpich2-win32/lib -lmpi +OCL_PREC = -D_SINGLE_DOUBLE +OCL_TUNE = -DFERMI_OCL +EXTRAMAKE = Makefile.lammps.mingw-cross + +BIN_DIR = Obj_mingw32-mpi +OBJ_DIR = Obj_mingw32-mpi +LIB_DIR = Obj_mingw32-mpi +AR = i686-w64-mingw32-ar +BSH = /bin/sh + +include Opencl.makefile diff --git a/lib/gpu/Makefile.mingw64-cross b/lib/gpu/Makefile.mingw64-cross new file mode 100644 index 0000000000..606b0309cb --- /dev/null +++ b/lib/gpu/Makefile.mingw64-cross @@ -0,0 +1,18 @@ +CUDA_HOME = ../../tools/mingw-cross/OpenCL + +OCL_CPP = x86_64-w64-mingw32-g++ -O3 -march=core2 -mtune=core2 -mpc64 \ + -msse2 -DMPI_GERYON -DUCL_NO_EXIT -I../../src/STUBS \ + -I$(CUDA_HOME)/include +OCL_LINK = -Wl,--enable-stdcall-fixup -L$(CUDA_HOME)/../Obj_mingw64 -lOpenCL \ + -L../../src/STUBS -lmpi_mingw64 +OCL_PREC = -D_SINGLE_DOUBLE +OCL_TUNE = -DFERMI_OCL +EXTRAMAKE = Makefile.lammps.mingw-cross + +BIN_DIR = Obj_mingw64 +OBJ_DIR = Obj_mingw64 +LIB_DIR = Obj_mingw64 +AR = x86_64-w64-mingw32-ar +BSH = /bin/sh + +include Opencl.makefile diff --git a/lib/gpu/Makefile.mingw64-cross-mpi b/lib/gpu/Makefile.mingw64-cross-mpi new file mode 100644 index 0000000000..cea8155efd --- /dev/null +++ b/lib/gpu/Makefile.mingw64-cross-mpi @@ -0,0 +1,20 @@ +CUDA_HOME = ../../tools/mingw-cross/OpenCL + +OCL_CPP = x86_64-w64-mingw32-g++ -O3 -march=core2 -mtune=core2 -mpc64 \ + -msse2 -DMPI_GERYON -DUCL_NO_EXIT -I$(CUDA_HOME)/include \ + -I../../tools/mingw-cross/mpich2-win64/include/ \ + -DMPICH_IGNORE_CXX_SEEK + +OCL_LINK = -Wl,--enable-stdcall-fixup -L$(CUDA_HOME)/../Obj_mingw64 -lOpenCL \ + -L../../tools/mingw-cross/mpich2-win64/lib -lmpi +OCL_PREC = -D_SINGLE_DOUBLE +OCL_TUNE = -DFERMI_OCL +EXTRAMAKE = Makefile.lammps.mingw-cross + +BIN_DIR = Obj_mingw64-mpi +OBJ_DIR = Obj_mingw64-mpi +LIB_DIR = Obj_mingw64-mpi +AR = x86_64-w64-mingw32-ar +BSH = /bin/sh + +include Opencl.makefile diff --git a/lib/gpu/Nvidia.makefile b/lib/gpu/Nvidia.makefile index 2a279ca0cf..ce6132dd56 100644 --- a/lib/gpu/Nvidia.makefile +++ b/lib/gpu/Nvidia.makefile @@ -101,7 +101,10 @@ CBNS = $(OBJ_DIR)/device.cubin $(OBJ_DIR)/device_cubin.h \ $(OBJ_DIR)/lj_coul_debye.cubin $(OBJ_DIR)/lj_coul_debye_cubin.h \ $(OBJ_DIR)/coul_dsf.cubin $(OBJ_DIR)/coul_dsf_cubin.h -all: $(GPU_LIB) $(EXECS) +all: $(OBJ_DIR) $(GPU_LIB) $(EXECS) + +$(OBJ_DIR): + mkdir -p $@ $(OBJ_DIR)/cudpp.o: cudpp_mini/cudpp.cpp $(CUDR) -o $@ -c cudpp_mini/cudpp.cpp -Icudpp_mini diff --git a/lib/gpu/Opencl.makefile b/lib/gpu/Opencl.makefile index e66accfe70..b476003ecd 100644 --- a/lib/gpu/Opencl.makefile +++ b/lib/gpu/Opencl.makefile @@ -73,7 +73,10 @@ KERS = $(OBJ_DIR)/device_cl.h $(OBJ_DIR)/atom_cl.h \ OCL_EXECS = $(BIN_DIR)/ocl_get_devices -all: $(OCL_LIB) $(EXECS) +all: $(OBJ_DIR) $(OCL_LIB) $(EXECS) + +$(OBJ_DIR): + mkdir -p $@ $(OBJ_DIR)/atom_cl.h: lal_atom.cu lal_preprocessor.h $(BSH) ./geryon/file_to_cstr.sh atom lal_preprocessor.h lal_atom.cu $(OBJ_DIR)/atom_cl.h diff --git a/lib/linalg/Makefile.mingw32-cross b/lib/linalg/Makefile.mingw32-cross new file mode 100755 index 0000000000..3facd2b009 --- /dev/null +++ b/lib/linalg/Makefile.mingw32-cross @@ -0,0 +1,85 @@ +# * +# *_________________________________________________________________________* +# * Minimal BLAS/LAPACK Library for ATC and AWPMD + +# To compile and link LAMMPS to the linalg library generated by this Makefile, +# adjust the corresponding definitions in the library's Makefile.lammps file. +# +# for lib/atc/Makefile.lammps use: +# user-atc_SYSINC = +# user-atc_SYSLIB = ../../lib/linalg/$(LIBOBJDIR)liblinalg.a -lgfortran +# user-atc_SYSPATH = +# +# for lib/awpmd/Makefile.lammps use: +# user-awpmd_SYSINC = +# user-awpmd_SYSLIB = ../../lib/linalg/$(LIBOBJDIR)liblinalg.a -lgfortran +# user-awpmd_SYSPATH = + +SHELL = /bin/sh + +# ------ FILES ------ + +SRC = dasum.f daxpy.f dcopy.f ddot.f dgecon.f dgemm.f dgemv.f dger.f \ + dgetf2.f dgetrf.f dgetri.f disnan.f dlabad.f dlaisnan.f dlamch.f\ + dlacn2.f dlange.f dlassq.f dlaswp.f dlatrs.f drscl.f dscal.f \ + dswap.f dtrmm.f dtrmv.f dtrsm.f dtrsv.f dtrti2.f dtrtri.f \ + idamax.f ieeeck.f ilaenv.f iparmq.f lsame.f xerbla.f zdotc.f \ + zdscal.f zhpr.f zpptrf.f zpptri.f zscal.f ztpmv.f ztpsv.f ztptri.f + +FILES = $(SRC) Makefile.* README + +# ------ DEFINITIONS ------ + +DIR = Obj_mingw32/ +LIB = $(DIR)liblinalg.a +OBJ = $(SRC:%.f=$(DIR)%.o) + +# ------ SETTINGS ------ + +FC = i686-w64-mingw32-gfortran +FFLAGS = -O3 -march=i686 -mtune=generic -mfpmath=387 -mpc64 \ + -ffast-math -funroll-loops -fstrict-aliasing -Wall -W \ + -Wno-uninitialized -fno-second-underscore +FFLAGS0 = -O0 -march=i686 -mtune=generic -mfpmath=387 -mpc64 \ + -Wall -W -Wno-uninitialized -fno-second-underscore +ARCHIVE = i686-w64-mingw32-ar +AR = i686-w64-mingw32-ar +ARCHFLAG = -rcs +USRLIB = +SYSLIB = + +.PHONY: default clean tar + +.SUFFIXES: +.SUFFIXES: .F .f .o + +# ------ MAKE PROCEDURE ------ + +default: $(DIR) $(LIB) + +$(LIB): $(OBJ) + $(ARCHIVE) $(ARFLAGS) $(LIB) $(OBJ) + +$(DIR): + mkdir $(DIR) + +# ------ COMPILE RULES ------ + +$(DIR)%.o:%.F + $(F90) $(F90FLAGS) -c $< -o $@ + +$(DIR)%.o:%.f + $(FC) $(FFLAGS) -c $< -o $@ + +$(DIR)dlamch.o: dlamch.f + $(FC) $(FFLAGS0) -c $< -o $@ + +# ------ CLEAN ------ + +clean: + -rm $(DIR)*.o $(DIR)*.mod *~ $(LIB) + -rmdir $(DIR) + +tar: + -tar -czvf ../linalg.tar.gz $(FILES) + diff --git a/lib/linalg/Makefile.mingw32-cross-mpi b/lib/linalg/Makefile.mingw32-cross-mpi new file mode 100644 index 0000000000..cc2a76111a --- /dev/null +++ b/lib/linalg/Makefile.mingw32-cross-mpi @@ -0,0 +1,13 @@ +# -*- makefile -*- wrapper for non-MPI libraries + +SHELL=/bin/sh + +all: + $(MAKE) $(MFLAGS) mingw32-cross + rm -f Obj_mingw32-mpi + ln -s Obj_mingw32 Obj_mingw32-mpi + +clean: + $(MAKE) $(MFLAGS) clean-mingw32-cross + rm -f Obj_mingw32-mpi + diff --git a/lib/linalg/Makefile.mingw64-cross b/lib/linalg/Makefile.mingw64-cross new file mode 100755 index 0000000000..fa918a2287 --- /dev/null +++ b/lib/linalg/Makefile.mingw64-cross @@ -0,0 +1,85 @@ +# * +# *_________________________________________________________________________* +# * Minimal BLAS/LAPACK Library for ATC and AWPMD + +# To compile and link LAMMPS to the linalg library generated by this Makefile, +# adjust the corresponding definitions in the library's Makefile.lammps file. +# +# for lib/atc/Makefile.lammps use: +# user-atc_SYSINC = +# user-atc_SYSLIB = ../../lib/linalg/$(LIBOBJDIR)liblinalg.a -lgfortran +# user-atc_SYSPATH = +# +# for lib/awpmd/Makefile.lammps use: +# user-awpmd_SYSINC = +# user-awpmd_SYSLIB = ../../lib/linalg/$(LIBOBJDIR)liblinalg.a -lgfortran +# user-awpmd_SYSPATH = + +SHELL = /bin/sh + +# ------ FILES ------ + +SRC = dasum.f daxpy.f dcopy.f ddot.f dgecon.f dgemm.f dgemv.f dger.f \ + dgetf2.f dgetrf.f dgetri.f disnan.f dlabad.f dlaisnan.f dlamch.f\ + dlacn2.f dlange.f dlassq.f dlaswp.f dlatrs.f drscl.f dscal.f \ + dswap.f dtrmm.f dtrmv.f dtrsm.f dtrsv.f dtrti2.f dtrtri.f \ + idamax.f ieeeck.f ilaenv.f iparmq.f lsame.f xerbla.f zdotc.f \ + zdscal.f zhpr.f zpptrf.f zpptri.f zscal.f ztpmv.f ztpsv.f ztptri.f + +FILES = $(SRC) Makefile.* README + +# ------ DEFINITIONS ------ + +DIR = Obj_mingw64/ +LIB = $(DIR)liblinalg.a +OBJ = $(SRC:%.f=$(DIR)%.o) + +# ------ SETTINGS ------ + +FC = x86_64-w64-mingw32-gfortran +FFLAGS = -O3 -march=core2 -mtune=generic -msse2 -mpc64 \ + -ffast-math -funroll-loops -fstrict-aliasing -Wall -W \ + -Wno-uninitialized -fno-second-underscore +FFLAGS0 = -O0 -march=core2 -mtune=generic -msse2 -mpc64 \ + -Wall -W -Wno-uninitialized -fno-second-underscore +ARCHIVE = x86_64-w64-mingw32-ar +AR = x86_64-w64-mingw32-ar +ARCHFLAG = -rcs +USRLIB = +SYSLIB = + +.PHONY: default clean tar + +.SUFFIXES: +.SUFFIXES: .F .f .o + +# ------ MAKE PROCEDURE ------ + +default: $(DIR) $(LIB) + +$(LIB): $(OBJ) + $(ARCHIVE) $(ARFLAGS) $(LIB) $(OBJ) + +$(DIR): + mkdir $(DIR) + +# ------ COMPILE RULES ------ + +$(DIR)%.o:%.F + $(F90) $(F90FLAGS) -c $< -o $@ + +$(DIR)%.o:%.f + $(FC) $(FFLAGS) -c $< -o $@ + +$(DIR)dlamch.o: dlamch.f + $(FC) $(FFLAGS0) -c $< -o $@ + +# ------ CLEAN ------ + +clean: + -rm $(DIR)*.o $(DOR)*.mod *~ $(LIB) + -rmdir $(DIR) + +tar: + -tar -czvf ../linalg.tar.gz $(FILES) + diff --git a/lib/linalg/Makefile.mingw64-cross-mpi b/lib/linalg/Makefile.mingw64-cross-mpi new file mode 100644 index 0000000000..1ec1a0995b --- /dev/null +++ b/lib/linalg/Makefile.mingw64-cross-mpi @@ -0,0 +1,13 @@ +# -*- makefile -*- wrapper for non-MPI libraries + +SHELL=/bin/sh + +all: + $(MAKE) $(MFLAGS) mingw64-cross + rm -f Obj_mingw64-mpi + ln -s Obj_mingw64 Obj_mingw64-mpi + +clean: + $(MAKE) $(MFLAGS) clean-mingw64-cross + rm -f Obj_mingw64-mpi + diff --git a/lib/meam/Makefile.mingw32-cross b/lib/meam/Makefile.mingw32-cross new file mode 100644 index 0000000000..ee6516d200 --- /dev/null +++ b/lib/meam/Makefile.mingw32-cross @@ -0,0 +1,65 @@ +# * -*- makefile -*- +# *_________________________________________________________________________* +# * MEAM: MODEFIED EMBEDDED ATOM METHOD * +# * DESCRIPTION: SEE READ-ME * +# * FILE NAME: Makefile * +# * AUTHORS: Greg Wagner, Sandia National Laboratories * +# * CONTACT: gjwagne@sandia.gov * +# *_________________________________________________________________________*/ + +SHELL = /bin/sh + +# which file will be copied to Makefile.lammps + +EXTRAMAKE = Makefile.lammps.gfortran + +# ------ FILES ------ + +SRC = meam_data.F meam_setup_done.F meam_setup_global.F meam_setup_param.F meam_dens_init.F meam_dens_final.F meam_force.F meam_cleanup.F + +FILES = $(SRC) Makefile + +# ------ DEFINITIONS ------ + +DIR = Obj_mingw32/ +LIB = $(DIR)libmeam.a +OBJ = $(SRC:%.F=$(DIR)%.o) + +# ------ SETTINGS ------ + +F90 = i686-w64-mingw32-gfortran +F90FLAGS = -O3 -march=i686 -mtune=generic -mfpmath=387 -mpc64 \ + -ffast-math -funroll-loops -fstrict-aliasing -J$(DIR) \ + -Wall -W -Wno-uninitialized -fno-second-underscore +#F90FLAGS = -O +ARCHIVE = i686-w64-mingw32-ar +ARCHFLAG = -rcs +LINK = i686-w64-mingw32-g++ +LINKFLAGS = -O +USRLIB = +SYSLIB = + +# ------ MAKE PROCEDURE ------ + +default: $(DIR) $(LIB) + +$(DIR): + -mkdir $(DIR) + +$(LIB): $(OBJ) + $(ARCHIVE) $(ARFLAGS) $(LIB) $(OBJ) + @cp $(EXTRAMAKE) Makefile.lammps + +# ------ COMPILE RULES ------ + +$(DIR)%.o:%.F + $(F90) $(F90FLAGS) -c $< -o $@ + +# ------ CLEAN ------ + +clean: + -rm $(DIR)*.o $(DIR)*.mod *~ $(LIB) + -rmdir $(DIR) + +tar: + -tar -cvf ../MEAM.tar $(FILES) diff --git a/lib/meam/Makefile.mingw32-cross-mpi b/lib/meam/Makefile.mingw32-cross-mpi new file mode 100644 index 0000000000..cc2a76111a --- /dev/null +++ b/lib/meam/Makefile.mingw32-cross-mpi @@ -0,0 +1,13 @@ +# -*- makefile -*- wrapper for non-MPI libraries + +SHELL=/bin/sh + +all: + $(MAKE) $(MFLAGS) mingw32-cross + rm -f Obj_mingw32-mpi + ln -s Obj_mingw32 Obj_mingw32-mpi + +clean: + $(MAKE) $(MFLAGS) clean-mingw32-cross + rm -f Obj_mingw32-mpi + diff --git a/lib/meam/Makefile.mingw64-cross b/lib/meam/Makefile.mingw64-cross new file mode 100644 index 0000000000..4cfccc80c9 --- /dev/null +++ b/lib/meam/Makefile.mingw64-cross @@ -0,0 +1,65 @@ +# * -*- makefile -*- +# *_________________________________________________________________________* +# * MEAM: MODEFIED EMBEDDED ATOM METHOD * +# * DESCRIPTION: SEE READ-ME * +# * FILE NAME: Makefile * +# * AUTHORS: Greg Wagner, Sandia National Laboratories * +# * CONTACT: gjwagne@sandia.gov * +# *_________________________________________________________________________*/ + +SHELL = /bin/sh + +# which file will be copied to Makefile.lammps + +EXTRAMAKE = Makefile.lammps.gfortran + +# ------ FILES ------ + +SRC = meam_data.F meam_setup_done.F meam_setup_global.F meam_setup_param.F meam_dens_init.F meam_dens_final.F meam_force.F meam_cleanup.F + +FILES = $(SRC) Makefile + +# ------ DEFINITIONS ------ + +DIR = Obj_mingw64/ +LIB = $(DIR)libmeam.a +OBJ = $(SRC:%.F=$(DIR)%.o) + +# ------ SETTINGS ------ + +F90 = x86_64-w64-mingw32-gfortran +F90FLAGS = -O3 -march=core2 -mtune=core2 -msse2 -mpc64 \ + -ffast-math -funroll-loops -fstrict-aliasing -J$(DIR) \ + -Wall -W -Wno-uninitialized -fno-second-underscore +#F90FLAGS = -O +ARCHIVE = x86_64-w64-mingw32-ar +ARCHFLAG = -rcs +LINK = x86_64-w64-mingw32-g++ +LINKFLAGS = -O +USRLIB = +SYSLIB = + +# ------ MAKE PROCEDURE ------ + +default: $(DIR) $(LIB) + +$(DIR): + -mkdir $(DIR) + +$(LIB): $(OBJ) + $(ARCHIVE) $(ARFLAGS) $(LIB) $(OBJ) + @cp $(EXTRAMAKE) Makefile.lammps + +# ------ COMPILE RULES ------ + +$(DIR)%.o:%.F + $(F90) $(F90FLAGS) -c $< -o $@ + +# ------ CLEAN ------ + +clean: + -rm $(DIR)*.o $(DIR)*.mod *~ $(LIB) + -rmdir $(DIR) + +tar: + -tar -cvf ../MEAM.tar $(FILES) diff --git a/lib/meam/Makefile.mingw64-cross-mpi b/lib/meam/Makefile.mingw64-cross-mpi new file mode 100644 index 0000000000..1ec1a0995b --- /dev/null +++ b/lib/meam/Makefile.mingw64-cross-mpi @@ -0,0 +1,13 @@ +# -*- makefile -*- wrapper for non-MPI libraries + +SHELL=/bin/sh + +all: + $(MAKE) $(MFLAGS) mingw64-cross + rm -f Obj_mingw64-mpi + ln -s Obj_mingw64 Obj_mingw64-mpi + +clean: + $(MAKE) $(MFLAGS) clean-mingw64-cross + rm -f Obj_mingw64-mpi + diff --git a/lib/poems/Makefile.mingw32-cross b/lib/poems/Makefile.mingw32-cross new file mode 100644 index 0000000000..3a32f05955 --- /dev/null +++ b/lib/poems/Makefile.mingw32-cross @@ -0,0 +1,113 @@ +# * +# *_________________________________________________________________________* +# * POEMS: PARALLELIZABLE OPEN SOURCE EFFICIENT MULTIBODY SOFTWARE * +# * DESCRIPTION: SEE READ-ME * +# * FILE NAME: Makefile * +# * AUTHORS: See Author List * +# * GRANTS: See Grants List * +# * COPYRIGHT: (C) 2005 by Authors as listed in Author's List * +# * LICENSE: Please see License Agreement * +# * DOWNLOAD: Free at www.rpi.edu/~anderk5 * +# * ADMINISTRATOR: Prof. Kurt Anderson * +# * Computational Dynamics Lab * +# * Rensselaer Polytechnic Institute * +# * 110 8th St. Troy NY 12180 * +# * CONTACT: anderk5@rpi.edu * +# *_________________________________________________________________________*/ + +SHELL = /bin/sh + +# which file will be copied to Makefile.lammps + +EXTRAMAKE = Makefile.lammps.empty + +# ------ FILES ------ + +SRC_MAIN = workspace.cpp system.cpp poemsobject.cpp +INC_MAIN = workspace.h system.h poemsobject.h + +SRC_BODY = body.cpp rigidbody.cpp particle.cpp inertialframe.cpp +INC_BODY = bodies.h body.h rigidbody.h particle.h inertialframe.h + + +SRC_JOINT = joint.cpp revolutejoint.cpp prismaticjoint.cpp sphericaljoint.cpp \ + freebodyjoint.cpp body23joint.cpp mixedjoint.cpp +INC_JOINT = joints.h joint.h revolutejoint.h prismaticjoint.h sphericaljoint.h \ + freebodyjoint.h body23joint.h mixedjoint.h + +SRC_POINT = point.cpp fixedpoint.cpp +INC_POINT = points.h point.h fixedpoint.h + +SRC_SOLVE = solver.cpp +INC_SOLVE = solver.h + +SRC_ORDERN = onsolver.cpp onfunctions.cpp onbody.cpp +INC_ORDERN = onsolver.h onfunctions.h onbody.h + +SRC_MAT = virtualmatrix.cpp matrix.cpp matrixfun.cpp mat3x3.cpp virtualcolmatrix.cpp \ + colmatrix.cpp vect3.cpp virtualrowmatrix.cpp rowmatrix.cpp mat6x6.cpp vect6.cpp \ + fastmatrixops.cpp colmatmap.cpp eulerparameters.cpp vect4.cpp norm.cpp mat4x4.cpp \ + +INC_MAT = matrices.h virtualmatrix.h matrix.h matrixfun.h mat3x3.h virtualcolmatrix.h \ + colmatrix.h vect3.h virtualrowmatrix.h rowmatrix.h mat6x6.h vect6.h \ + fastmatrixops.h colmatmap.h eulerparameters.h vect4.h norm.h mat4x4.h + +SRC_MISC = poemstreenode.cpp +INC_MISC = poemslist.h poemstreenode.h poemstree.h poemsnodelib.h SystemProcessor.h defines.h POEMSChain.h + +SRC = $(SRC_MAIN) $(SRC_BODY) $(SRC_JOINT) $(SRC_POINT) $(SRC_SOLVE) $(SRC_ORDERN) $(SRC_MAT) $(SRC_MISC) +INC = $(INC_MAIN) $(INC_BODY) $(INC_JOINT) $(INC_POINT) $(INC_SOLVE) $(INC_ORDERN) $(INC_MAT) $(INC_MISC) + +FILES = $(SRC) $(INC) Makefile Authors_List.txt Grants_List.txt POEMS_License.txt README Copyright_Notice + +# ------ DEFINITIONS ------ + +DIR = Obj_mingw32/ +LIB = $(DIR)libpoems.a +OBJ = $(SRC:%.cpp=$(DIR)%.o) + +# ------ SETTINGS ------ + +CC = i686-w64-mingw32-g++ +CCFLAGS = -O2 -march=i686 -mtune=generic -mfpmath=387 -mpc64 \ + -ffast-math -funroll-loops -finline-functions -fno-rtti \ + -fno-exceptions -fstrict-aliasing \ + -Wall -W -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) + +$(DIR): + -mkdir $(DIR) + +$(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) + +tar: + -tar -cvf ../POEMS.tar $(FILES) diff --git a/lib/poems/Makefile.mingw32-cross-mpi b/lib/poems/Makefile.mingw32-cross-mpi new file mode 100644 index 0000000000..cc2a76111a --- /dev/null +++ b/lib/poems/Makefile.mingw32-cross-mpi @@ -0,0 +1,13 @@ +# -*- makefile -*- wrapper for non-MPI libraries + +SHELL=/bin/sh + +all: + $(MAKE) $(MFLAGS) mingw32-cross + rm -f Obj_mingw32-mpi + ln -s Obj_mingw32 Obj_mingw32-mpi + +clean: + $(MAKE) $(MFLAGS) clean-mingw32-cross + rm -f Obj_mingw32-mpi + diff --git a/lib/poems/Makefile.mingw64-cross b/lib/poems/Makefile.mingw64-cross new file mode 100644 index 0000000000..4fcbe1d23a --- /dev/null +++ b/lib/poems/Makefile.mingw64-cross @@ -0,0 +1,113 @@ +# * +# *_________________________________________________________________________* +# * POEMS: PARALLELIZABLE OPEN SOURCE EFFICIENT MULTIBODY SOFTWARE * +# * DESCRIPTION: SEE READ-ME * +# * FILE NAME: Makefile * +# * AUTHORS: See Author List * +# * GRANTS: See Grants List * +# * COPYRIGHT: (C) 2005 by Authors as listed in Author's List * +# * LICENSE: Please see License Agreement * +# * DOWNLOAD: Free at www.rpi.edu/~anderk5 * +# * ADMINISTRATOR: Prof. Kurt Anderson * +# * Computational Dynamics Lab * +# * Rensselaer Polytechnic Institute * +# * 110 8th St. Troy NY 12180 * +# * CONTACT: anderk5@rpi.edu * +# *_________________________________________________________________________*/ + +SHELL = /bin/sh + +# which file will be copied to Makefile.lammps + +EXTRAMAKE = Makefile.lammps.empty + +# ------ FILES ------ + +SRC_MAIN = workspace.cpp system.cpp poemsobject.cpp +INC_MAIN = workspace.h system.h poemsobject.h + +SRC_BODY = body.cpp rigidbody.cpp particle.cpp inertialframe.cpp +INC_BODY = bodies.h body.h rigidbody.h particle.h inertialframe.h + + +SRC_JOINT = joint.cpp revolutejoint.cpp prismaticjoint.cpp sphericaljoint.cpp \ + freebodyjoint.cpp body23joint.cpp mixedjoint.cpp +INC_JOINT = joints.h joint.h revolutejoint.h prismaticjoint.h sphericaljoint.h \ + freebodyjoint.h body23joint.h mixedjoint.h + +SRC_POINT = point.cpp fixedpoint.cpp +INC_POINT = points.h point.h fixedpoint.h + +SRC_SOLVE = solver.cpp +INC_SOLVE = solver.h + +SRC_ORDERN = onsolver.cpp onfunctions.cpp onbody.cpp +INC_ORDERN = onsolver.h onfunctions.h onbody.h + +SRC_MAT = virtualmatrix.cpp matrix.cpp matrixfun.cpp mat3x3.cpp virtualcolmatrix.cpp \ + colmatrix.cpp vect3.cpp virtualrowmatrix.cpp rowmatrix.cpp mat6x6.cpp vect6.cpp \ + fastmatrixops.cpp colmatmap.cpp eulerparameters.cpp vect4.cpp norm.cpp mat4x4.cpp \ + +INC_MAT = matrices.h virtualmatrix.h matrix.h matrixfun.h mat3x3.h virtualcolmatrix.h \ + colmatrix.h vect3.h virtualrowmatrix.h rowmatrix.h mat6x6.h vect6.h \ + fastmatrixops.h colmatmap.h eulerparameters.h vect4.h norm.h mat4x4.h + +SRC_MISC = poemstreenode.cpp +INC_MISC = poemslist.h poemstreenode.h poemstree.h poemsnodelib.h SystemProcessor.h defines.h POEMSChain.h + +SRC = $(SRC_MAIN) $(SRC_BODY) $(SRC_JOINT) $(SRC_POINT) $(SRC_SOLVE) $(SRC_ORDERN) $(SRC_MAT) $(SRC_MISC) +INC = $(INC_MAIN) $(INC_BODY) $(INC_JOINT) $(INC_POINT) $(INC_SOLVE) $(INC_ORDERN) $(INC_MAT) $(INC_MISC) + +FILES = $(SRC) $(INC) Makefile Authors_List.txt Grants_List.txt POEMS_License.txt README Copyright_Notice + +# ------ DEFINITIONS ------ + +DIR = Obj_mingw64/ +LIB = $(DIR)libpoems.a +OBJ = $(SRC:%.cpp=$(DIR)%.o) + +# ------ SETTINGS ------ + +CC = x86_64-w64-mingw32-g++ +CCFLAGS = -O2 -march=core2 -mtune=core2 -msse2 -mpc64 \ + -ffast-math -funroll-loops -finline-functions -fno-rtti \ + -fno-exceptions -fstrict-aliasing \ + -Wall -W -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) + +$(DIR): + -mkdir $(DIR) + +$(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) + +tar: + -tar -cvf ../POEMS.tar $(FILES) diff --git a/lib/poems/Makefile.mingw64-cross-mpi b/lib/poems/Makefile.mingw64-cross-mpi new file mode 100644 index 0000000000..1ec1a0995b --- /dev/null +++ b/lib/poems/Makefile.mingw64-cross-mpi @@ -0,0 +1,13 @@ +# -*- makefile -*- wrapper for non-MPI libraries + +SHELL=/bin/sh + +all: + $(MAKE) $(MFLAGS) mingw64-cross + rm -f Obj_mingw64-mpi + ln -s Obj_mingw64 Obj_mingw64-mpi + +clean: + $(MAKE) $(MFLAGS) clean-mingw64-cross + rm -f Obj_mingw64-mpi + -- GitLab