diff --git a/Src/Extern/openPMD-api/Make.package b/Src/Extern/openPMD-api/Make.package new file mode 100644 index 00000000000..f6ce7cae466 --- /dev/null +++ b/Src/Extern/openPMD-api/Make.package @@ -0,0 +1,6 @@ +CEXE_sources += AMReX_PlotFileOPENPMD.cpp AMReX_PlotFileOPENPMD_PTL.cpp AMReX_PlotFileUtilOPENPMD.cpp + +CEXE_headers += AMReX_ParticlesOPENPMD.H AMReX_PlotFileUtilOPENPMD.H AMReX_PlotFileUtilOPENPMD_PTLImpl.H + +VPATH_LOCATIONS += $(AMREX_HOME)/Src/Extern/openPMD-api +INCLUDE_LOCATIONS += $(AMREX_HOME)/Src/Extern/openPMD-api diff --git a/Tests/openPMDTests/fields/GNUmakefile b/Tests/openPMDTests/fields/GNUmakefile new file mode 100644 index 00000000000..7e2b86dff4f --- /dev/null +++ b/Tests/openPMDTests/fields/GNUmakefile @@ -0,0 +1,25 @@ +DEBUG = FALSE + +USE_MPI = TRUE +USE_OMP = FALSE + +USE_OPENPMD = TRUE + +COMP = gnu + +DIM = 3 + +AMREX_HOME = ../../.. + +include $(AMREX_HOME)/Tools/GNUMake/Make.defs + +include ./Make.package + +Pdirs := Base + +Ppack += $(foreach dir, $(Pdirs), $(AMREX_HOME)/Src/$(dir)/Make.package) + +include $(Ppack) + +include $(AMREX_HOME)/Tools/GNUMake/Make.rules + diff --git a/Tests/openPMDTests/fields/Make.package b/Tests/openPMDTests/fields/Make.package new file mode 100644 index 00000000000..6b4b865e8fc --- /dev/null +++ b/Tests/openPMDTests/fields/Make.package @@ -0,0 +1 @@ +CEXE_sources += main.cpp diff --git a/Tests/openPMDTests/ptls/GNUmakefile b/Tests/openPMDTests/ptls/GNUmakefile index a95f65859e1..0eaf664cf9d 100644 --- a/Tests/openPMDTests/ptls/GNUmakefile +++ b/Tests/openPMDTests/ptls/GNUmakefile @@ -15,6 +15,8 @@ PRECISION = DOUBLE USE_MPI = TRUE USE_OMP = FALSE +USE_OPENPMD = TRUE + ################################################### EBASE = main @@ -22,9 +24,11 @@ EBASE = main include $(AMREX_HOME)/Tools/GNUMake/Make.defs include ./Make.package -include $(AMREX_HOME)/Src/Base/Make.package -include $(AMREX_HOME)/Src/Boundary/Make.package -include $(AMREX_HOME)/Src/Particle/Make.package -include $(AMREX_HOME)/Src/AmrCore/Make.package + +Pdirs := Base Boundary Particle AmrCore + +Ppack += $(foreach dir, $(Pdirs), $(AMREX_HOME)/Src/$(dir)/Make.package) + +include $(Ppack) include $(AMREX_HOME)/Tools/GNUMake/Make.rules diff --git a/Tools/GNUMake/Make.defs b/Tools/GNUMake/Make.defs index 8ec8832d1eb..c694bbcba66 100644 --- a/Tools/GNUMake/Make.defs +++ b/Tools/GNUMake/Make.defs @@ -299,6 +299,12 @@ else USE_HDF5 := FALSE endif +ifdef USE_OPENPMD + USE_OPENPMD := $(strip $(USE_OPENPMD)) +else + USE_OPENPMD := FALSE +endif + ifdef EBASE EBASE := $(strip $(EBASE)) else @@ -1067,6 +1073,11 @@ ifeq ($(USE_HDF5),TRUE) include $(AMREX_HOME)/Tools/GNUMake/packages/Make.hdf5 endif +ifeq ($(USE_OPENPMD),TRUE) + $(info Loading $(AMREX_HOME)/Tools/GNUMake/packages/Make.openpmd...) + include $(AMREX_HOME)/Tools/GNUMake/packages/Make.openpmd +endif + ifeq ($(USE_BITTREE),TRUE) $(info Loading $(AMREX_HOME)/Tools/GNUMake/packages/Make.bittree...) include $(AMREX_HOME)/Tools/GNUMake/packages/Make.bittree diff --git a/Tools/GNUMake/packages/Make.openpmd b/Tools/GNUMake/packages/Make.openpmd new file mode 100644 index 00000000000..c0c57676e7f --- /dev/null +++ b/Tools/GNUMake/packages/Make.openpmd @@ -0,0 +1,20 @@ +CPPFLAGS += -DAMREX_USE_OPENPMD_API +include $(AMREX_HOME)/Src/Extern/openPMD-api/Make.package + +ifndef AMREX_OPENPMD_HOME +ifdef OPENPMD_DIR + AMREX_OPENPMD_HOME = $(OPENPMD_DIR) +endif +ifdef OPENPMD_HOME + AMREX_OPENPMD_HOME = $(OPENPMD_HOME) +endif +endif + +LIBRARIES += -lopenPMD + +ifdef AMREX_OPENPMD_HOME + OPENPMD_ABSPATH = $(abspath $(AMREX_OPENPMD_HOME)) + SYSTEM_INCLUDE_LOCATIONS += $(OPENPMD_ABSPATH)/include + LIBRARY_LOCATIONS += $(OPENPMD_ABSPATH)/lib + LDFLAGS += -Xlinker -rpath -Xlinker $(OPENPMD_ABSPATH)/lib +endif