version 1.75, 2012/03/15 16:08:05
|
version 1.78, 2012/09/26 04:50:49
|
|
|
# | # |
COMPILER = icc | COMPILER = icc |
FCOMPILER = ifort | FCOMPILER = ifort |
|
MPICOMPILER = $(MPI_PATH)/mpicc |
|
MPIFCOMPILER = $(MPI_PATH)/mpif90 |
| |
# can set through custom.mk or through environment | # can set through custom.mk or through environment |
ifneq ($(JSOC_COMPILER),) | ifneq ($(JSOC_COMPILER),) |
Line 109 CFITSIOL = -L$(CFITSIO_LIBS) |
|
Line 111 CFITSIOL = -L$(CFITSIO_LIBS) |
|
CFITSIOLIBNAME = $(CFITSIO_LIB) | CFITSIOLIBNAME = $(CFITSIO_LIB) |
CFITSIOLIBS = $(CFITSIOL) -l$(CFITSIOLIBNAME) | CFITSIOLIBS = $(CFITSIOL) -l$(CFITSIOLIBNAME) |
| |
|
# GSL |
|
GSLH = -I$(GSL_INCS) |
|
GSLL = -L$(GSL_LIBS) |
|
GSLLIBS = $(GSLL) -lgsl |
|
|
|
# FFTW |
|
FFTWH = -I$(FFTW_INCS) |
|
FFTWL = -L$(FFTW_LIBS) |
|
FFTW3LIBS = $(FFTWL) -lfftw3 |
|
FFTW3FLIBS = $(FFTWL) -lfftw3f |
|
|
#***********************************************************************************************# | #***********************************************************************************************# |
| |
| |
|
|
# | # |
LL_ALL = $(SYSLIBS) | LL_ALL = $(SYSLIBS) |
GCC_LF_ALL = $(STATIC) | GCC_LF_ALL = $(STATIC) |
ICC_LF_ALL = $(STATIC) -openmp -static-intel -Wl,-export-dynamic |
ICC_LF_ALL = -diag-disable 10237 $(STATIC) -openmp -static-intel -Wl,-export-dynamic |
| |
# Fortran global LINK flags | # Fortran global LINK flags |
ifeq ($(FCOMPILER), ifort) | ifeq ($(FCOMPILER), ifort) |
F_LF_ALL = -nofor-main -openmp -static-intel -Wl,-export-dynamic |
F_LF_ALL = -diag-disable 10237 -nofor-main -openmp -static-intel -Wl,-export-dynamic |
endif | endif |
#***********************************************************************************************# | #***********************************************************************************************# |
| |
Line 201 ICC_CF_ICCCOMP = -DICCCOMP -openmp |
|
Line 214 ICC_CF_ICCCOMP = -DICCCOMP -openmp |
|
# 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) -DNDEBUG | GCC_CF_ALL = -I$(SRCDIR)/base/include -std=gnu99 -O2 $(GCC_WARN) $(GCC_CF_GCCCOMP) $(CUSTOMSW) $(GLOBALSW) -DNDEBUG |
# -xW tells the icc compiler to optimize for Pentium 4 |
|
ICC_CF_ALL = -I$(SRCDIR)/base/include -std=c99 -D_GNU_SOURCE $(ICC_WARN) $(ICC_CF_ICCCOMP) $(CUSTOMSW) $(GLOBALSW) -DNDEBUG |
|
| |
ifeq ($(JSOC_MACHINE), linux_x86_64) | ifeq ($(JSOC_MACHINE), linux_x86_64) |
|
ICC_CF_ALL = -I$(SRCDIR)/base/include -std=c99 -D_GNU_SOURCE $(ICC_WARN) $(ICC_CF_ICCCOMP) $(CUSTOMSW) $(GLOBALSW) -DNDEBUG |
GCC_CF_ALL = -I$(SRCDIR)/base/include -std=gnu99 -O2 -march=opteron $(GCC_WARN) $(GCC_CF_GCCCOMP) $(CUSTOMSW) $(GLOBALSW) -DNDEBUG | GCC_CF_ALL = -I$(SRCDIR)/base/include -std=gnu99 -O2 -march=opteron $(GCC_WARN) $(GCC_CF_GCCCOMP) $(CUSTOMSW) $(GLOBALSW) -DNDEBUG |
endif | endif |
| |
|
ifeq ($(JSOC_MACHINE), linux_avx) |
|
ICC_CF_ALL = -xavx -I$(SRCDIR)/base/include -std=c99 -D_GNU_SOURCE $(ICC_WARN) $(ICC_CF_ICCCOMP) $(CUSTOMSW) $(GLOBALSW) -DNDEBUG |
|
endif |
|
|
ifeq ($(JSOC_MACHINE), linux_ia64) | ifeq ($(JSOC_MACHINE), linux_ia64) |
ICC_CF_ALL = -I$(SRCDIR)/base/include -std=c99 -D_GNU_SOURCE $(ICC_WARN) $(ICC_CF_ICCCOMP) $(CUSTOMSW) $(GLOBALSW) -DNDEBUG | ICC_CF_ALL = -I$(SRCDIR)/base/include -std=c99 -D_GNU_SOURCE $(ICC_WARN) $(ICC_CF_ICCCOMP) $(CUSTOMSW) $(GLOBALSW) -DNDEBUG |
endif | endif |
|
|
endif | endif |
| |
# Fortran global COMPILE flags | # Fortran global COMPILE flags |
|
ifeq ($(JSOC_MACHINE), linux_avx) |
|
ifeq ($(FCOMPILER), ifort) |
|
F_CF_ALL := -xavx -openmp |
|
endif |
|
endif |
|
|
ifeq ($(JSOC_MACHINE), linux_x86_64) | ifeq ($(JSOC_MACHINE), linux_x86_64) |
ifeq ($(FCOMPILER), ifort) | ifeq ($(FCOMPILER), ifort) |
F_CF_ALL := -openmp | F_CF_ALL := -openmp |
Line 304 ifneq ($(COMPILER), icc) |
|
Line 326 ifneq ($(COMPILER), icc) |
|
else | else |
SYSLIBS = -lz -ldl -lpthread | SYSLIBS = -lz -ldl -lpthread |
endif | endif |
SRCLIBS = $(LIBTHREADUTIL) $(LIBRICECOMP) $(LIBCMDPARAMS) $(LIBTIMEIO) $(LIBFITSRW) $(LIBERRLOG) $(LIBEXPDRMS) $(LIBEXPUTL) $(LIBMISC) $(LIBDSTRUCT) |
SRCLIBS = $(LIBTHREADUTIL) $(LIBRICECOMP) $(LIBCMDPARAMS) $(LIBTIMEIO) $(LIBFITSRW) $(LIBERRLOG) $(LIBEXPDRMS) $(LIBEXPUTL) $(LIBMISC) $(LIBDSTRUCT) $(LIBSTATS) |
FSRCLIBS = $(LIBTHREADUTIL) $(LIBRICECOMP) $(LIBCMDPARAMSF) $(LIBTIMEIO) $(LIBFITSRW) $(LIBERRLOG) $(LIBEXPDRMS) $(LIBEXPUTL) $(LIBMISC) $(LIBDSTRUCT) |
FSRCLIBS = $(LIBTHREADUTIL) $(LIBRICECOMP) $(LIBCMDPARAMSF) $(LIBTIMEIO) $(LIBFITSRW) $(LIBERRLOG) $(LIBEXPDRMS) $(LIBEXPUTL) $(LIBMISC) $(LIBDSTRUCT) $(LIBSTATS) |
| |
########## Libraries to link for server executables, ############## | ########## Libraries to link for server executables, ############## |
########## standalone executables and pipeline modules. ############## | ########## standalone executables and pipeline modules. ############## |
Line 367 $(MODEXE_SOCK): %_sock: %.o $(MODLIBS_SO |
|
Line 389 $(MODEXE_SOCK): %_sock: %.o $(MODLIBS_SO |
|
# FMODEXE_SOCK contains all Fortran modules - the DoIt() function is defined inside a .f file. | # FMODEXE_SOCK contains all Fortran modules - the DoIt() function is defined inside a .f file. |
# These are socket-connect modules only. Assume they use third-party Fortran libraries | # These are socket-connect modules only. Assume they use third-party Fortran libraries |
# (although this may not be the case). | # (although this may not be the case). |
$(FMODEXE_SOCK): LL_TGT := $(LL_TGT) $(CFITSIOLIBS) |
$(FMODEXE_SOCK): LL_TGT := $(LL_TGT) $(PGLIBS) $(CFITSIOLIBS) |
$(FMODEXE_SOCK): %_sock: %.o $(FMODLIBS_SOCK) | $(FMODEXE_SOCK): %_sock: %.o $(FMODLIBS_SOCK) |
$(FLINK) | $(FLINK) |
$(SLBIN) | $(SLBIN) |