version 1.57, 2009/09/22 22:49:55
|
version 1.62, 2009/10/14 17:07:41
|
|
|
STATIC = | STATIC = |
DBNAME = POSTGRESQL | DBNAME = POSTGRESQL |
| |
_JSOCROOT_ = .. |
# Run a script to determine the machine on which make is being run. This |
|
# MAY return a machine type, if the host found falls into one of several |
|
# categories (like dbserver). |
|
MACHTYPE = $(shell $(SRCDIR)/getmachtype.pl) |
| |
# This optional file has custom definitions created by the configure script | # This optional file has custom definitions created by the configure script |
-include $(SRCDIR)/custom.mk | -include $(SRCDIR)/custom.mk |
| |
|
# If MACH was set when the make command was issued (eg., make MACH='N02'), then |
|
# use its value for the output/obj directory and use the custom.mk variables |
|
# relevant to its value. Otherwise, use $(JSOC_MACHINE). |
ifeq ($(MACH),) | ifeq ($(MACH),) |
MACH = $(JSOC_MACHINE) | MACH = $(JSOC_MACHINE) |
endif | endif |
|
|
# | # |
LL_ALL = $(SYSLIBS) | LL_ALL = $(SYSLIBS) |
GCC_LF_ALL = $(STATIC) | GCC_LF_ALL = $(STATIC) |
ICC_LF_ALL = $(STATIC) |
ICC_LF_ALL = $(STATIC) -openmp -static-intel |
| |
# Fortran global LINK flags | # Fortran global LINK flags |
F_LF_ALL = -nofor_main -no-ipo |
F_LF_ALL = -nofor_main -openmp -static-intel |
#***********************************************************************************************# | #***********************************************************************************************# |
| |
#***********************************************************************************************# | #***********************************************************************************************# |
Line 193 F_LF_ALL = -nofor_main -no-ipo |
|
Line 199 F_LF_ALL = -nofor_main -no-ipo |
|
# GLOBAL COMPILE FLAGS | # GLOBAL COMPILE FLAGS |
# | # |
GCC_CF_GCCCOMP = -DGCCCOMP | GCC_CF_GCCCOMP = -DGCCCOMP |
ICC_CF_ICCCOMP = -DICCCOMP |
ICC_CF_ICCCOMP = -DICCCOMP -openmp |
|
|
CCFLAGS_OPT := |
|
|
|
ifeq ($(COMPILER), icc) |
|
ifeq ($(JSOC_MACHINE), linux_x86_64) |
|
CCFLAGS_OPT := -xW |
|
endif |
|
endif |
|
| |
# can't figure out how to get stupid make to do if/else if/else | # can't figure out how to get stupid make to do if/else if/else |
ifeq ($(DEBUG), 0) | ifeq ($(DEBUG), 0) |
GCC_CF_ALL = -I$(SRCDIR)/base/include -std=gnu99 -O2 $(GCC_WARN) $(GCC_CF_GCCCOMP) $(CUSTOMSW) $(GLOBALSW) | GCC_CF_ALL = -I$(SRCDIR)/base/include -std=gnu99 -O2 $(GCC_WARN) $(GCC_CF_GCCCOMP) $(CUSTOMSW) $(GLOBALSW) |
# -xW tells the icc compiler to optimize for Pentium 4 | # -xW tells the icc compiler to optimize for Pentium 4 |
ICC_CF_ALL = -I$(SRCDIR)/base/include -std=c99 -D_GNU_SOURCE $(CCFLAGS_OPT) $(ICC_WARN) $(ICC_CF_ICCCOMP) $(CUSTOMSW) $(GLOBALSW) |
ICC_CF_ALL = -I$(SRCDIR)/base/include -std=c99 -D_GNU_SOURCE $(ICC_WARN) $(ICC_CF_ICCCOMP) $(CUSTOMSW) $(GLOBALSW) |
| |
ifeq ($(JSOC_MACHINE), linux_x86_64) | ifeq ($(JSOC_MACHINE), linux_x86_64) |
GCC_CF_ALL = -I$(SRCDIR)/base/include -std=gnu99 -O2 -march=opteron $(GCC_WARN) $(GCC_CF_GCCCOMP) $(CUSTOMSW) $(GLOBALSW) | GCC_CF_ALL = -I$(SRCDIR)/base/include -std=gnu99 -O2 -march=opteron $(GCC_WARN) $(GCC_CF_GCCCOMP) $(CUSTOMSW) $(GLOBALSW) |
|
|
# Fortran global COMPILE flags | # Fortran global COMPILE flags |
ifeq ($(JSOC_MACHINE), linux_x86_64) | ifeq ($(JSOC_MACHINE), linux_x86_64) |
ifeq ($(FCOMPILER), ifort) | ifeq ($(FCOMPILER), ifort) |
F_CF_ALL := -mcmodel=medium |
F_CF_ALL := -openmp |
endif | endif |
endif | endif |
| |
# Other compiler-specific Fortran COMPILE flags | # Other compiler-specific Fortran COMPILE flags |
ifeq ($(FCOMPILER), ifort) | ifeq ($(FCOMPILER), ifort) |
ifeq ($(JSOC_MACHINE), linux_x86_64) |
|
FCFLAGS_OPT := -xW |
|
endif |
|
FCFLAGS_INIT := -ftrapuv | FCFLAGS_INIT := -ftrapuv |
else | else |
# must be gfortran | # must be gfortran |
FCFLAGS_OPT := |
|
FCFLAGS_INIT := | FCFLAGS_INIT := |
endif | endif |
| |
ifeq ($(DEBUG), 0) | ifeq ($(DEBUG), 0) |
# -xW optimizes ifort compilation for Pentium 4 | # -xW optimizes ifort compilation for Pentium 4 |
# -ftrapuv initializes stack local variables to an unusual value to aid error detection. | # -ftrapuv initializes stack local variables to an unusual value to aid error detection. |
F_CF_ALL := $(F_CF_ALL) $(FCFLAGS_OPT) $(FCOMPILER_WARN) |
F_CF_ALL := $(F_CF_ALL) $(FCOMPILER_WARN) |
else | else |
F_CF_ALL := $(F_CF_ALL) -g $(FCFLAGS_INIT) $(FCOMPILER_WARN) | F_CF_ALL := $(F_CF_ALL) -g $(FCFLAGS_INIT) $(FCOMPILER_WARN) |
endif | endif |
|
|
FCOMP = $(FCOMPILER) $(F_CF_ALL) $(FF_TGT) -o $@ -c $< | FCOMP = $(FCOMPILER) $(F_CF_ALL) $(FF_TGT) -o $@ -c $< |
FLINK = $(FCOMPILER) $(F_LF_ALL) $(LF_TGT) -o $@ $^ $(LL_TGT) $(LL_ALL) | FLINK = $(FCOMPILER) $(F_LF_ALL) $(LF_TGT) -o $@ $^ $(LL_TGT) $(LL_ALL) |
| |
SLBIN = ln -sf ../../_$(JSOC_MACHINE)/$@ ../bin/$(JSOC_MACHINE)/ |
SLBIN = ln -sf ../../_$(MACH)/$@ ../bin/$(MACH)/ |
SLLIB = ln -sf ../../_$(JSOC_MACHINE)/$@ ../lib/$(JSOC_MACHINE)/ |
SLLIB = ln -sf ../../_$(MACH)/$@ ../lib/$(MACH)/ |
#***********************************************************************************************# | #***********************************************************************************************# |
| |
| |