# /*@@ # @file make.config.defn.in # @date Sun Jan 17 22:33:51 1999 # @author Tom Goodale # @desc # Make definition file for a configuration # Defines the compilers, etc. # # Should be run through autoconf to produce make.config.defn # @enddesc # @version $Header$ # @@*/ # Include stuff defined by optional extra arrangements include $(TOP)/config-data/make.extra.defn # Include all required external libraries from configuration -include $(TOP)/bindings/Configuration/make.link # Compiler/executable info export SHELL = /bin/sh export MKDIR = mkdir export CC = gcc-10 export CXX = g++-10 export CUCC = export F90 = gfortran-10 export F77 = gfortran-10 export CPP = cpp-10 export FPP = cpp-10 export LD = g++-10 export AR = ar export RANLIB = ranlib export PERL = perl # MAKE needs no definition, since make will set this variable automatically export MAKE export TAR = tar export XARGS = xargs # GZIP is used by gzip for a list of default options, thus we use GZIP_CMD export GZIP_CMD = gzip export PATCH = patch export GIT = git export CFLAGS = -g -std=gnu99 export CXXFLAGS = -g -std=gnu++11 export CUCCFLAGS = export F90FLAGS = -g -fcray-pointer -ffixed-line-length-none export F77FLAGS = -g -fcray-pointer -ffixed-line-length-none export CPPFLAGS = export FPPFLAGS = -traditional export C_LINE_DIRECTIVES = no export F_LINE_DIRECTIVES = no # Compiler versions as detected at configure time # CPP: version # CC: gcc-10 (Homebrew GCC 10.2.0_4) 10.2.0 # CXX: g++-10 (Homebrew GCC 10.2.0_4) 10.2.0 # CUCC: # FPP: # F77: GNU Fortran (Homebrew GCC 10.2.0_4) 10.2.0 # F90: GNU Fortran (Homebrew GCC 10.2.0_4) 10.2.0 export MKDIRFLAGS = -p export LDFLAGS = -rdynamic export ARFLAGS = ruc export RANLIBFLAGS = -cs export LIBDIR_PREFIX = -L export RUNDIR_PREFIX = -Wl,-rpath, export LIBLINK_PREFIX = -l # Debug flags export CPP_DEBUG_FLAGS = export FPP_DEBUG_FLAGS = -g export C_DEBUG_FLAGS = export CXX_DEBUG_FLAGS = export CUCC_DEBUG_FLAGS = -g export F90_DEBUG_FLAGS = -g export F77_DEBUG_FLAGS = -g # Optimisation flags export CPP_OPTIMISE_FLAGS = export FPP_OPTIMISE_FLAGS = export C_OPTIMISE_FLAGS = -O2 export CXX_OPTIMISE_FLAGS = -O2 export CUCC_OPTIMISE_FLAGS = -O2 export F90_OPTIMISE_FLAGS = -O2 export F77_OPTIMISE_FLAGS = -O2 # No-optimisation flags export C_NO_OPTIMISE_FLAGS = -O0 export CXX_NO_OPTIMISE_FLAGS = -O0 export CUCC_NO_OPTIMISE_FLAGS = -O0 export F90_NO_OPTIMISE_FLAGS = -O0 export F77_NO_OPTIMISE_FLAGS = -O0 # Profiling flags export CPP_PROFILE_FLAGS = export FPP_PROFILE_FLAGS = export C_PROFILE_FLAGS = -pg export CXX_PROFILE_FLAGS = -pg export CUCC_PROFILE_FLAGS = export F90_PROFILE_FLAGS = -pg export F77_PROFILE_FLAGS = -pg # OpenMP flags export CPP_OPENMP_FLAGS = -fopenmp export FPP_OPENMP_FLAGS = -D_OPENMP export C_OPENMP_FLAGS = -fopenmp export CXX_OPENMP_FLAGS = -fopenmp export CUCC_OPENMP_FLAGS = export F90_OPENMP_FLAGS = -fopenmp export F77_OPENMP_FLAGS = -fopenmp # Warning flags export CPP_WARN_FLAGS = -Wall export FPP_WARN_FLAGS = -Wall export C_WARN_FLAGS = -Wall export CXX_WARN_FLAGS = -Wall export CUCC_WARN_FLAGS = export F90_WARN_FLAGS = -Wall export F77_WARN_FLAGS = -Wall # Most compilers use -c -o to compile only, some do something different export CCOMPILEONLY = -c -o export FCOMPILEONLY = -c -o # Most compilers use -o for naming the executable, alas some don't export CREATEEXE = -o # On Unix a / export DIRSEP = / export EMPTY_VAR = # Nothing. Leading space is removed. # Mostly a single space, sometimes nothing at all export OPTIONSEP = $(EMPTY_VAR) # a single space # Some architectures need to do something special for linking in libraries export LIBNAME_PREFIX = lib# Make sure there is no space at end. export LIBNAME_SUFFIX = .a export BEGIN_WHOLE_ARCHIVE_FLAGS = export END_WHOLE_ARCHIVE_FLAGS = export CACTUSLIBLINKLINE = -L$(CCTK_LIBDIR) -filelist $(CCTK_LIBDIR)/LINKLIST,$(TOP)/build # Dependency file generation export C_DEPEND = $(CC) -M -MP $(CPPFLAGS) $(CFLAGS) export CXX_DEPEND = $(CXX) -M -MP $(CPPFLAGS) $(CXXFLAGS) export CL_DEPEND = echo : export CUCC_DEPEND = $(CUCC) -M $(CUCCFLAGS) export F77_DEPEND = $(FPP) -M -MP $(FPPFLAGS) export F_DEPEND = $(FPP) -M -MP $(FPPFLAGS) export F_DEPEND_MODULES = $(CCTK_HOME)/lib/sbin/f_depend_modules.pl export C_DEPEND_OUT = > $@ export CXX_DEPEND_OUT = > $@ export CL_DEPEND_OUT = > $@ export CUCC_DEPEND_OUT = > $@ export F77_DEPEND_OUT = > $@ export F_DEPEND_OUT = > $@ export F_DEPEND_MODULES_OUT = >> $@ # Some compilers are very picky about the names of C++ files export CXX_WORKING_NAME = $(notdir $<) # Some compilers are very picky about the suffix for fortran files export F90_SUFFIX = f90 # How to postprocess object files export C_POSTPROCESSING = export CXX_POSTPROCESSING = export CL_POSTPROCESSING = export CUCC_POSTPROCESSING = export F77_POSTPROCESSING = export F_POSTPROCESSING = export F90_POSTPROCESSING = # Do we need to use ranlib ? export USE_RANLIB = yes # Exclude some files from the dependency lists export DEP_EXCLUDE_FILES = CParameterStructNames\.h # Command used to get the working directory export GET_WD = pwd # Way for Make to transofrm things like include directories # into a form suitable for the compiler. export TRANSFORM_DIRS = $(1) # Library info export LIBS += m m m m m m m m gfortran export LIBDIRS += /usr/local/lib # Command to generate the link line for libraries export GENERAL_LIBRARIES = $(patsubst $(LIBDIR_PREFIX)-%,-%,$(addprefix $(LIBDIR_PREFIX),$(filter-out /opt/local/%,$(LIBDIRS)) $(filter /opt/local/%,$(LIBDIRS)))) $(patsubst $(RUNDIR_PREFIX)-%,-%,$(addprefix $(RUNDIR_PREFIX),$(filter-out /opt/local/%,$(LIBDIRS)) $(filter /opt/local/%,$(LIBDIRS)))) $(patsubst $(LIBLINK_PREFIX)-%,-%,$(addprefix $(LIBLINK_PREFIX),$(LIBS))) # System include directories export SYS_INC_DIRS += # Annoying stuff for some file systems. export PERL_BACKUP_NECESSARY = # Stuff for the architecture export OS = darwin19.6.0 export CPU = x86_64 export VENDOR = apple # X stuff export X_LIB_DIR = NONE export X_INC_DIR = NONE # GNU stuff export BUILD_GETOPT = no export BUILD_REGEX = no # Where the CCTK puts things export PACKAGE_DIR = $(CCTK_HOME)/arrangements export BUILD_DIR = $(TOP)/build export CCTK_LIBDIR = $(TOP)/lib # The perl scripts run by the make system export BUILD_ACTIVETHORNS = $(CCTK_HOME)/lib/sbin/BuildActiveThorns.pl export CST = $(CCTK_HOME)/lib/sbin/CST export C_FILE_PROCESSOR = $(CCTK_HOME)/lib/sbin/c_file_processor.pl export F_FILE_PROCESSOR = $(CCTK_HOME)/lib/sbin/f_file_processor.pl # The directory in which to place the executable export EXEDIR = $(CCTK_HOME)/exe # The name of the executable export EXE = cactus_sim # Is this a debug configuration ? export CCTK_DEBUG_MODE = no ifeq ($(strip $(CCTK_DEBUG_MODE)),yes) CPPFLAGS += $(CPP_DEBUG_FLAGS) FPPFLAGS += $(FPP_DEBUG_FLAGS) CFLAGS += $(C_DEBUG_FLAGS) CXXFLAGS += $(CXX_DEBUG_FLAGS) CUCCFLAGS += $(CUCC_DEBUG_FLAGS) F77FLAGS += $(F77_DEBUG_FLAGS) F90FLAGS += $(F90_DEBUG_FLAGS) endif # Is this an optimising configuration ? export CCTK_OPTIMISE_MODE = yes ifeq ($(strip $(CCTK_OPTIMISE_MODE)),yes) CPPFLAGS += $(CPP_OPTIMISE_FLAGS) FPPFLAGS += $(FPP_OPTIMISE_FLAGS) CFLAGS += $(C_OPTIMISE_FLAGS) CXXFLAGS += $(CXX_OPTIMISE_FLAGS) CUCCFLAGS += $(CUCC_OPTIMISE_FLAGS) F77FLAGS += $(F77_OPTIMISE_FLAGS) F90FLAGS += $(F90_OPTIMISE_FLAGS) else CFLAGS += $(C_NO_OPTIMISE_FLAGS) CXXFLAGS += $(CXX_NO_OPTIMISE_FLAGS) CUCCFLAGS += $(CUCC_NO_OPTIMISE_FLAGS) F77FLAGS += $(F77_NO_OPTIMISE_FLAGS) F90FLAGS += $(F90_NO_OPTIMISE_FLAGS) endif # Is this a profiling configuration ? export CCTK_PROFILE_MODE = no ifeq ($(strip $(CCTK_PROFILE_MODE)),yes) CPPFLAGS += $(CPP_PROFILE_FLAGS) FPPFLAGS += $(FPP_PROFILE_FLAGS) CFLAGS += $(C_PROFILE_FLAGS) CXXFLAGS += $(CXX_PROFILE_FLAGS) CUCCFLAGS += $(CUCC_PROFILE_FLAGS) F77FLAGS += $(F77_PROFILE_FLAGS) F90FLAGS += $(F90_PROFILE_FLAGS) endif # Are we building with OpenMP support ? export CCTK_OPENMP_MODE = yes ifeq ($(strip $(CCTK_OPENMP_MODE)),yes) CPPFLAGS += $(CPP_OPENMP_FLAGS) FPPFLAGS += $(FPP_OPENMP_FLAGS) CFLAGS += $(C_OPENMP_FLAGS) CXXFLAGS += $(CXX_OPENMP_FLAGS) CUCCFLAGS += $(CUCC_OPENMP_FLAGS) F77FLAGS += $(F77_OPENMP_FLAGS) F90FLAGS += $(F90_OPENMP_FLAGS) endif # Are we building with all warnings switched on ? # This option may be overwritten at compile time. ifeq ($(WARN),) export CCTK_WARN_MODE = yes else export CCTK_WARN_MODE = $(WARN) endif ifeq ($(strip $(CCTK_WARN_MODE)),yes) CPPFLAGS += $(CPP_WARN_FLAGS) FPPFLAGS += $(FPP_WARN_FLAGS) CFLAGS += $(C_WARN_FLAGS) CXXFLAGS += $(CXX_WARN_FLAGS) CUCCFLAGS += $(CUCC_WARN_FLAGS) F77FLAGS += $(F77_WARN_FLAGS) F90FLAGS += $(F90_WARN_FLAGS) endif # Stuff specific to an architecture. include $(TOP)/config-data/make.arch.defn