--- MITgcm/tools/genmake2 2004/03/10 23:34:04 1.71 +++ MITgcm/tools/genmake2 2004/03/24 17:12:51 1.74 @@ -1,6 +1,6 @@ #! /usr/bin/env bash # -# $Header: /home/ubuntu/mnt/e9_copy/MITgcm/tools/genmake2,v 1.71 2004/03/10 23:34:04 edhill Exp $ +# $Header: /home/ubuntu/mnt/e9_copy/MITgcm/tools/genmake2,v 1.74 2004/03/24 17:12:51 adcroft Exp $ # # Makefile generator for MITgcm UV codes # created by cnh 03/98 @@ -67,6 +67,7 @@ done PACKAGES=$new_packages rm -f ./p[1,2].tmp + return $matched else echo "Warning: can't read package groups definition file: $PKG_GROUPS" fi @@ -80,7 +81,8 @@ tmp3=`echo $tmp2 | sed -e 's/power macintosh/ppc/'` tmp1=`echo $tmp3 | sed -e 's|x86_64|amd64|'` tmp2=`echo $tmp1 | sed -e 's/i[3-6]86/ia32/' | sed -e 's/athlon/ia32/'` - PLATFORM=$tmp2 + tmp3=`echo $tmp2 | sed -e 's/cray sv1/craysv1/'` + PLATFORM=$tmp3 OFLIST=`(cd $ROOTDIR/tools/build_options; ls | grep "^$PLATFORM")` echo " The platform appears to be: $PLATFORM" @@ -119,7 +121,7 @@ # 4) fall back to the buggy local xmakedpend script # if test "x${MAKEDEPEND}" = x ; then - which makedepend >& /dev/null + which makedepend > /dev/null 2>&1 RETVAL=$? if test ! "x${RETVAL}" = x0 ; then echo " a system-default makedepend was not found." @@ -585,6 +587,7 @@ INCLUDEDIRS= STANDARDDIRS="USE_THE_DEFAULT" +G2ARGS= BASH= PWD=`pwd` MAKE=make @@ -678,6 +681,8 @@ ac_prev= for ac_option ; do + G2ARGS="$G2ARGS \"$ac_option\"" + # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval "$ac_prev=\$ac_option" @@ -1186,12 +1191,19 @@ PACKAGES="$PACKAGES $i" done echo " before group expansion packages are: $PACKAGES" - expand_pkg_groups + while ! expand_pkg_groups; do echo > /dev/null; done echo " after group expansion packages are: $PACKAGES" fi fi echo " applying DISABLE settings" +for i in $PACKAGES ; do + echo $i >> ./.tmp_pack +done +for i in `grep "-" ./.tmp_pack` ; do + j=`echo $i | sed 's/[-]//'` + DISABLE="$DISABLE $j" +done pack= for p in $PACKAGES ; do addit="t" @@ -1208,19 +1220,20 @@ echo " applying ENABLE settings" echo "" > ./.tmp_pack PACKAGES="$PACKAGES $ENABLE" +# Test if each explicitly referenced package exists for i in $PACKAGES ; do - if test ! -d "$ROOTDIR/pkg/$i" ; then + j=`echo $i | sed 's/[-+]//'` + if test ! -d "$ROOTDIR/pkg/$j" ; then echo "Error: can't find package $i at \"$ROOTDIR/pkg/$i\"" - exit 1 + exit 1 fi echo $i >> ./.tmp_pack done -pack=`cat ./.tmp_pack | sort | uniq` -rm -f ./.tmp_pack PACKAGES= -for i in $pack ; do +for i in `grep -v "-" ./.tmp_pack | sort | uniq` ; do PACKAGES="$PACKAGES $i" done +rm -f ./.tmp_pack echo " packages are: $PACKAGES" echo " applying package dependency rules" @@ -1535,7 +1548,7 @@ echo "# This makefile was generated automatically on" >> $MAKEFILE echo "# $THISDATE" >> $MAKEFILE echo "# by the command:" >> $MAKEFILE -echo "# $0 $@" >> $MAKEFILE +echo "# $0 $G2ARGS" >> $MAKEFILE echo "# executed by:" >> $MAKEFILE echo "# $USER@${THISHOSTNAME}:${THISCWD}" >> $MAKEFILE @@ -1656,6 +1669,7 @@ @make links \$(MAKEDEPEND) -o .f \$(DEFINES) \$(INCLUDES) \$(SRCFILES) \$(TOOLSDIR)/f90mkdepend >> \$(MAKEFILE) + -rm -f makedepend.out links: \$(SRCFILES) \$(CSRCFILES) \$(HEADERFILES) \$(F90SRCFILES) \$(SPECIAL_FILES) @@ -1681,7 +1695,7 @@ #eh3 Makefile: makefile makefile: - $THIS_SCRIPT $@ + $THIS_SCRIPT $G2ARGS cleanlinks: -find . -type l -exec rm {} \;