version 1.47, 2009/07/24 14:13:48
|
version 1.53, 2009/08/20 18:46:10
|
|
|
STATIC = | STATIC = |
DBNAME = POSTGRESQL | DBNAME = POSTGRESQL |
| |
# This optional file has custom definitions created by the configure script |
_JSOCROOT_ = .. |
-include $(SRCDIR)/custom.mk |
|
| |
PGIPATH = /usr/include/pgsql | PGIPATH = /usr/include/pgsql |
|
ECPGL = -L$(_JSOCROOT_)/lib_third_party/lib/$(JSOC_MACHINE)/ |
| |
_JSOCROOT_ = .. |
# This optional file has custom definitions created by the configure script |
|
-include $(SRCDIR)/custom.mk |
| |
#***********************************************************************************************# | #***********************************************************************************************# |
# | # |
|
|
# | # |
# WARNINGS | # WARNINGS |
# | # |
# No warnings are displayed, by default, for a release build. |
# Warnings ARE displayed, by default, for a release build. |
# | # |
WARN = 0 |
WARN = 1 |
| |
# Builder can request warnings via environment variable (setenv JSOC_WARN 1). | # Builder can request warnings via environment variable (setenv JSOC_WARN 1). |
# The environment variable takes precedence. | # The environment variable takes precedence. |
|
|
endif | endif |
endif | endif |
| |
# Warnings are always displayed for a debug build. |
ICC_WARNMORE = |
ifeq ($(DEBUG), 1) |
ifdef JSOC_WARNICC |
WARN = 1 |
ifeq ($(COMPILER), icc) |
|
ICC_WARNMORE = $(JSOC_WARNICC) |
endif | endif |
|
endif |
|
|
#***********************************************************************************************# | #***********************************************************************************************# |
| |
| |
Line 101 ifeq ($(JSOC_MACHINE), linux_x86_64) |
|
Line 105 ifeq ($(JSOC_MACHINE), linux_x86_64) |
|
FMATHLIBSL = -L$(_JSOCROOT_)/lib_third_party/lib/linux_x86_64/ | FMATHLIBSL = -L$(_JSOCROOT_)/lib_third_party/lib/linux_x86_64/ |
CFITSIOL = -L$(_JSOCROOT_)/lib_third_party/lib/linux_x86_64/ | CFITSIOL = -L$(_JSOCROOT_)/lib_third_party/lib/linux_x86_64/ |
GSLL = -L$(_JSOCROOT_)/lib_third_party/lib/linux_x86_64/ | GSLL = -L$(_JSOCROOT_)/lib_third_party/lib/linux_x86_64/ |
ECPGL = -L$(_JSOCROOT_)/lib_third_party/lib/linux_x86_64/ |
# ECPGL = -L$(_JSOCROOT_)/lib_third_party/lib/linux_x86_64/ |
endif | endif |
ifeq ($(JSOC_MACHINE), linux_ia32) | ifeq ($(JSOC_MACHINE), linux_ia32) |
# FMATHLIBS = -lmkl_lapack -lmkl -L$(_JSOCROOT_)/lib_third_party/lib/linux-ia32/ -lfftw3f -lcfitsio | # FMATHLIBS = -lmkl_lapack -lmkl -L$(_JSOCROOT_)/lib_third_party/lib/linux-ia32/ -lfftw3f -lcfitsio |
Line 109 ifeq ($(JSOC_MACHINE), linux_ia32) |
|
Line 113 ifeq ($(JSOC_MACHINE), linux_ia32) |
|
FMATHLIBSL = -L$(_JSOCROOT_)/lib_third_party/lib/linux_ia32/ | FMATHLIBSL = -L$(_JSOCROOT_)/lib_third_party/lib/linux_ia32/ |
CFITSIOL = -L$(_JSOCROOT_)/lib_third_party/lib/linux_ia32/ | CFITSIOL = -L$(_JSOCROOT_)/lib_third_party/lib/linux_ia32/ |
GSLL = -L$(_JSOCROOT_)/lib_third_party/lib/linux_ia32/ | GSLL = -L$(_JSOCROOT_)/lib_third_party/lib/linux_ia32/ |
ECPGL = -L$(_JSOCROOT_)/lib_third_party/lib/linux_ia32/ |
# ECPGL = -L$(_JSOCROOT_)/lib_third_party/lib/linux_ia32/ |
endif | endif |
ifeq ($(JSOC_MACHINE), mac_osx_ppc) | ifeq ($(JSOC_MACHINE), mac_osx_ppc) |
# FMATHLIBS = -lmkl_lapack -lmkl -L$(_JSOCROOT_)/lib_third_party/lib/linux-ia32/ -lfftw3f -lcfitsio | # FMATHLIBS = -lmkl_lapack -lmkl -L$(_JSOCROOT_)/lib_third_party/lib/linux-ia32/ -lfftw3f -lcfitsio |
Line 117 ifeq ($(JSOC_MACHINE), mac_osx_ppc) |
|
Line 121 ifeq ($(JSOC_MACHINE), mac_osx_ppc) |
|
FMATHLIBSL = -L$(_JSOCROOT_)/lib_third_party/lib/mac_osx_ppc/ | FMATHLIBSL = -L$(_JSOCROOT_)/lib_third_party/lib/mac_osx_ppc/ |
CFITSIOL = -L$(_JSOCROOT_)/lib_third_party/lib/mac_osx_ppc/ | CFITSIOL = -L$(_JSOCROOT_)/lib_third_party/lib/mac_osx_ppc/ |
GSLL = -L$(_JSOCROOT_)/lib_third_party/lib/mac_osx_ppc/ | GSLL = -L$(_JSOCROOT_)/lib_third_party/lib/mac_osx_ppc/ |
ECPGL = -L$(_JSOCROOT_)/lib_third_party/lib/mac_osx_ppc/ |
# ECPGL = -L$(_JSOCROOT_)/lib_third_party/lib/mac_osx_ppc/ |
endif | endif |
ifeq ($(JSOC_MACHINE), mac_osx_ia32) | ifeq ($(JSOC_MACHINE), mac_osx_ia32) |
# FMATHLIBS = -lmkl_lapack -lmkl -L$(_JSOCROOT_)/lib_third_party/lib/linux-ia32/ -lfftw3f -lcfitsio | # FMATHLIBS = -lmkl_lapack -lmkl -L$(_JSOCROOT_)/lib_third_party/lib/linux-ia32/ -lfftw3f -lcfitsio |
Line 125 ifeq ($(JSOC_MACHINE), mac_osx_ia32) |
|
Line 129 ifeq ($(JSOC_MACHINE), mac_osx_ia32) |
|
FMATHLIBSL = -L$(_JSOCROOT_)/lib_third_party/lib/mac_osx_ia32/ | FMATHLIBSL = -L$(_JSOCROOT_)/lib_third_party/lib/mac_osx_ia32/ |
CFITSIOL = -L$(_JSOCROOT_)/lib_third_party/lib/mac_osx_ia32/ | CFITSIOL = -L$(_JSOCROOT_)/lib_third_party/lib/mac_osx_ia32/ |
GSLL = -L$(_JSOCROOT_)/lib_third_party/lib/mac_osx_ia32/ | GSLL = -L$(_JSOCROOT_)/lib_third_party/lib/mac_osx_ia32/ |
ECPGL = -L$(_JSOCROOT_)/lib_third_party/lib/mac_osx_ia32/ |
# ECPGL = -L$(_JSOCROOT_)/lib_third_party/lib/mac_osx_ia32/ |
endif | endif |
| |
# All 3rd-party math libraries - local rules can define a subset |
# All 3rd-party libraries - local rules can define a subset |
FMATHLIBS = $(FMATHLIBSL) -lfftw3f | FMATHLIBS = $(FMATHLIBSL) -lfftw3f |
CFITSIOLIBS = $(CFITSIOL) -lcfitsio | CFITSIOLIBS = $(CFITSIOL) -lcfitsio |
|
ECPGLIBS = $(ECPGL) -lpq |
| |
ifeq ($(COMPILER), gcc) | ifeq ($(COMPILER), gcc) |
ifeq ($(JSOC_MACHINE), linux_x86_64) | ifeq ($(JSOC_MACHINE), linux_x86_64) |
|
|
# | # |
# WARNINGS | # WARNINGS |
# | # |
# Disable several warnings/remarks when compiling with icc - icc's Wall is a bit picky, it |
# NO LONGER USED - Disable several warnings/remarks when compiling with icc - icc's Wall is a bit picky, it |
# complains about extern declarations in .c files. | # complains about extern declarations in .c files. |
# 1418 (remark) - external function definition with no prior declaration | # 1418 (remark) - external function definition with no prior declaration |
# 1419 (warning) - external declaration in primary source file | # 1419 (warning) - external declaration in primary source file |
# 310 (remark) - old style function declaration (pre-ANSI) | # 310 (remark) - old style function declaration (pre-ANSI) |
|
# 279 ? |
# 981 (remark) - operands are evaluted in unspecified order | # 981 (remark) - operands are evaluted in unspecified order |
| |
|
# list of warnings to turn into errors |
|
ICC_WARNTOERR = -we266 |
|
|
ifeq ($(WARN), 1) | ifeq ($(WARN), 1) |
# Show warnings (always true for a debug build). | # Show warnings (always true for a debug build). |
ICC_WARN = -Winline -Wall -wd1418 -wd1419 -wd310 -wd279 -wd981 -Wno-comment |
ICC_WARN = -Winline -Wall $(ICC_WARNMORE) |
GCC_WARN = -Winline -Wall -Wno-comment | GCC_WARN = -Winline -Wall -Wno-comment |
FCOMPILER_WARN = | FCOMPILER_WARN = |
else | else |
# Don't show warnings. | # Don't show warnings. |
ICC_WARN = -w0 -vec-report0 -Wno-comment |
ICC_WARN = -w0 -vec-report0 -Wno-comment $(ICC_WARNTOERR) |
GCC_WARN = -Wno-comment | GCC_WARN = -Wno-comment |
ifeq ($(FCOMPILER), ifort) | ifeq ($(FCOMPILER), ifort) |
FCOMPILER_WARN = -vec-report0 | FCOMPILER_WARN = -vec-report0 |
|
|
FCOMPILER_WARN = | FCOMPILER_WARN = |
endif | endif |
endif | endif |
|
|
#***********************************************************************************************# | #***********************************************************************************************# |
| |
| |
Line 214 F_LF_ALL = -nofor_main -no-ipo |
|
Line 224 F_LF_ALL = -nofor_main -no-ipo |
|
GCC_CF_GCCCOMP = -DGCCCOMP | GCC_CF_GCCCOMP = -DGCCCOMP |
ICC_CF_ICCCOMP = -DICCCOMP | ICC_CF_ICCCOMP = -DICCCOMP |
| |
|
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) | GCC_CF_ALL = -I$(SRCDIR)/base/include -std=gnu99 -O2 $(GCC_WARN) $(GCC_CF_GCCCOMP) $(CUSTOMSW) |
# -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 -xW $(ICC_WARN) $(ICC_CF_ICCCOMP) $(CUSTOMSW) |
ICC_CF_ALL = -I$(SRCDIR)/base/include -std=c99 -D_GNU_SOURCE $(CCFLAGS_OPT) $(ICC_WARN) $(ICC_CF_ICCCOMP) $(CUSTOMSW) |
| |
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) | GCC_CF_ALL = -I$(SRCDIR)/base/include -std=gnu99 -O2 -march=opteron $(GCC_WARN) $(GCC_CF_GCCCOMP) $(CUSTOMSW) |
Line 250 ifeq ($(FCOMPILER), ifort) |
|
Line 268 ifeq ($(FCOMPILER), ifort) |
|
ifeq ($(JSOC_MACHINE), linux_x86_64) | ifeq ($(JSOC_MACHINE), linux_x86_64) |
FCFLAGS_OPT := -xW | FCFLAGS_OPT := -xW |
endif | endif |
FCLFAGS_INIT := -ftrapuv |
FCFLAGS_INIT := -ftrapuv |
else | else |
# must be gfortran | # must be gfortran |
FCFLAGS_OPT := -g |
FCFLAGS_OPT := |
FCLFAGS_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) $(FCLFAGS_INIT) $(FCOMPILER_WARN) |
F_CF_ALL := $(F_CF_ALL) $(FCFLAGS_OPT) $(FCOMPILER_WARN) |
else | else |
F_CF_ALL := $(F_CF_ALL) $(FCLFAGS_INIT) $(FCOMPILER_WARN) |
F_CF_ALL := $(F_CF_ALL) -g $(FCFLAGS_INIT) $(FCOMPILER_WARN) |
endif | endif |
#***********************************************************************************************# | #***********************************************************************************************# |
| |
Line 370 $(FEXE): %: %.o $(FMATHLIBS) |
|
Line 388 $(FEXE): %: %.o $(FMATHLIBS) |
|
$(FLINK) | $(FLINK) |
$(SLBIN) | $(SLBIN) |
| |
$(SERVEREXE): LL_TGT := $(LL_TGT) -lpq $(CFITSIOLIBS) |
$(SERVEREXE): LL_TGT := $(LL_TGT) $(ECPGLIBS) $(CFITSIOLIBS) |
$(SERVEREXE): %: %.o $(SERVERLIBS) | $(SERVEREXE): %: %.o $(SERVERLIBS) |
$(LINK) | $(LINK) |
$(SLBIN) | $(SLBIN) |
| |
$(MODEXE): LL_TGT := $(LL_TGT) -lpq $(CFITSIOLIBS) |
$(MODEXE): LL_TGT := $(LL_TGT) $(ECPGLIBS) $(CFITSIOLIBS) |
$(MODEXE): %: %.o $(MODLIBS) | $(MODEXE): %: %.o $(MODLIBS) |
$(LINK) | $(LINK) |
$(SLBIN) | $(SLBIN) |
Line 393 $(FMODEXE_SOCK): %_sock: %.o $(FMODL |
|
Line 411 $(FMODEXE_SOCK): %_sock: %.o $(FMODL |
|
$(SLBIN) | $(SLBIN) |
| |
# MODEXE_USEF contains all C direct-connect modules that use third-party Fortran libraries. | # MODEXE_USEF contains all C direct-connect modules that use third-party Fortran libraries. |
$(MODEXE_USEF): LL_TGT := $(LL_TGT) -lpq $(CFITSIOLIBS) $(FMATHLIBS) |
$(MODEXE_USEF): LL_TGT := $(LL_TGT) $(ECPGLIBS) $(CFITSIOLIBS) $(FMATHLIBS) |
$(MODEXE_USEF): %: %.o $(MODLIBS) | $(MODEXE_USEF): %: %.o $(MODLIBS) |
$(FLINK) | $(FLINK) |
$(SLBIN) | $(SLBIN) |