version 1.53, 2009/09/28 20:51:52
|
version 1.58, 2010/03/11 03:58:49
|
|
|
#! /bin/csh -f | #! /bin/csh -f |
| |
rm custom.mk |
|
|
|
# set up $JSOC_MACHINE | # set up $JSOC_MACHINE |
set JSOC_MACHINE = `build/jsoc_machine.csh` | set JSOC_MACHINE = `build/jsoc_machine.csh` |
echo "Machine type is $JSOC_MACHINE" | echo "Machine type is $JSOC_MACHINE" |
Line 159 if ($CHKLIBS == "no") then |
|
Line 157 if ($CHKLIBS == "no") then |
|
echo "done" | echo "done" |
echo | echo |
| |
if (-e suflag.txt) then |
|
# Stanford third-party libraries |
|
echo 'POSTGRES_LIB = pq' >> custom.mk |
|
echo 'CFITSIO_LIB = cfitsio' >> custom.mk |
|
|
|
echo 'ifeq ($(JSOC_MACHINE), linux_x86_64)' >> custom.mk |
|
echo ' POSTGRES_INCS = /usr/include' >> custom.mk |
|
echo ' POSTGRES_LIBS = /usr/lib64' >> custom.mk |
|
echo ' CFITSIO_INCS = /home/jsoc/include' >> custom.mk |
|
echo ' CFITSIO_LIBS = /home/jsoc/lib/linux-x86_64' >> custom.mk |
|
echo 'endif' >> custom.mk |
|
|
|
echo 'ifeq ($(JSOC_MACHINE), linux_ia32)' >> custom.mk |
|
echo ' POSTGRES_INCS = /usr/include' >> custom.mk |
|
echo ' POSTGRES_LIBS = /usr/lib' >> custom.mk |
|
echo ' CFITSIO_INCS = /home/jsoc/include' >> custom.mk |
|
echo ' CFITSIO_LIBS = /home/jsoc/lib/linux-ia32' >> custom.mk |
|
echo 'endif' >> custom.mk |
|
|
|
# Set custom make file to tell the make system that the gcc cfitsio library is called |
|
# libcfitsio_gcc.a |
|
echo 'ifeq ($(COMPILER), gcc)' >> custom.mk |
|
echo ' ifeq ($(JSOC_MACHINE), linux_x86_64)' >> custom.mk |
|
echo ' CFITSIO_LIB = cfitsio_gcc' >> custom.mk |
|
echo ' endif' >> custom.mk |
|
echo 'endif' >> custom.mk |
|
endif |
|
|
|
# Make customizations - ensure changes here are synchronized to changes in make_basic.mk |
|
if (!(-e suflag.txt)) then |
|
# put compilation customizations here |
|
# echo "DRMS_DEFAULT_RETENTION = -10" >> custom.mk |
|
endif |
|
|
|
echo "done" |
|
echo |
|
|
|
# generate links for DSDS/SOI dynamic libraries - only do this if | # generate links for DSDS/SOI dynamic libraries - only do this if |
# user's environment has access to /home/soi/CM | # user's environment has access to /home/soi/CM |
if (-d /home/soi/CM/include && -d /home/soi/CM/src) then | if (-d /home/soi/CM/include && -d /home/soi/CM/src) then |
Line 208 if ($CHKLIBS == "no") then |
|
Line 169 if ($CHKLIBS == "no") then |
|
endif | endif |
endif | endif |
| |
|
echo "done" |
|
echo |
|
|
# Site Localization | # Site Localization |
|
|
|
# Path to the configuration file - at some point, make this an argument to the configure script |
|
set LOCALIZATIONDIR = "" |
|
set conflocal = "config.local" |
|
|
|
if (-e $conflocal) then |
|
set LOCALIZATIONDIR = `perl -n -e 'if ($_ =~ /^LOCALIZATIONDIR\s+(.+)/) { print $1; }' $conflocal` |
|
endif |
|
|
|
if ($LOCALIZATIONDIR == "") then |
|
set LOCALIZATIONDIR = ${PWD}/localization |
|
endif |
|
|
|
# Eventually, dump all these generated files into a user-specified location. |
|
# This script will need to read the config.local file to get the |
|
# localization directory. Otherwise, just use JSOC/localization as the default. |
|
# We should put custom.mk in the localization directory too. |
|
if (!(-d ${LOCALIZATIONDIR})) then |
|
mkdir ${LOCALIZATIONDIR} |
|
if ($? != 0) then |
|
echo "Error creating localization directory." |
|
endif |
|
endif |
|
|
|
if (-e ${LOCALIZATIONDIR}/custom.mk) then |
|
rm ${LOCALIZATIONDIR}/custom.mk |
|
endif |
|
|
|
# run moreconfigure.pl - this script is written in perl because it is easier to do the compiler detection |
|
# in perl. It also reads suflag.txt (if it exists) to set the default Stanford values for certain make variables |
|
./moreconfigure.pl -f${LOCALIZATIONDIR}/custom.mk |
|
|
if (!(-e suflag.txt)) then | if (!(-e suflag.txt)) then |
if (!(-e config.local)) then | if (!(-e config.local)) then |
echo "Error: config.local not found. If you have a saved version of this" | echo "Error: config.local not found. If you have a saved version of this" |
Line 222 if ($CHKLIBS == "no") then |
|
Line 218 if ($CHKLIBS == "no") then |
|
echo " NetDRMS. Keep a safe copy of it somewhere outside of the DRMS" | echo " NetDRMS. Keep a safe copy of it somewhere outside of the DRMS" |
echo " directory tree, for example in /usr/local. After each NetDRMS" | echo " directory tree, for example in /usr/local. After each NetDRMS" |
echo " update, ensure this file is in place." | echo " update, ensure this file is in place." |
|
exit 1; |
else | else |
echo "CUSTOM_DEFINES = __LOCALIZED_DEFS__" >> custom.mk |
echo "CUSTOM_DEFINES = __LOCALIZED_DEFS__" >> ${LOCALIZATIONDIR}/custom.mk |
./gen_init.csh | ./gen_init.csh |
./customizemake.pl |
./customizemake.pl ./config.local ${LOCALIZATIONDIR} |
endif | endif |
else if (-e config.local) then | else if (-e config.local) then |
# config.local is optional at Stanford, but it won't necessarily contain the same information that | # config.local is optional at Stanford, but it won't necessarily contain the same information that |
Line 240 if ($CHKLIBS == "no") then |
|
Line 237 if ($CHKLIBS == "no") then |
|
# items included in config.local to override those defined in serverdefs.h, but not all | # items included in config.local to override those defined in serverdefs.h, but not all |
# items need be specified in config.local. | # items need be specified in config.local. |
./customizedefs.pl | ./customizedefs.pl |
echo "CUSTOM_DEFINES = __CUSTOMIZED_DEFS__" >> custom.mk |
echo "CUSTOM_DEFINES = __CUSTOMIZED_DEFS__" >> ${LOCALIZATIONDIR}/custom.mk |
| |
# update custom.mk with data from config.local | # update custom.mk with data from config.local |
./customizemake.pl |
./customizemake.pl ./config.local ${LOCALIZATIONDIR} |
endif | endif |
| |
echo "Setting links to headers..." | echo "Setting links to headers..." |
Line 260 if ($CHKLIBS == "no") then |
|
Line 257 if ($CHKLIBS == "no") then |
|
echo "done" | echo "done" |
echo | echo |
| |
# Customize compilers |
# Custom make variable values - these will override the values set in moreconfigure.pl |
# echo "JSOC_COMPILER = gcc" >> custom.mk | # echo "JSOC_COMPILER = gcc" >> custom.mk |
# echo "JSOC_FCOMPILER = gfortran" >> custom.mk | # echo "JSOC_FCOMPILER = gfortran" >> custom.mk |
|
# echo "DRMS_DEFAULT_RETENTION = -10" >> custom.mk |
| |
# run perl script to do even more configuration |
|
./moreconfigure.pl -fcustom.mk |
|
endif | endif |
else | else |
# $CHKLIBS == "yes" | # $CHKLIBS == "yes" |