####################### #### Start of File #### ####################### # --------------------------------------------------------------- # Makefile Contents: Common settings for Linux makefiles # C/C++ Compiler Used: GUN, Intel, Cray # --------------------------------------------------------------- # Define file extensions and path variables OBJ_EXT = .o EXE_EXT = LIB_EXT = .a DLIB_EXT = .so PATHSEP = / # Setup include paths ADD_INC_PATHS = -I../3plibs/datareel/include -I../grib2_cpp_lib \ -I../projection_cpp_lib -I../3plibs/direct_io ifeq ($(FINAL),1) DEBUG_DEFMACS = -D__NO_DEBUG_OPTIONS__ else DEBUG_DEFMACS = endif # Our NODETYPE and BUILD must be set in our ENV BUILD := $(BUILD) NODETYPE := $(NODETYPE) USE_IOBUF := $(USE_IOBUF) ifeq ($(BUILD),cray) COMPILER_DEFMACS = -DCRAYCE else ifeq ($(BUILD),intel) COMPILER_DEFMACS = -DINTEL else ifeq ($(BUILD),gnu) COMPILER_DEFMACS = -DGNU else COMPILER_DEFMACS = endif ifeq ($(NODETYPE),COMPUTE) ifeq ($(USE_IOBUF),YES) COMPILER_DEFMACS := $(COMPILER_DEFMACS) -DUSE_IOBUF_MACROS -D_USE_DIRECT_IO_ endif endif ifeq ($(NODETYPE),LOGIN) ifeq ($(USE_IOBUF),YES) COMPILER_DEFMACS := $(COMPILER_DEFMACS) -DUSE_IOBUF_MACROS -D_USE_DIRECT_IO_ endif endif # Will not use STDIO file functions if "-D_USE_DIRECT_IO_" is defined # For production use 32-bit file offsets with direct I/O that will # use IOBUF functions directly. NOTE: 32-bit file offsets limits # file sizes to 2GB. For this project no files sizes will exceed 2GB. FILESYS_DEFMACS = -D__USE_NATIVE_INT_TYPES__ -D__USE_NATIVE_FLOAT_TYPES__ # For testing only # # Use 32-bit file offsets with direct I/O ##FILESYS_DEFMACS = -D_USE_DIRECT_IO_ # # Use 64-bit file offsets with STDIO, files over 2GB ##FILESYS_DEFMACS = -D__64_BIT_DATABASE_ENGINE__ -D__ENABLE_64_BIT_INTEGERS__ # # Use 64-bit file offsets with direct I/O, file over 2GB ##FILESYS_DEFMACS = -D__64_BIT_DATABASE_ENGINE__ -D__ENABLE_64_BIT_INTEGERS__ -D_USE_DIRECT_IO_ # ANSI_DEFMACS = -D__USE_ANSI_CPP__ CPP_DEFMACS = -D__USE_CPP_IOSTREAM__ #-D__CPP_EXCEPTIONS__ DISPLAY_DEFMACS = -D__CONSOLE__ IO_DEFMACS = -D__USE_SIGNAL_IO__ THREAD_DEFMACS = -D__REENTRANT__ POSIX_DEFMACS = -D__POSIX__ -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS UNICODE_DEMACS = -D__HAS_UNICODE__ # Setup define macros DEFMACS = $(COMPILER_DEFMACS) -D__UNIX__ -D__LINUX__ -D__X86__ \ $(FILESYS_DEFMACS) $(ANSI_DEFMACS) $(CPP_DEFMACS) \ $(DEBUG_DEFMACS) $(DISPLAY_DEFMACS) $(IO_DEFMACS) $(UNICODE_DEMACS) \ $(THREAD_DEFMACS) $(POSIX_DEFMACS) # Define macros for compiler and linker LINKER = ld LIBUTIL = ar RANLIB_UTIL = ranlib SHARED_LIBUTIL = $(CC) -shared LN_S = ln -s LIBUTIL_FLAGS = ruv SHAREDLIBUTIL_FLAGS = # Define in application makefile #ADD_INC_PATHS = # Define compiler and linker flags macros DEBUG_FLAGS = $(CXXFLAGS) $(ADD_INC_PATHS) $(DEFMACS) RELEASE_FLAGS = $(CXXFLAGS) $(ADD_INC_PATHS) $(DEFMACS) ifeq ($(FINAL),1) COMPILE_FLAGS = $(RELEASE_FLAGS) else COMPILE_FLAGS = $(DEBUG_FLAGS) endif COMPILE_ONLY = -c OUTPUT = -o # Set link libraries here LINK_LIBRARIES = LINKER_FLAGS = # Additional libraries LIBRARIES = # --------------------------------------------------------------- ##################### #### End of File #### #####################