(file) Return to make_basic.mk CVS log (file) (dir) Up to [Development] / JSOC

Diff for /JSOC/make_basic.mk between version 1.39 and 1.92

version 1.39, 2009/04/08 18:31:52 version 1.92, 2021/02/13 19:16:51
Line 1 
Line 1 
   #***********************************************************************************************#
   #
   # INITIALIZATION
   #
   
 VPATH  = $(SRCDIR) VPATH  = $(SRCDIR)
 STATIC = STATIC =
 DBNAME = POSTGRESQL  DBMS = POSTGRESQL
   CUSTOMSW =
 # This optional file has custom definitions created by the configure script  
 -include $(SRCDIR)/custom.mk  
  
 PGIPATH = /usr/include/pgsql  # 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 hostname)
   
   # 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 drmsparams.mk variables
   # relevant to its value. Otherwise, use $(JSOC_MACHINE).
   ifeq ($(MACH),)
   MACH = $(JSOC_MACHINE)
   endif
  
   #***********************************************************************************************#
   #
   # COMPILER SELECTION
   #
 COMPILER = icc COMPILER = icc
 ifeq ($(JSOC_MACHINE), mac_osx_ppc)  FCOMPILER = ifort
 COMPILER = gcc  MPICOMPILER = $(MPI_PATH)/mpicc
   MPIFCOMPILER = $(MPI_PATH)/mpif90
   
   # can set through drmsparams.mk or through environment
   ifneq ($(JSOC_COMPILER),)
   COMPILER = $(JSOC_COMPILER)
 endif endif
 ifeq ($(JSOC_MACHINE), mac_osx_ia32)  
 COMPILER = gcc  ifneq ($(JSOC_FCOMPILER),)
   FCOMPILER = $(JSOC_FCOMPILER)
 endif endif
   #***********************************************************************************************#
   
   #***********************************************************************************************#
   # This optional file has custom definitions created by the configure script.
   # Do this after compiler selection since drmsparams.mk might use $COMPILER or $FCOMPILER.
   # drmsparams.mk might also set compiler (through moreconfigure.pl)
   -include $(SRCDIR)/$(LOCALIZATIONDIR)/drmsparams.mk
   #***********************************************************************************************#
  
   #***********************************************************************************************#
   #
   # DEBUGGING
   #
 # Check for debug vs. release build - release is default. # Check for debug vs. release build - release is default.
 #   To do a debug build, either set the environment variable JSOC_DEBUG to 1, OR #   To do a debug build, either set the environment variable JSOC_DEBUG to 1, OR
 #   modify the following line so that DEBUG = 1.  The environment variable takes precedence. #   modify the following line so that DEBUG = 1.  The environment variable takes precedence.
   #
 DEBUG = 0 DEBUG = 0
  
 ifdef JSOC_DEBUG ifdef JSOC_DEBUG
Line 27  else
Line 63  else
 DEBUG = 0 DEBUG = 0
 endif endif
 endif endif
   #***********************************************************************************************#
  
 # No warnings are displayed, by default, for a release build.  
 WARN = 0  #***********************************************************************************************#
   #
   # WARNINGS
   #
   # Warnings ARE displayed, by default, for a release build.
   #
   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.
Line 41  WARN = 0
Line 84  WARN = 0
 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
   
 _JSOCROOT_ = ..  
   
 ifeq ($(JSOC_MACHINE), mac_osx)  
 F77 = f77  
 else  
 F77 = ifort  
 endif endif
  
 # if fortran compiler  #***********************************************************************************************#
 D_GCC_FORT =  
 ifeq ($(F77), ifort)  
   D_GCC_FORT = -DINTEL_FORTRAN  
 endif  
  
 ifeq ($(JSOC_MACHINE), linux_x86_64)  
   F77 = ifort -mcmodel=medium  
 endif  
  
 #***********************************************************************************************# #***********************************************************************************************#
 # #
   # THIRD-PARTY LIBRARIES
   #
 # This section contains make variables that hold the paths to and names of third-party libraries. # This section contains make variables that hold the paths to and names of third-party libraries.
 # Variables that end in 'H' contain the -I link flags that contain the include paths # Variables that end in 'H' contain the -I link flags that contain the include paths
 # for the library headers, variables that end in 'L' contain the -L link flags that # for the library headers, variables that end in 'L' contain the -L link flags that
 # contain the paths to the library binaries, and variables # contain the paths to the library binaries, and variables
 # that end in "LIBS" contain the full link cmd (the -L flag plus the -l flag) # that end in "LIBS" contain the full link cmd (the -L flag plus the -l flag)
 # #
 # Path to 3rd-party library headers  
 FMATHLIBSH = -I$(_JSOCROOT_)/lib_third_party/include  
 CFITSIOH = -I$(_JSOCROOT_)/lib_third_party/include  
 GSLH = -I$(_JSOCROOT_)/lib_third_party/include  
  
 ifeq ($(JSOC_MACHINE), linux_x86_64)  # PostgreSQL
 #    FMATHLIBS = -lmkl_lapack -lmkl -L$(_JSOCROOT_)/lib_third_party/lib/linux-x86_64/ -lfftw3f -lcfitsio  PGH = -I$(POSTGRES_INCS)
   # Path to 64-bit 3rd-party libraries  
   FMATHLIBSL = -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/  
   ECPGL = -L$(_JSOCROOT_)/lib_third_party/lib/linux_x86_64/  
 endif  
 ifeq ($(JSOC_MACHINE), linux_ia32)  
 #    FMATHLIBS = -lmkl_lapack -lmkl -L$(_JSOCROOT_)/lib_third_party/lib/linux-ia32/ -lfftw3f -lcfitsio  
   # Path to 32-bit 3rd-party libraries  
   FMATHLIBSL = -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/  
   ECPGL = -L$(_JSOCROOT_)/lib_third_party/lib/linux_ia32/  
 endif  
 ifeq ($(JSOC_MACHINE), mac_osx_ppc)  
 #    FMATHLIBS = -lmkl_lapack -lmkl -L$(_JSOCROOT_)/lib_third_party/lib/linux-ia32/ -lfftw3f -lcfitsio  
   # Path to appropriate 3rd-party libraries  
   FMATHLIBSL = -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/  
   ECPGL = -L$(_JSOCROOT_)/lib_third_party/lib/mac_osx_ppc/  
 endif  
 ifeq ($(JSOC_MACHINE), mac_osx_ia32)  
 #    FMATHLIBS = -lmkl_lapack -lmkl -L$(_JSOCROOT_)/lib_third_party/lib/linux-ia32/ -lfftw3f -lcfitsio  
   # Path to appropriate 3rd-party libraries  
   FMATHLIBSL = -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/  
   ECPGL = -L$(_JSOCROOT_)/lib_third_party/lib/mac_osx_ia32/  
 endif  
   
 # All 3rd-party math libraries - local rules can define a subset  
 FMATHLIBS = $(FMATHLIBSL) -lfftw3f  
 CFITSIOLIBS = $(CFITSIOL) -lcfitsio  
  
 ifeq ($(COMPILER), gcc)  # For use of dynamic library
         ifeq ($(JSOC_MACHINE), linux_x86_64)  PGLIBS = $(POSTGRES_LIBS)/lib$(POSTGRES_LIB).so
                 ifneq ($(CFITSIOFNAME_GCC_X86_64),)  
                         FMATHLIBS = $(FMATHLIBSL) -lfftw3f -l$(CFITSIOFNAME_GCC_X86_64)  # CFITSIO
                         CFITSIOLIBS = $(CFITSIOL) -l$(CFITSIOFNAME_GCC_X86_64)  CFITSIOH = -I$(CFITSIO_INCS)
                 endif  CFITSIOL = -L$(CFITSIO_LIBS)
         endif  CFITSIOLIBNAME = $(CFITSIO_LIB)
 endif  # make sure to use static library so we don't have to deal with locating the dynamic one at run time
   # set back to dynamic (the default) for the other libraries that could follow cfitsio
   CFITSIOLIBS = $(CFITSIOL) -Wl,-Bstatic -l$(CFITSIOLIBNAME) -Wl,-Bdynamic
   # end CFITSIO
   
   # 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
   
   # TAR
   LIBTARH = -I$(TAR_INCS)
   LIBTARL = -L$(TAR_LIBS) -ltar
   
   # Python
   LIBPYH = -I$(PY_INCS)
   LIBPYL = -L$(PY_LIBS) -l$(PY_LIB)
   PYTHONHOME = "\"$(PY_HOME)\""
  
 GSLLIBS = $(GSLL) -lgsl -lgslcblas  
 #***********************************************************************************************# #***********************************************************************************************#
  
  
   #***********************************************************************************************#
   #
   # CUSTOM BUILDS
   #
 # Compilation define customizations (eg., for remote DRMS builds) # Compilation define customizations (eg., for remote DRMS builds)
 CUSTOMSW =  
 ifneq ($(DRMS_DEFAULT_RETENTION),) ifneq ($(DRMS_DEFAULT_RETENTION),)
 #       CUSTOMSW = $(CUSTOMSW) -DDRMS_DEFAULT_RETENTION="\"$(DRMS_DEFAULT_RETENTION)\"" #       CUSTOMSW = $(CUSTOMSW) -DDRMS_DEFAULT_RETENTION="\"$(DRMS_DEFAULT_RETENTION)\""
         CUSTOMSW := $(CUSTOMSW) -DDRMS_DEFAULT_RETENTION=$(DRMS_DEFAULT_RETENTION)         CUSTOMSW := $(CUSTOMSW) -DDRMS_DEFAULT_RETENTION=$(DRMS_DEFAULT_RETENTION)
 endif endif
  
 ifneq ($(CUSTOM_DEFINES),)  # Due to legacy code, the name __LOCALIZED_DEFS__ must be used for NetDRMS builds.
 CUSTOMSW := $(CUSTOMSW) -D$(CUSTOM_DEFINES)  # Despite the name, this macro has nothing to do with localized definitions. It means
   # "not Stanford JSOC-SDP" (it essentially means NetDRMS). So, if __LOCALIZED_DEFS__ is set, then
   # the binaries were built for use outside of Stanford.
   # For future use, we also define the NETDRMS_BUILD as a synonym, but with a more appropriate name.
   # __LOCALIZED_DEFS__ is deprecated and should not be used in new code.
   ifeq ($(BUILD_TYPE),NETDRMS)
   CUSTOMSW := $(CUSTOMSW) -DNETDRMS_BUILD -D__LOCALIZED_DEFS__
   endif
   
   # Stanford builds are marked by the JSOC_SDP_BUILD  macro.
   ifeq ($(BUILD_TYPE),JSOC_SDP)
   CUSTOMSW := $(CUSTOMSW) -DJSOC_SDP_BUILD
 endif endif
  
 ### Build flags for all targets  
 # #
 LL_ALL          = $(SYSLIBS)  #***********************************************************************************************#
  
 GCC_LF_ALL      = $(STATIC) -g  #***********************************************************************************************#
 ifeq ($(JSOC_MACHINE), linux_ia64)  #
   ICC_LF_ALL    = $(STATIC)  # Global flags
 else  #
   ICC_LF_ALL    = $(STATIC) -xW  # All modules must be able to find libdsds.so. The define DRMS_LIBDIR specifies the path to
 endif  # all libraries.
  
 GCC_CF_GCCCOMP  = -DGCCCOMP $(D_GCC_FORT)  GLOBALSW = -DDRMS_ARCH="\"$(MACH)\"" -DDRMS_MAKE_ROOT_DIRECTORY="\"$(SRCDIR)\""
 ICC_CF_ICCCOMP  = -DICCCOMP $(D_GCC_FORT)  #
   #***********************************************************************************************#
  
 # Disable several warnings/remarks when compiling with icc - icc's Wall is a bit picky, it  #***********************************************************************************************#
   #
   # WARNINGS
   #
   # 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 = $(ICC_WARNMORE)
 GCC_WARN = -Winline -Wall -Wno-comment  GCC_WARN = -Wno-comment
 F77_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
 F77_WARN = -vec-report0  ifeq ($(FCOMPILER), ifort)
   FCOMPILER_WARN = -vec-report0
   else
   FCOMPILER_WARN =
   endif
 endif endif
  
   #***********************************************************************************************#
   
   
   #***********************************************************************************************#
   #
   # GLOBAL LINK FLAGS
   #
   # Link flags for all targets
   #
   LL_ALL          = $(SYSLIBS) -lcurl
   
   ifeq ($(JSOC_MACHINE), linux_avx)
   GCC_LF_ALL      = $(STATIC) -Wl,--copy-dt-needed-entries
   ICC_LF_ALL      = -diag-disable 10237 $(STATIC) -openmp -static-intel -Wl,-export-dynamic -Wl,--copy-dt-needed-entries
   else
   GCC_LF_ALL      = $(STATIC)
   ICC_LF_ALL      = -diag-disable 10237 $(STATIC) -openmp -static-intel -Wl,-export-dynamic
   endif
   
   # Fortran global LINK flags
   ifeq ($(FCOMPILER), ifort)
   F_LF_ALL        = -diag-disable 10237 -nofor-main  -openmp -static-intel -Wl,-export-dynamic
   endif
   #***********************************************************************************************#
   
   #***********************************************************************************************#
   #
   # GLOBAL COMPILE FLAGS
   #
   GCC_CF_GCCCOMP  = -DGCCCOMP
   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)    GCC_CF_ALL    = -I$(SRCDIR)/base/include -std=gnu99 -O2 $(GCC_WARN) $(GCC_CF_GCCCOMP) $(CUSTOMSW) $(GLOBALSW) -DNDEBUG
   ICC_CF_ALL = -I$(SRCDIR)/base/include -std=c99 -xW $(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)      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)
     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   endif
  
   ifeq ($(JSOC_MACHINE), linux_ia64)   ifeq ($(JSOC_MACHINE), linux_ia64)
     GCC_CF_ALL  = -I$(SRCDIR)/base/include -std=gnu99 -O2 $(GCC_WARN) $(GCC_CF_GCCCOMP) $(CUSTOMSW)      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 $(ICC_WARN) $(ICC_CF_ICCCOMP) $(CUSTOMSW)  
   endif   endif
  
   ifeq ($(JSOC_MACHINE), linux_ia32)   ifeq ($(JSOC_MACHINE), linux_ia32)
     GCC_CF_ALL  = -I$(SRCDIR)/base/include -std=gnu99 -O2 -march=i686 $(GCC_WARN) $(GCC_CF_GCCCOMP) $(CUSTOMSW)      GCC_CF_ALL  = -I$(SRCDIR)/base/include -std=gnu99 -O2 -march=i686 $(GCC_WARN) $(GCC_CF_GCCCOMP) $(CUSTOMSW) $(GLOBALSW) -DNDEBUG
   endif   endif
  
 else else
   # -g tells the icc and gcc compilers to generate full debugging information
     GCC_CF_ALL = -I$(SRCDIR)/base/include -std=gnu99 -g $(GCC_WARN) $(GCC_CF_GCCCOMP) $(CUSTOMSW) $(GLOBALSW)
     ICC_CF_ALL = -I$(SRCDIR)/base/include -std=c99 -D_GNU_SOURCE -g $(ICC_WARN) $(ICC_CF_ICCCOMP) $(CUSTOMSW) $(GLOBALSW)
   endif
  
   GCC_CF_ALL = -I$(SRCDIR)/base/include -std=gnu99 -g $(GCC_WARN) $(GCC_CF_GCCCOMP) $(CUSTOMSW)  # Fortran global COMPILE flags
   ICC_CF_ALL = -I$(SRCDIR)/base/include -std=c99 -g $(ICC_WARN) $(ICC_CF_ICCCOMP) $(CUSTOMSW)  ifeq ($(JSOC_MACHINE), linux_avx)
     ifeq ($(FCOMPILER), ifort)
       F_CF_ALL := -xavx -openmp
     endif
   endif
  
   ifeq ($(JSOC_MACHINE), linux_x86_64)
     ifeq ($(FCOMPILER), ifort)
       F_CF_ALL := -openmp
     endif
 endif endif
  
 # Fortran global LINK flags  # Other compiler-specific Fortran COMPILE flags
 F_LF_ALL        = -nofor_main -no-ipo  ifeq ($(FCOMPILER), ifort)
     FCFLAGS_INIT := -ftrapuv
   else
     # must be gfortran
     FCFLAGS_INIT  :=
   endif
  
 # Fortran global COMPILE flags  
 ifeq ($(DEBUG), 0) ifeq ($(DEBUG), 0)
 FF_ALL          = -xW -ftrapuv $(F77_WARN)  # -xW optimizes ifort compilation for Pentium 4
   # -ftrapuv initializes stack local variables to an unusual value to aid error detection.
     F_CF_ALL      := $(F_CF_ALL) $(FCOMPILER_WARN)
 else else
 FF_ALL          = -ftrapuv $(F77_WARN)    F_CF_ALL      := $(F_CF_ALL) -g $(FCFLAGS_INIT) $(FCOMPILER_WARN)
 endif endif
   #***********************************************************************************************#
   
  
 ### Build tools  #***********************************************************************************************#
   #
   # BUILD TOOLS
 # #
 # The C compiler named here must output full (header) dependencies in $(@).d. # The C compiler named here must output full (header) dependencies in $(@).d.
 # It may be necessary to create a script similar to ccd-gcc for your compiler. # It may be necessary to create a script similar to ccd-gcc for your compiler.
Line 237  else
Line 336  else
   COMPLINK      = $(ICC_COMPLINK)   COMPLINK      = $(ICC_COMPLINK)
 endif endif
  
 FCOMP           = $(F77) $(FF_ALL) $(FF_TGT) -o $@ -c $<  FCOMP           = $(FCOMPILER) $(F_CF_ALL) $(FF_TGT) -o $@ -c $<
 FLINK           = $(F77) $(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)/
   #***********************************************************************************************#
  
 ALL_LIBS_FPIC = $(LIBDRMSCLIENT_FPIC) $(LIBDBCLIENT_FPIC) $(LIBCMDPARAMS_FPIC) $(LIBTHREADUTIL_FPIC) $(LIBRICECOMP_FPIC) $(LIBDEFS_FPIC) $(LIBDSTRUCT_FPIC) $(LIBMISC_FPIC) $(LIBTIMEIO_FPIC) $(LIBFITSRW_FPIC)  
   #***********************************************************************************************#
   #
   # LIBRARY COLLECTIONS
   #
   ALL_LIBS_FPIC = $(LIBDRMSCLIENT_FPIC) $(LIBDBCLIENT_FPIC) $(LIBCMDPARAMS_FPIC) $(LIBTHREADUTIL_FPIC) $(LIBRICECOMP_FPIC) $(LIBDEFS_FPIC) $(LIBMISC_FPIC) $(LIBDSTRUCT_FPIC) $(LIBTIMEIO_FPIC) $(LIBFITSRW_FPIC)
   ALL_LIBS_PY_FPIC = $(LIBDRMS_SERVER_FPIC) $(LIBDB_SERVER_FPIC) $(LIBCMDPARAMS_FPIC) $(LIBTHREADUTIL_FPIC) $(LIBRICECOMP_FPIC) $(LIBDEFS_FPIC) $(LIBMISC_FPIC) $(LIBDSTRUCT_FPIC) $(LIBTIMEIO_FPIC) $(LIBFITSRW_FPIC)
  
 ### Standard parts ### Standard parts
 # #
Line 251  include $(SRCDIR)/Rules.mk
Line 357  include $(SRCDIR)/Rules.mk
  
 # Libraries from src/util linked with all programs. # Libraries from src/util linked with all programs.
 ifneq ($(COMPILER), icc) ifneq ($(COMPILER), icc)
   SYSLIBS = -lz -ldl -lpthread -lm    SYSLIBS = -lz -ldl -lpthread -lm -lutil
 else else
   SYSLIBS = -lz -ldl -lpthread    SYSLIBS = -lz -ldl -lpthread -lutil
 endif endif
 SRCLIBS = $(LIBTHREADUTIL) $(LIBRICECOMP) $(LIBCMDPARAMS) $(LIBDSTRUCT) $(LIBTIMEIO) $(LIBFITSRW) $(LIBERRLOG) $(LIBMISC)  SRCLIBS = $(LIBTHREADUTIL) $(LIBRICECOMP) $(LIBCMDPARAMS) $(LIBTIMEIO) $(LIBFITSRW) $(LIBERRLOG) $(LIBEXPDRMS) $(LIBEXPUTL) $(LIBMISC) $(LIBDSTRUCT) $(LIBSTATS)
 FSRCLIBS = $(LIBTHREADUTIL) $(LIBRICECOMP) $(LIBCMDPARAMSF) $(LIBDSTRUCT) $(LIBTIMEIO) $(LIBFITSRW) $(LIBERRLOG) $(LIBMISC)  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. ##############
  
 # SERVERLIBS: Libraries linked with "server" programs that # SERVERLIBS: Libraries linked with "server" programs that
 # need direct access to the DRMS databases. # need direct access to the DRMS databases.
 SERVERLIBS = $(LIBDRMS) $(LIBDEFSSERVER) $(LIBDB) $(LIBSUMSAPI) $(SRCLIBS)  SERVERLIBS = $(LIBDRMS) $(LIBDEFSSERVER) $(LIBDB) $(LIBSUMSAPI) $(LIBCJSON) $(SRCLIBS)
  
 # EXELIBS: Libraries linked with standalone executables. # EXELIBS: Libraries linked with standalone executables.
 EXELIBS = $(LIBDRMSCLIENT) $(LIBDEFSCLIENT) $(LIBDBCLIENT) $(SRCLIBS) EXELIBS = $(LIBDRMSCLIENT) $(LIBDEFSCLIENT) $(LIBDBCLIENT) $(SRCLIBS)
Line 272  EXELIBS = $(LIBDRMSCLIENT) $(LIBDEFSCLIE
Line 378  EXELIBS = $(LIBDRMSCLIENT) $(LIBDEFSCLIE
 MODLIBS = $(LIBJSOC_MAIN) $(SERVERLIBS) MODLIBS = $(LIBJSOC_MAIN) $(SERVERLIBS)
  
 # MODLIBS_SOCK: Libraries linked with DRMS modules with socket connection to a drms_server # MODLIBS_SOCK: Libraries linked with DRMS modules with socket connection to a drms_server
 MODLIBS_SOCK = $(LIBJSOC_MAIN_SOCK) $(LIBDRMSCLIENT) $(LIBDEFSCLIENT) $(LIBDBCLIENT) $(LIBSUMSAPI) $(SRCLIBS)  MODLIBS_SOCK = $(LIBJSOC_MAIN_SOCK) $(LIBDRMSCLIENT) $(LIBDEFSCLIENT) $(LIBDBCLIENT) $(LIBSUMSAPI) $(LIBCJSON) $(SRCLIBS)
  
 # FMODLIBS: Libraries linked with DRMS Fortran modules # FMODLIBS: Libraries linked with DRMS Fortran modules
 FMODLIBS_SOCK = $(LIBJSOC_MAIN_SOCK_F) $(LIBINTHANDLESF) $(LIBDRMSCLIENT) $(LIBDEFSCLIENT) $(LIBDBCLIENT) $(FSRCLIBS) FMODLIBS_SOCK = $(LIBJSOC_MAIN_SOCK_F) $(LIBINTHANDLESF) $(LIBDRMSCLIENT) $(LIBDEFSCLIENT) $(LIBDBCLIENT) $(FSRCLIBS)
   #***********************************************************************************************#
  
 MATHLIBS =  $(LIBLSQR) $(LIBBLAS) $(LIBLAPACK)  
  
   #***********************************************************************************************#
   #
   # PROJECT MAKE RULES
   #
 # Make rules that apply to all projects outside of the base DRMS/SUMS system # Make rules that apply to all projects outside of the base DRMS/SUMS system
 -include $(SRCDIR)/proj/make_basic.mk  -include $(SRCDIR)/$(LOCALIZATIONDIR)/make_basic.mk
   #***********************************************************************************************#
  
   
   #***********************************************************************************************#
   #
   # MODULE TYPES
   #
 # Make rules that apply to all projects, inside and outside of the base DRMS/SUMS system # Make rules that apply to all projects, inside and outside of the base DRMS/SUMS system
 $(CEXE):        %:      %.o $(EXELIBS) $(CEXE):        %:      %.o $(EXELIBS)
                 $(LINK)                 $(LINK)
                 $(SLBIN)                 $(SLBIN)
  
 $(FEXE):        %:      %.o $(MATHLIBS)  $(FEXE):        %:      %.o
                 $(FLINK)                 $(FLINK)
                 $(SLBIN)                 $(SLBIN)
  
 $(SERVEREXE):   LL_TGT := $(LL_TGT) -lpq $(CFITSIOLIBS)  $(SERVEREXE):   LL_TGT := $(LL_TGT) $(PGLIBS) $(CFITSIOLIBS)
 $(SERVEREXE):   %:      %.o $(SERVERLIBS) $(SERVEREXE):   %:      %.o $(SERVERLIBS)
                         $(LINK)                         $(LINK)
                         $(SLBIN)                         $(SLBIN)
  
 $(MODEXE):      LL_TGT := $(LL_TGT) -lpq $(CFITSIOLIBS)  $(MODEXE):      LL_TGT := $(LL_TGT) $(PGLIBS) $(CFITSIOLIBS)
 $(MODEXE):      %:      %.o $(MODLIBS) $(MODEXE):      %:      %.o $(MODLIBS)
                         $(LINK)                         $(LINK)
                         $(SLBIN)                         $(SLBIN)
  
 $(MODEXE_SOCK): LL_TGT := $(LL_TGT) $(CFITSIOLIBS)  $(MODEXE_SOCK): LL_TGT := $(LL_TGT) $(PGLIBS) $(CFITSIOLIBS)
 $(MODEXE_SOCK): %_sock: %.o $(MODLIBS_SOCK) $(MODEXE_SOCK): %_sock: %.o $(MODLIBS_SOCK)
                         $(LINK)                         $(LINK)
                         $(SLBIN)                         $(SLBIN)
 # FMODEXE 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):     LL_TGT := $(LL_TGT) $(CFITSIOLIBS) $(FMATHLIBS)  $(FMODEXE_SOCK):        LL_TGT := $(LL_TGT) $(PGLIBS) $(CFITSIOLIBS)
 $(FMODEXE):     %_sock: %.o $(FMODLIBS_SOCK)  $(FMODEXE_SOCK):     %_sock:    %.o $(FMODLIBS_SOCK)
                         $(FLINK)                         $(FLINK)
                         $(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) $(PGLIBS) $(CFITSIOLIBS)
 $(MODEXE_USEF):     %:  %.o $(MODLIBS) $(MODEXE_USEF):     %:  %.o $(MODLIBS)
                         $(FLINK)                         $(FLINK)
                         $(SLBIN)                         $(SLBIN)
 # MODEXE_USEF contains all C socket-connect modules that use third-party Fortran libraries. # MODEXE_USEF contains all C socket-connect modules that use third-party Fortran libraries.
 $(MODEXE_USEF_SOCK):    LL_TGT := $(LL_TGT) $(CFITSIOLIBS) $(FMATHLIBS)  $(MODEXE_USEF_SOCK):    LL_TGT := $(LL_TGT) $(PGLIBS) $(CFITSIOLIBS)
 $(MODEXE_USEF_SOCK): %_sock: %.o $(MODLIBS_SOCK) $(MODEXE_USEF_SOCK): %_sock: %.o $(MODLIBS_SOCK)
                         $(FLINK)                         $(FLINK)
                         $(SLBIN)                         $(SLBIN)
   #***********************************************************************************************#


Legend:
Removed from v.1.39  
changed lines
  Added in v.1.92

Karen Tian
Powered by
ViewCVS 0.9.4