Created
January 17, 2021 11:21
-
-
Save smhr/fc9ae84ac661dea6948b5ce51e1c2f36 to your computer and use it in GitHub Desktop.
ENZO Make.config.assemble for scicluster
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#----------------------------------------------------------------------- | |
# | |
# This make include file is used for assigning appropriate values to | |
# the following variables given CONFIG_* and MACH_* variables: | |
# | |
# Compilers | |
# | |
# CPP C preprocessor | |
# CC C compiler | |
# CXX C++ compiler | |
# FC Fortran 77 compiler | |
# F90 Fortran 90 compiler | |
# LD Linker | |
# | |
# Compiler flags | |
# | |
# CPPFLAGS Flags for the C preprocessor | |
# CFLAGS Flags for the C compiler | |
# CXXFLAGS Flags for the C++ compiler | |
# FFLAGS Flags for the Fortran 77 compiler | |
# F90FLAGS Flags for the Fortran 90 compiler | |
# LDFLAGS Flags for the Linker | |
# | |
# Object files | |
# | |
# OBJS List of all object files to compile | |
# OBJS_LIB Same list, without X_Main.o | |
# | |
# | |
# Libraries | |
# | |
# LIBS List of all libraries to link | |
# | |
#----------------------------------------------------------------------- | |
#----------------------------------------------------------------------- | |
# SET PARAMETER DEFINES FOR HARKNESS VERSION 2008-05-15 | |
#----------------------------------------------------------------------- | |
ASSEMBLE_PARAMETER_DEFINES = \ | |
-D__max_subgrids=$(PARAMETER_MAX_SUBGRIDS) \ | |
-D__max_baryons=$(PARAMETER_MAX_BARYONS) \ | |
-D__max_cpu_per_node=$(PARAMETER_MAX_TASKS_PER_NODE) \ | |
-D__memory_pool_size=$(PARAMETER_MEMORY_POOL_SIZE) | |
#----------------------------------------------------------------------- | |
# DETERMINE INTEGER SIZE SETTINGS FOR PARTICLE INDICES | |
#----------------------------------------------------------------------- | |
ERROR_IDS = 1 | |
# Settings for 32-bit integers | |
ifeq ($(CONFIG_PARTICLE_IDS),32) | |
ERROR_IDS = 0 | |
ASSEMBLE_IDS_DEFINES = -DCONFIG_PINT_4 | |
endif | |
# Settings for 64-bit integers | |
ifeq ($(CONFIG_PARTICLE_IDS),64) | |
ERROR_IDS = 0 | |
ASSEMBLE_IDS_DEFINES = -DCONFIG_PINT_8 | |
endif | |
# error if CONFIG_INTEGERS is incorrect | |
ifeq ($(ERROR_IDS),1) | |
.PHONY: error_ids | |
error_ids: | |
$(error Illegal value '$(CONFIG_PARTICLE_IDS)' for $$(CONFIG_PARTICLE_IDS)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE INTEGER SIZE SETTINGS | |
#----------------------------------------------------------------------- | |
ERROR_INTEGERS = 1 | |
# Settings for 32-bit integers | |
ifeq ($(CONFIG_INTEGERS),32) | |
ERROR_INTEGERS = 0 | |
ASSEMBLE_INTEGER_DEFINES = -DSMALL_INTS | |
endif | |
# Settings for 64-bit integers | |
ifeq ($(CONFIG_INTEGERS),64) | |
ERROR_INTEGERS = 0 | |
ASSEMBLE_INTEGER_DEFINES = -DLARGE_INTS | |
endif | |
# error if CONFIG_INTEGERS is incorrect | |
ifeq ($(ERROR_INTEGERS),1) | |
.PHONY: error_integers | |
error_integers: | |
$(error Illegal value '$(CONFIG_INTEGERS)' for $$(CONFIG_INTEGERS)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE FLOATING POINT PRECISION SETTINGS | |
#----------------------------------------------------------------------- | |
ERROR_PRECISION = 1 | |
# Settings for 32-bit floating point baryon precision | |
ifeq ($(CONFIG_PRECISION),32) | |
ERROR_PRECISION = 0 | |
ASSEMBLE_PRECISION_DEFINES = -DCONFIG_BFLOAT_4 | |
ASSEMBLE_PRECISION_NUMBER = 4 | |
endif | |
# Settings for 64-bit floating point baryon precision | |
ifeq ($(CONFIG_PRECISION),64) | |
ERROR_PRECISION = 0 | |
ASSEMBLE_PRECISION_DEFINES = -DCONFIG_BFLOAT_8 | |
ASSEMBLE_PRECISION_NUMBER = 8 | |
endif | |
# error if CONFIG_PRECISION is incorrect | |
ifeq ($(ERROR_PRECISION),1) | |
.PHONY: error_precision | |
error_precision: | |
$(error Illegal value '$(CONFIG_PRECISION)' for $$(CONFIG_PRECISION)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE PARTICLE PRECISION SETTINGS | |
#----------------------------------------------------------------------- | |
ERROR_PARTICLES = 1 | |
# Settings for 32-bit particle position precision | |
ifeq ($(CONFIG_PARTICLES),32) | |
ERROR_PARTICLES = 0 | |
ASSEMBLE_PARTICLES_DEFINES = -DCONFIG_PFLOAT_4 | |
ASSEMBLE_PARTICLE_NUMBER = 4 | |
endif | |
# Settings for 64-bit particle position precision | |
ifeq ($(CONFIG_PARTICLES),64) | |
ERROR_PARTICLES = 0 | |
ASSEMBLE_PARTICLES_DEFINES = -DCONFIG_PFLOAT_8 | |
ASSEMBLE_PARTICLE_NUMBER = 8 | |
endif | |
# Settings for 128-bit particle position precision | |
ifeq ($(CONFIG_PARTICLES),128) | |
ERROR_PARTICLES = 0 | |
ASSEMBLE_PARTICLES_DEFINES = -DCONFIG_PFLOAT_16 | |
ASSEMBLE_PARTICLE_NUMBER = 16 | |
endif | |
# error if CONFIG_PARTICLES is incorrect | |
ifeq ($(ERROR_PARTICLES),1) | |
.PHONY: error_particles | |
error_particles: | |
$(error Illegal value '$(CONFIG_PARTICLES)' for $$(CONFIG_PARTICLES)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE INITS PRECISION | |
#----------------------------------------------------------------------- | |
ERROR_INITS = 1 | |
# Settings for 32-bit inits | |
ifeq ($(CONFIG_INITS),32) | |
ERROR_INITS = 0 | |
ASSEMBLE_INITS_DEFINES = -DINITS32 | |
endif | |
# Settings for 64-bit inits | |
ifeq ($(CONFIG_INITS),64) | |
ERROR_INITS = 0 | |
ASSEMBLE_INITS_DEFINES = -DINITS64 | |
endif | |
# error if CONFIG_INITS is incorrect | |
ifeq ($(ERROR_INITS),1) | |
.PHONY: error_inits | |
error_inits: ; $(error Illegal value $(CONFIG_INITS) for $$(CONFIG_INITS)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE IO PRECISION SETTINGS | |
#----------------------------------------------------------------------- | |
ERROR_IO = 1 | |
# Settings for 32-bit I/O | |
ifeq ($(CONFIG_IO),32) | |
ERROR_IO = 0 | |
ASSEMBLE_IO_DEFINES = -DIO_32 | |
endif | |
# Settings for 64-bit io | |
ifeq ($(CONFIG_IO),64) | |
ERROR_IO = 0 | |
ASSEMBLE_IO_DEFINES = -DIO_64 | |
endif | |
# error if CONFIG_IO is incorrect | |
ifeq ($(ERROR_IO),1) | |
.PHONY: error_io | |
error_io: | |
$(error Illegal value '$(CONFIG_IO)' for $$(CONFIG_IO)) | |
endif | |
#======================================================================= | |
# DETERMINE MPI USAGE | |
#======================================================================= | |
ERROR_USE_MPI = 1 | |
ASSEMBLE_CPP = $(MACH_CPP) | |
# compilers and settings if USE_MPI is yes | |
ifeq ($(CONFIG_USE_MPI),yes) | |
ERROR_USE_MPI = 0 | |
ASSEMBLE_CC = $(MACH_CC_MPI) | |
ASSEMBLE_CXX = $(MACH_CXX_MPI) | |
ASSEMBLE_FC = $(MACH_FC_MPI) | |
ASSEMBLE_F90 = $(MACH_F90_MPI) | |
ASSEMBLE_LD = $(MACH_LD_MPI) | |
ASSEMBLE_MPI_DEFINES = -DUSE_MPI | |
ASSEMBLE_MPI_INCLUDES = $(MACH_INCLUDES_MPI) | |
ASSEMBLE_MPI_LIBS = $(MACH_LIBS_MPI) | |
endif | |
# compilers and settings if USE_MPI is no | |
ifeq ($(CONFIG_USE_MPI),no) | |
ERROR_USE_MPI = 0 | |
ASSEMBLE_CC = $(MACH_CC_NOMPI) | |
ASSEMBLE_CXX = $(MACH_CXX_NOMPI) | |
ASSEMBLE_FC = $(MACH_FC_NOMPI) | |
ASSEMBLE_F90 = $(MACH_F90_NOMPI) | |
ASSEMBLE_LD = $(MACH_LD_NOMPI) | |
endif | |
# error if CONFIG_USE_MPI is incorrect | |
ifeq ($(ERROR_USE_MPI),1) | |
.PHONY: error_compilers | |
error_compilers: | |
$(error Illegal value '$(CONFIG_USE_MPI)' for $$(CONFIG_USE_MPI)) | |
endif | |
#----------------------------------------------------------------------- | |
# Determine CUDA compiler | |
#----------------------------------------------------------------------- | |
ASSEMBLE_CUDACOMPILER = $(MACH_CUDACOMPILER) | |
ASSEMBLE_CUDAFLAGS = $(MACH_OPT_CUDA) | |
#----------------------------------------------------------------------- | |
# DETERMINE TASKMAP SETTINGS | |
#----------------------------------------------------------------------- | |
ERROR_TASKMAP = 1 | |
# Settings for using TASKMAP mods | |
ifeq ($(CONFIG_TASKMAP),yes) | |
ERROR_TASKMAP = 0 | |
ASSEMBLE_TASKMAP_DEFINES = -DTASKMAP -DENABLE_TASKMAP | |
endif | |
# Settings for not using TASKMAP mods | |
ifeq ($(CONFIG_TASKMAP),no) | |
ERROR_TASKMAP = 0 | |
ASSEMBLE_TASKMAP_DEFINES = | |
endif | |
# error if CONFIG_TASKMAP is incorrect | |
ifeq ($(ERROR_TASKMAP),1) | |
.PHONY: error_taskmap | |
error_taskmap: | |
$(error Illegal value '$(CONFIG_TASKMAP)' for $$(CONFIG_TASKMAP)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE PACKED_AMR SETTINGS | |
#----------------------------------------------------------------------- | |
ERROR_PACKED_AMR = 1 | |
# Settings for using PACKED_AMR mods | |
ifeq ($(CONFIG_PACKED_AMR),yes) | |
ERROR_PACKED_AMR = 0 | |
ASSEMBLE_PACKED_AMR_DEFINES = \ | |
-DUSE_HDF5_GROUPS | |
# -DSINGLE_HDF5_OPEN_ON_INPUT | |
endif | |
# Settings for not using PACKED_AMR mods | |
ifeq ($(CONFIG_PACKED_AMR),no) | |
ERROR_PACKED_AMR = 0 | |
ASSEMBLE_PACKED_AMR_DEFINES = | |
endif | |
# error if CONFIG_PACKED_AMR is incorrect | |
ifeq ($(ERROR_PACKED_AMR),1) | |
.PHONY: error_packed_amr | |
error_packed_amr: | |
$(error Illegal value '$(CONFIG_PACKED_AMR)' for $$(CONFIG_PACKED_AMR)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE PACKED_MEM SETTINGS | |
#----------------------------------------------------------------------- | |
ERROR_PACKED_MEM = 1 | |
# Settings for using PACKED_MEM mods | |
ifeq ($(CONFIG_PACKED_MEM),yes) | |
ERROR_PACKED_MEM = 0 | |
ASSEMBLE_PACKED_MEM_DEFINES = -DUSE_HDF5_OUTPUT_BUFFERING | |
endif | |
# Settings for not using PACKED_MEM mods | |
ifeq ($(CONFIG_PACKED_MEM),no) | |
ERROR_PACKED_MEM = 0 | |
ASSEMBLE_PACKED_MEM_DEFINES = | |
endif | |
# error if CONFIG_PACKED_MEM is incorrect | |
ifeq ($(ERROR_PACKED_MEM),1) | |
.PHONY: error_packed_mem | |
error_packed_mem: | |
$(error Illegal value '$(CONFIG_PACKED_MEM)' for $$(CONFIG_PACKED_MEM)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE LCAPERF SETTINGS | |
#----------------------------------------------------------------------- | |
ERROR_LCAPERF = 1 | |
# Settings to turn lcaperf ON | |
ifeq ($(CONFIG_LCAPERF),yes) | |
ERROR_LCAPERF = 0 | |
ASSEMBLE_LCAPERF_DEFINES = -DUSE_LCAPERF | |
ASSEMBLE_LCAPERF_INCLUDES = $(MACH_INCLUDES_LCAPERF) | |
ASSEMBLE_LCAPERF_LIBS = $(MACH_LIBS_LCAPERF) | |
OBJS_LCAPERF_LIB = lcaperf.o | |
endif | |
# Settings to turn lcaperf OFF | |
ifeq ($(CONFIG_LCAPERF),no) | |
ERROR_LCAPERF = 0 | |
OBJS_LCAPERF_LIB = | |
endif | |
# error if CONFIG_LCAPERF is incorrect | |
ifeq ($(ERROR_LCAPERF),1) | |
.PHONY: error_lcaperf | |
error_lcaperf: | |
$(error Illegal value '$(CONFIG_LCAPERF)' for $$(CONFIG_LCAPERF)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE PYTHON SETTINGS | |
#----------------------------------------------------------------------- | |
ERROR_PYTHON = 1 | |
# Settings to turn Python ON | |
ifeq ($(CONFIG_PYTHON),yes) | |
ERROR_PYTHON = 0 | |
ASSEMBLE_PYTHON_DEFINES = -DUSE_PYTHON | |
ASSEMBLE_PYTHON_INCLUDES = $(MACH_INCLUDES_PYTHON) | |
ASSEMBLE_PYTHON_LIBS = $(MACH_LIBS_PYTHON) | |
PYTHON_INTERFACE_TARGETS += InitializePythonInterface_finderfunctions.inc | |
endif | |
# Settings to turn PYTHON OFF | |
ifeq ($(CONFIG_PYTHON),no) | |
ERROR_PYTHON = 0 | |
endif | |
# error if CONFIG_PYTHON is incorrect | |
ifeq ($(ERROR_PYTHON),1) | |
.PHONY: error_PYTHON | |
error_PYTHON: | |
$(error Illegal value '$(CONFIG_PYTHON)' for $$(CONFIG_PYTHON)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE NEW_PROBLEM_TYPES SETTINGS | |
#----------------------------------------------------------------------- | |
ERROR_NEW_PROBLEM_TYPES = 1 | |
# Settings to turn NEW_PROBLEM_TYPES ON | |
ifeq ($(CONFIG_NEW_PROBLEM_TYPES),yes) | |
ERROR_NEW_PROBLEM_TYPES = 0 | |
ASSEMBLE_NEW_PROBLEM_TYPES_DEFINES = -DNEW_PROBLEM_TYPES | |
ASSEMBLE_NEW_PROBLEM_TYPES_INCLUDES = $(MACH_INCLUDES_NEW_PROBLEM_TYPES) | |
ASSEMBLE_NEW_PROBLEM_TYPES_LIBS = $(MACH_LIBS_NEW_PROBLEM_TYPES) | |
ifeq ($(CONFIG_PYTHON),yes) | |
OBJS_PYTHON += python_bridge/problemtype_handler.o | |
OBJS_PYTHON += ProblemType_Python.o | |
endif | |
endif | |
# Settings to turn NEW_PROBLEM_TYPES OFF | |
ifeq ($(CONFIG_NEW_PROBLEM_TYPES),no) | |
ERROR_NEW_PROBLEM_TYPES = 0 | |
endif | |
# error if CONFIG_NEW_PROBLEM_TYPES is incorrect | |
ifeq ($(ERROR_NEW_PROBLEM_TYPES),1) | |
.PHONY: error_NEW_PROBLEM_TYPES | |
error_NEW_PROBLEM_TYPES: | |
$(error Illegal value '$(CONFIG_NEW_PROBLEM_TYPES)' for $$(CONFIG_NEW_PROBLEM_TYPES)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE PAPI SETTINGS | |
#----------------------------------------------------------------------- | |
ERROR_PAPI = 1 | |
# Settings to turn papi ON | |
ifeq ($(CONFIG_PAPI),yes) | |
ERROR_PAPI = 0 | |
ASSEMBLE_PAPI_DEFINES = -DUSE_PAPI | |
ASSEMBLE_PAPI_INCLUDES = $(MACH_INCLUDES_PAPI) | |
ASSEMBLE_PAPI_LIBS = $(MACH_LIBS_PAPI) | |
endif | |
# Settings to turn papi OFF | |
ifeq ($(CONFIG_PAPI),no) | |
ERROR_PAPI = 0 | |
endif | |
# error if CONFIG_PAPI is incorrect | |
ifeq ($(ERROR_PAPI),1) | |
.PHONY: error_papi | |
error_papi: | |
$(error Illegal value '$(CONFIG_PAPI)' for $$(CONFIG_PAPI)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE OOC_BOUNDARY SETTINGS | |
#----------------------------------------------------------------------- | |
ERROR_OOC_BOUNDARY = 1 | |
# Settings to turn out-of-core boundary conditions ON | |
ifeq ($(CONFIG_OOC_BOUNDARY),yes) | |
ERROR_OOC_BOUNDARY = 0 | |
ASSEMBLE_OOC_BOUNDARY_DEFINES = -DOOC_BOUNDARY | |
endif | |
# Settings to turn out-of-core boundary conditions OFF | |
ifeq ($(CONFIG_OOC_BOUNDARY),no) | |
ERROR_OOC_BOUNDARY = 0 | |
ASSEMBLE_OOC_BOUNDARY_DEFINES = | |
endif | |
# error if CONFIG_OOC_BOUNDARY is incorrect | |
ifeq ($(ERROR_OOC_BOUNDARY),1) | |
.PHONY: error_ooc_boundary | |
error_ooc_boundary: | |
$(error Illegal value '$(CONFIG_OOC_BOUNDARY)' for $$(CONFIG_OOC_BOUNDARY)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE SET ACCELERATION BOUNDARY SETTINGS | |
#----------------------------------------------------------------------- | |
ERROR_ACCELERATION_BOUNDARY = 1 | |
# Settings to turn ON the setting of Acceleration Boundary | |
ifeq ($(CONFIG_ACCELERATION_BOUNDARY),yes) | |
ERROR_ACCELERATION_BOUNDARY = 0 | |
ASSEMBLE_ACCELERATION_BOUNDARY_DEFINES = -DSAB | |
endif | |
# Settings to turn OFF the setting of Acceleration Boundary | |
ifeq ($(CONFIG_ACCELERATION_BOUNDARY),no) | |
ERROR_ACCELERATION_BOUNDARY = 0 | |
ASSEMBLE_ACCELERATION_BOUNDARY_DEFINES = | |
endif | |
# error if CONFIG_ACCELERATION_BOUNDARY is incorrect | |
ifeq ($(ERROR_ACCELERATION_BOUNDARY),1) | |
.PHONY: error_sab | |
error_sab: | |
$(error Illegal value '$(CONFIG_ACCELERATION_BOUNDARY)' for $$(CONFIG_ACCELERATION_BOUNDARY)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE OPTIMIZATION LEVEL SETTINGS | |
#----------------------------------------------------------------------- | |
ERROR_OPT = 1 | |
# Settings for verbose warnings | |
ifeq ($(CONFIG_OPT),warn) | |
ERROR_OPT = 0 | |
ASSEMBLE_OPT_FLAGS = $(MACH_OPT_WARN) | |
endif | |
# Settings for debugging | |
ifeq ($(CONFIG_OPT),debug) | |
ERROR_OPT = 0 | |
ASSEMBLE_OPT_FLAGS = $(MACH_OPT_DEBUG) | |
endif | |
# Settings for debugging CUDA | |
ifeq ($(CONFIG_OPT),cudadebug) | |
ERROR_OPT = 0 | |
ASSEMBLE_OPT_FLAGS = $(MACH_OPT_DEBUG) | |
ASSEMBLE_CUDAFLAGS = $(MACH_OPT_CUDADEBUG) | |
ASSEMBLE_CUDADEBUG_DEFINES = -DECUDADEBUG | |
endif | |
# Settings for high conservative optimization | |
ifeq ($(CONFIG_OPT),high) | |
ERROR_OPT = 0 | |
ASSEMBLE_OPT_FLAGS = $(MACH_OPT_HIGH) | |
endif | |
# Settings for aggressive optimization | |
ifeq ($(CONFIG_OPT),aggressive) | |
ERROR_OPT = 0 | |
ASSEMBLE_OPT_FLAGS = $(MACH_OPT_AGGRESSIVE) | |
endif | |
# error if CONFIG_OPT is incorrect | |
ifeq ($(ERROR_OPT),1) | |
.PHONY: error_opt | |
error_opt: | |
$(error Illegal value '$(CONFIG_OPT)' for $$(CONFIG_OPT)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE TEST SUITE HOOK SETTINGS | |
#----------------------------------------------------------------------- | |
ERROR_TESTING = 1 | |
# Settings for test suite hooks on | |
ifeq ($(CONFIG_TESTING),yes) | |
ERROR_TESTING = 0 | |
ASSEMBLE_TESTING_DEFINES = -DCONFIG_TESTING | |
endif | |
# Settings for test suite hooks off | |
ifeq ($(CONFIG_TESTING),no) | |
ERROR_TESTING = 0 | |
ASSEMBLE_TESTING_DEFINES = | |
endif | |
# error if CONFIG_TESTING is incorrect | |
ifeq ($(ERROR_TESTING),1) | |
.PHONY: error_testing | |
error_testing: | |
$(error Illegal value '$(CONFIG_TESTING)' for $$(CONFIG_TESTING)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE RADIATIVE TRANSFER SETTINGS | |
#----------------------------------------------------------------------- | |
ERROR_PHOTON = 1 | |
# Settings to turn radiative transfer ON | |
ifeq ($(CONFIG_PHOTON),yes) | |
ERROR_PHOTON = 0 | |
ASSEMBLE_PHOTON_DEFINES = -DTRANSFER | |
OBJS_PHOTON_LIB = $(POBJS_CONFIG_LIB) | |
endif | |
# Settings to turn radiative transfer OFF | |
ifeq ($(CONFIG_PHOTON),no) | |
ERROR_PHOTON = 0 | |
ASSEMBLE_PHOTON_DEFINES = | |
OBJS_PHOTON_LIB = | |
endif | |
# error if CONFIG_PHOTON is incorrect | |
ifeq ($(ERROR_PHOTON),1) | |
.PHONY: error_transfer | |
error_transfer: | |
$(error Illegal value '$(CONFIG_PHOTON)' for $$(CONFIG_PHOTON)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE EMISSIVITY FIELD SETTINGS | |
#----------------------------------------------------------------------- | |
ERROR_EMISSIVITY = 1 | |
# Settings to turn emissivity field ON | |
ifeq ($(CONFIG_EMISSIVITY),yes) | |
ERROR_EMISSIVITY = 0 | |
ASSEMBLE_EMISSIVITY_DEFINES = -DEMISSIVITY | |
endif | |
# Settings to turn emissivity field OFF | |
ifeq ($(CONFIG_EMISSIVITY),no) | |
ERROR_EMISSIVITY = 0 | |
ASSEMBLE_EMISSIVITY_DEFINES = | |
endif | |
# error if CONFIG_EMISSIVITY is incorrect | |
ifeq ($(ERROR_EMISSIVITY),1) | |
.PHONY: error_emissivity | |
error_emissivity: | |
$(error Illegal value '$(CONFIG_EMISSIVITY)' for $$(CONFIG_EMISSIVITY)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE GRID IO SETTINGS | |
#----------------------------------------------------------------------- | |
ERROR_NEW_GRID_IO = 1 | |
# Settings to turn fast sibling search ON | |
ifeq ($(CONFIG_NEW_GRID_IO),yes) | |
ERROR_NEW_GRID_IO = 0 | |
ASSEMBLE_NEW_GRID_IO_DEFINES = -DNEW_GRID_IO | |
endif | |
# Settings to turn new grid IO OFF | |
ifeq ($(CONFIG_NEW_GRID_IO),no) | |
ERROR_NEW_GRID_IO = 0 | |
ASSEMBLE_NEW_GRID_IO_DEFINES = | |
endif | |
# error if CONFIG_NEW_GRID_IO is incorrect | |
ifeq ($(ERROR_NEW_GRID_IO),1) | |
.PHONY: error_NEW_GRID_IO | |
error_NEW_GRID_IO: | |
$(error Illegal value '$(CONFIG_NEW_GRID_IO)' for $$(CONFIG_NEW_GRID_IO)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE HYPRE SETTINGS | |
#----------------------------------------------------------------------- | |
ERROR_HYPRE = 1 | |
# Settings to turn HYPRE bindings on | |
ifeq ($(CONFIG_HYPRE),yes) | |
ERROR_HYPRE = 0 | |
ASSEMBLE_HYPRE_DEFINES = -DUSE_HYPRE | |
ASSEMBLE_HYPRE_INCLUDES = $(MACH_INCLUDES_HYPRE) | |
ASSEMBLE_HYPRE_LIBS = $(MACH_LIBS_HYPRE) | |
endif | |
# Settings to turn HYPRE bindings OFF | |
ifeq ($(CONFIG_HYPRE),no) | |
ERROR_HYPRE = 0 | |
ASSEMBLE_HYPRE_DEFINES = | |
ASSEMBLE_HYPRE_INCLUDES = | |
ASSEMBLE_HYPRE_LIBS = | |
endif | |
# error if CONFIG_HYPRE is incorrect | |
ifeq ($(ERROR_HYPRE),1) | |
.PHONY: error_hypre | |
error_hypre: | |
$(error Illegal value '$(CONFIG_HYPRE)' for $$(CONFIG_HYPRE)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE FAST SIBLING SETTINGS | |
#----------------------------------------------------------------------- | |
ERROR_FAST_SIB = 1 | |
# Settings to turn fast sibling search ON | |
ifeq ($(CONFIG_FAST_SIB),yes) | |
ERROR_FAST_SIB = 0 | |
ASSEMBLE_FAST_SIB_DEFINES = -DFAST_SIB | |
endif | |
# Settings to turn fast sibling search OFF | |
ifeq ($(CONFIG_FAST_SIB),no) | |
ERROR_FAST_SIB = 0 | |
ASSEMBLE_FAST_SIB_DEFINES = | |
endif | |
# error if CONFIG_FAST_SIBis incorrect | |
ifeq ($(ERROR_FAST_SIB),1) | |
.PHONY: error_fast_sib | |
error_fast_sib: | |
$(error Illegal value '$(CONFIG_FAST_SIB)' for $$(CONFIG_FAST_SIB)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE BITWISE IDENTICALITY SETTINGS | |
#----------------------------------------------------------------------- | |
ERROR_BITWISE_IDENTICALITY = 1 | |
# Settings to turn blocking gravity ON | |
ifeq ($(CONFIG_BITWISE_IDENTICALITY),yes) | |
ERROR_BITWISE_IDENTICALITY = 0 | |
ASSEMBLE_BITWISE_IDENTICALITY_DEFINES = -DBITWISE_IDENTICALITY | |
endif | |
# Settings to turn blocking gravity OFF | |
ifeq ($(CONFIG_BITWISE_IDENTICALITY),no) | |
ERROR_BITWISE_IDENTICALITY = 0 | |
ASSEMBLE_BITWISE_IDENTICALITY_DEFINES = | |
endif | |
# error if CONFIG_BITWISE_IDENTICALITYis incorrect | |
ifeq ($(ERROR_BITWISE_IDENTICALITY),1) | |
.PHONY: error_BITWISE_IDENTICALITY | |
error_BITWISE_IDENTICALITY: | |
$(error Illegal value '$(CONFIG_BITWISE_IDENTICALITY)' for $$(CONFIG_BITWISE_IDENTICALITY)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE CUDA (GPU computing) Settings | |
# When compiling with CUDA support it just compiles the necessary routines. | |
# but only uses it if you set UseCUDA = 1 in your parameter files. | |
#----------------------------------------------------------------------- | |
ERROR_ECUDA = 1 | |
# Settings to compile CUDA kernels | |
ifeq ($(CONFIG_ECUDA),yes) | |
ERROR_ECUDA = 0 | |
ASSEMBLE_ECUDA_DEFINES = -DECUDA | |
ASSEMBLE_CUDA_LIBS = $(MACH_LIBS_CUDA) | |
ASSEMBLE_CUDA_INCLUDES = $(MACH_LIBS_INCLUDES) | |
OBJS_ECUDA_LIB = $(OBJS_ECUDA_ALL) | |
endif | |
# Settings to tell the make system not to compile CUDA routines | |
ifeq ($(CONFIG_ECUDA),no) | |
ERROR_ECUDA = 0 | |
ASSEMBLE_ECUDA_DEFINES = | |
OBJS_ECUDA_LIB = | |
endif | |
# error if | |
ifeq ($(ERROR_ECUDA),1) | |
.PHONY: error_ecuda | |
error_ecuda: | |
$(error Illegal value '$(CONFIG_ECUDA)' for $$(CONFIG_ECUDA)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE HDF4 USAGE | |
#----------------------------------------------------------------------- | |
ERROR_USE_HDF4 = 1 | |
# compilers and settings if USE_HDF4 is yes | |
ifeq ($(CONFIG_USE_HDF4),yes) | |
ERROR_USE_HDF4 = 0 | |
ASSEMBLE_HDF4_DEFINES = -DUSE_HDF4 | |
endif | |
# compilers and settings if USE_HDF4 is no | |
ifeq ($(CONFIG_USE_HDF4),no) | |
ERROR_USE_HDF4 = 0 | |
ASSEMBLE_HDF4_DEFINES = | |
endif | |
# error if CONFIG_USE_HDF4 is incorrect | |
ifeq ($(ERROR_USE_HDF4),1) | |
.PHONY: error_compilers | |
error_compilers: | |
$(error Illegal value '$(CONFIG_USE_HDF4)' for $$(CONFIG_USE_HDF4)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE GRAVITY SOLVER | |
#----------------------------------------------------------------------- | |
ERROR_GRAVITY_4S = 1 | |
# compilers and settings if GRAVITY_4S is yes | |
ifeq ($(CONFIG_GRAVITY_4S),yes) | |
ERROR_GRAVITY_4S = 0 | |
ASSEMBLE_GRAVITY_4S_DEFINES = -DGRAVITY_4S | |
endif | |
# compilers and settings if GRAVITY_4S is no | |
ifeq ($(CONFIG_GRAVITY_4S),no) | |
ERROR_GRAVITY_4S = 0 | |
ASSEMBLE_GRAVITY_4S_DEFINES = | |
endif | |
# error if CONFIG_GRAVITY_4S is incorrect | |
ifeq ($(ERROR_GRAVITY_4S),1) | |
.PHONY: error_compilers | |
error_compilers: | |
$(error Illegal value '$(CONFIG_GRAVITY_4S)' for $$(CONFIG_GRAVITY_4S)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE ENZO PERFORMANCE | |
#----------------------------------------------------------------------- | |
ERROR_ENZO_PERFORMANCE = 1 | |
# compilers and settings if ENZO_PERFORMANCE is yes | |
ifeq ($(CONFIG_ENZO_PERFORMANCE),yes) | |
ERROR_ENZO_PERFORMANCE = 0 | |
ASSEMBLE_ENZO_PERFORMANCE_DEFINES = -DENZO_PERFORMANCE | |
endif | |
# compilers and settings if GRAVITY_4S is no | |
ifeq ($(CONFIG_ENZO_PERFORMANCE),no) | |
ERROR_ENZO_PERFORMANCE = 0 | |
ASSEMBLE_ENZO_PERFORMANCE_DEFINES = | |
endif | |
# error if CONFIG_ENZO_PERFORMANCE is incorrect | |
ifeq ($(ERROR_ENZO_PERFORMANCE),1) | |
.PHONY: error_compilers | |
error_compilers: | |
$(error Illegal value '$(CONFIG_ENZO_PERFORMANCE)' for $$(CONFIG_ENZO_PERFORMANCE)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE USE GRACKLE | |
#----------------------------------------------------------------------- | |
ERROR_GRACKLE = 1 | |
# compilers and settings if GRACKLE is yes | |
ifeq ($(CONFIG_GRACKLE),yes) | |
ERROR_GRACKLE = 0 | |
ASSEMBLE_GRACKLE_DEFINES = -DUSE_GRACKLE | |
ASSEMBLE_GRACKLE_INCLUDES = $(MACH_INCLUDES_GRACKLE) | |
ASSEMBLE_GRACKLE_LIBS = $(MACH_LIBS_GRACKLE) | |
endif | |
# compilers and settings if GRAVITY_4S is no | |
ifeq ($(CONFIG_GRACKLE),no) | |
ERROR_GRACKLE = 0 | |
ASSEMBLE_GRACKLE_DEFINES = | |
endif | |
# error if CONFIG_GRACKLE is incorrect | |
ifeq ($(ERROR_GRACKLE),1) | |
.PHONY: error_compilers | |
error_compilers: | |
$(error Illegal value '$(CONFIG_GRACKLE)' for $$(CONFIG_GRACKLE)) | |
endif | |
#----------------------------------------------------------------------- | |
# DETERMINE LOG2ALLOC SETTINGS | |
#----------------------------------------------------------------------- | |
ERROR_LOG2ALLOC = 1 | |
# Settings to turn on log2 array allocations | |
ifeq ($(CONFIG_LOG2ALLOC),yes) | |
ERROR_LOG2ALLOC = 0 | |
ASSEMBLE_LOG2ALLOC_DEFINES = -DUSE_LOG2ALLOC | |
endif | |
# Settings to turn off log2 array allocations | |
ifeq ($(CONFIG_LOG2ALLOC),no) | |
ERROR_LOG2ALLOC = 0 | |
ASSEMBLE_LOG2ALLOC_DEFINES = | |
endif | |
# error if CONFIG_LOG2ALLOCis incorrect | |
ifeq ($(ERROR_LOG2ALLOC),1) | |
.PHONY: error_log2alloc | |
error_log2alloc: | |
$(error Illegal value '$(CONFIG_LOG2ALLOC)' for $$(CONFIG_LOG2ALLOC)) | |
endif | |
#======================================================================= | |
# ASSIGN ALL OUTPUT VARIABLES | |
#======================================================================= | |
CPP = $(ASSEMBLE_CPP) | |
CC = $(ASSEMBLE_CC) | |
CXX = $(ASSEMBLE_CXX) | |
FC = $(ASSEMBLE_FC) | |
F90 = $(ASSEMBLE_F90) | |
LD = $(ASSEMBLE_LD) | |
CUDACOMPILER = $(ASSEMBLE_CUDACOMPILER) | |
CUDACOMPFLAGS = $(ASSEMBLE_CUDAFLAGS) | |
CPPFLAGS = $(MACH_CPPFLAGS) | |
CFLAGS = $(MACH_CFLAGS) \ | |
$(ASSEMBLE_OPT_FLAGS) | |
CXXFLAGS = $(MACH_CXXFLAGS) \ | |
$(ASSEMBLE_OPT_FLAGS) | |
FFLAGS = $(MACH_FFLAGS) \ | |
$(ASSEMBLE_OPT_FLAGS) | |
F90FLAGS = $(MACH_F90FLAGS) \ | |
$(ASSEMBLE_OPT_FLAGS) | |
LDFLAGS = $(MACH_LDFLAGS) \ | |
$(ASSEMBLE_OPT_FLAGS) | |
DEFINES = $(MACH_DEFINES) \ | |
$(MAKEFILE_DEFINES) \ | |
$(ASSEMBLE_PARAMETER_DEFINES) \ | |
$(ASSEMBLE_INITS_DEFINES) \ | |
$(ASSEMBLE_INTEGER_DEFINES) \ | |
$(ASSEMBLE_IDS_DEFINES) \ | |
$(ASSEMBLE_IO_DEFINES) \ | |
$(ASSEMBLE_LCAPERF_DEFINES) \ | |
$(ASSEMBLE_PYTHON_DEFINES) \ | |
$(ASSEMBLE_NEW_PROBLEM_TYPES_DEFINES) \ | |
$(ASSEMBLE_MPI_DEFINES) \ | |
$(ASSEMBLE_OOC_BOUNDARY_DEFINES) \ | |
$(ASSEMBLE_PAPI_DEFINES) \ | |
$(ASSEMBLE_PARTICLES_DEFINES) \ | |
$(ASSEMBLE_PRECISION_DEFINES) \ | |
$(ASSEMBLE_TASKMAP_DEFINES) \ | |
$(ASSEMBLE_PACKED_AMR_DEFINES) \ | |
$(ASSEMBLE_PACKED_MEM_DEFINES) \ | |
$(ASSEMBLE_TESTING_DEFINES) \ | |
$(ASSEMBLE_PHOTON_DEFINES) \ | |
$(ASSEMBLE_HYPRE_DEFINES) \ | |
$(ASSEMBLE_EMISSIVITY_DEFINES) \ | |
$(ASSEMBLE_NEW_GRID_IO_DEFINES) \ | |
$(ASSEMBLE_FAST_SIB_DEFINES) \ | |
$(ASSEMBLE_BITWISE_IDENTICALITY_DEFINES) \ | |
$(ASSEMBLE_ECUDA_DEFINES) \ | |
$(ASSEMBLE_CUDADEBUG_DEFINES) \ | |
$(ASSEMBLE_HDF4_DEFINES) \ | |
$(ASSEMBLE_GRAVITY_4S_DEFINES) \ | |
$(ASSEMBLE_ENZO_PERFORMANCE_DEFINES) \ | |
$(ASSEMBLE_GRACKLE_DEFINES) \ | |
$(ASSEMBLE_LOG2ALLOC_DEFINES) \ | |
$(ASSEMBLE_ACCELERATION_BOUNDARY_DEFINES) | |
INCLUDES = -I/home/modules/software/HDF5/1.10.2-foss-2018b-serial -I/home/modules/software/CUDA/10.1.243-GCC-7.3.0-2.30/include -I. | |
OBJS_LIB = $(OBJS_CONFIG_LIB) \ | |
$(OBJS_PHOTON_LIB) \ | |
$(OBJS_LCAPERF_LIB) \ | |
$(OBJS_HYDRO_RK) \ | |
$(OBJS_ECUDA_LIB) \ | |
$(OBJS_PYTHON) | |
LIBS = $(MACH_LIBS) \ | |
$(ASSEMBLE_MPI_LIBS) \ | |
$(ASSEMBLE_HYPRE_LIBS) \ | |
$(ASSEMBLE_LCAPERF_LIBS) \ | |
$(ASSEMBLE_PAPI_LIBS) \ | |
$(ASSEMBLE_PYTHON_LIBS) \ | |
$(ASSEMBLE_NEW_PROBLEM_TYPES_LIBS) \ | |
$(ASSEMBLE_CUDA_LIBS) \ | |
$(ASSEMBLE_GRACKLE_LIBS) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment