/[MITgcm]/MITgcm/tools/genmake2
ViewVC logotype

Diff of /MITgcm/tools/genmake2

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1 by edhill, Sat Aug 16 14:01:08 2003 UTC revision 1.4 by edhill, Tue Aug 26 16:22:15 2003 UTC
# Line 210  get_pdepend_list()  { Line 210  get_pdepend_list()  {
210    
211  #  Explain usage  #  Explain usage
212  usage()  {  usage()  {
213      echo ""      echo
214      echo "Usage: "$0" [OPTIONS]"      echo "Usage: "$0" [OPTIONS]"
215      echo "  where [OPTIONS] can be:"$'\n'      echo "  where [OPTIONS] can be:"
216        echo
217      echo "    -help | --help | -h | --h"      echo "    -help | --help | -h | --h"
218      echo "    -nooptfile | --nooptfile"      echo "    -nooptfile | --nooptfile"
219      echo "      -optfile NAME | --optfile NAME | -of NAME | --of NAME"      echo "      -optfile NAME | --optfile NAME | -of NAME | --of NAME"
# Line 241  usage()  { Line 242  usage()  {
242      echo "      -fc=NAME | --fc=NAME"      echo "      -fc=NAME | --fc=NAME"
243      echo "    -[no]ieee | --[no]ieee"      echo "    -[no]ieee | --[no]ieee"
244      echo "    -[no]mpi | --[no]mpi"      echo "    -[no]mpi | --[no]mpi"
245      echo "    -[no]jam | --[no]jam"$'\n'      echo "    -[no]jam | --[no]jam"
246      echo "  and NAME is a string such as:"$'\n'      echo
247        echo "  and NAME is a string such as:"
248        echo
249      echo "    --enable pkg1   --enable 'pkg1 pkg2'   --enable 'pkg1 pkg2 pkg3'"      echo "    --enable pkg1   --enable 'pkg1 pkg2'   --enable 'pkg1 pkg2 pkg3'"
250      echo "    -mods=dir1   -mods='dir1'   -mods='dir1 dir2 dir3'"      echo "    -mods=dir1   -mods='dir1'   -mods='dir1 dir2 dir3'"
251      echo "    -foptim='-Mvect=cachesize:512000,transform -xtypemap=real:64,double:64,integer:32'"$'\n'      echo "    -foptim='-Mvect=cachesize:512000,transform -xtypemap=real:64,double:64,integer:32'"
252        echo
253      echo "  which, depending upon your shell, may need to be single-quoted"      echo "  which, depending upon your shell, may need to be single-quoted"
254      echo "  if it contains spaces, dashes, or other special characters."      echo "  if it contains spaces, dashes, or other special characters."
255      exit 1      exit 1
# Line 298  MAKEDEPEND= Line 302  MAKEDEPEND=
302  PDEPEND=  PDEPEND=
303  PDEFAULT=  PDEFAULT=
304  OPTFILE=  OPTFILE=
305  INCLUDES=-I.  INCLUDES="-I."
306  FFLAGS=  FFLAGS=
307  FOPTIM=  FOPTIM=
308  CFLAGS=  CFLAGS=
# Line 321  THISCWD=`pwd` Line 325  THISCWD=`pwd`
325  THISDATE=`date`  THISDATE=`date`
326  MACHINE=`uname -a`  MACHINE=`uname -a`
327    
328  echo $'\n'"===  Processing options files and arguments  ==="  echo
329    echo "===  Processing options files and arguments  ==="
330  gm_local="./gm_local"  gm_local="./gm_local"
331  echo -n "  getting local config information:  "  echo -n "  getting local config information:  "
332  if test -e $gm_local ; then  if test -e $gm_local ; then
333      echo "using $gm_local"      echo "using $gm_local"
334      source $gm_local      source $gm_local
335      echo "DISABLE=$DISABLE"$'\n'"ENABLE=$ENABLE"      # echo "DISABLE=$DISABLE"
336        # echo "ENABLE=$ENABLE"
337  else  else
338      echo "none found"      echo "none found"
339  fi  fi
340    
341  #  echo "$0::$1:$2:$3:$4:$5:$6:$7:"  #  echo "$0::$1:$2:$3:$4:$5:$6:$7:"
342  OPTIONS=()  #OPTIONS=
343  n=0  #n=0
344  for i ; do  #for i ; do
345     setvar="OPTIONS[$n]='$i'"  #   echo "$i  $n"
346     #  echo "  $setvar"  #   setvar="OPTIONS[$n]='$i'"
347     eval "$setvar"  #   #  echo "  $setvar"
348     n=$(( $n + 1 ))  #   eval "$setvar"
349    #   n=$(( $n + 1 ))
350    #done
351    #parse_options
352    
353    ac_prev=
354    for ac_option ; do
355    
356        # If the previous option needs an argument, assign it.
357        if test -n "$ac_prev"; then
358            eval "$ac_prev=\$ac_option"
359            ac_prev=
360            continue
361        fi
362        
363        ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
364        
365        case $ac_option in
366            
367            -help | --help | -h | --h)
368                usage ;;
369            
370            -nooptfile | --nooptfile)
371                OPTFILE="NONE" ;;
372            -optfile | --optfile | -of | --of)
373                ac_prev=OPTFILE ;;
374            -optfile=* | --optfile=* | -of=* | --of=*)
375                OPTFILE=$ac_optarg ;;
376            
377            -pdepend | --pdepend)
378                ac_prev=PDEPEND ;;
379            -pdepend=* | --pdepend=*)
380                PDEPEND=$ac_optarg ;;
381            
382            -pdefault | --pdefault)
383                ac_prev=PDEFAULT ;;
384            -pdefault=* | --pdefault=*)
385                PDEFAULT=$ac_optarg ;;
386            
387            -makefile | -ma)
388                ac_prev=MAKEFILE ;;
389            --makefile=* | -ma=*)
390                MAKEFILE=$ac_optarg ;;
391            
392            -platform | --platform | -pl | --pl)
393                ac_prev=PLATFORM ;;
394            -platform=* | --platform=* | -pl=* | --pl=*)
395                PLATFORM=$ac_optarg ;;
396            
397            -rootdir | --rootdir | -rd | --rd)
398                ac_prev=ROOTDIR ;;
399            -rootdir=* | --rootdir=* | -rd=* | --rd=*)
400                ROOTDIR=$ac_optarg ;;
401            
402            -mods | --mods | -mo | --mo)
403                ac_prev=MODS ;;
404            -mods=* | --mods=* | -mo=* | --mo=*)
405                MODS=$ac_optarg ;;
406            
407            -disable | --disable)
408                ac_prev=DISABLE ;;
409            -disable=* | --disable=*)
410                DISABLE=$ac_optarg ;;
411            
412            -enable | --enable)
413                ac_prev=ENABLE ;;
414            -enable=* | --enable=*)
415                ENABLE=$ac_optarg ;;
416            
417            -noopt | --noopt)
418                ac_prev=NOOPT ;;
419            -noopt=* | --noopt=*)
420                NOOPT=$ac_optarg ;;
421            
422    #           -cpp | --cpp)
423    #               ac_prev=cpp ;;
424    #           -cpp=* | --cpp=*)
425    #               CPP=$ac_optarg ;;
426                
427            -fortran | --fortran | -fc | --fc)
428                ac_prev=FC ;;
429            -fc=* | --fc=*)
430                FC=$ac_optarg ;;
431            
432            -ieee | --ieee)
433                IEEE=1 ;;
434            -noieee | --noieee)
435                IEEE=0 ;;
436            
437            -mpi | --mpi)
438                MPI=1 ;;
439            -nompi | --nompi)
440                MPI=0 ;;
441            
442            -jam | --jam)
443                JAM=1 ;;
444            -nojam | --nojam)
445                JAM=0 ;;
446            
447            -*)
448                echo "Error: unrecognized option: "$ac_option
449                usage
450                ;;
451            
452            *)
453                echo "Error: unrecognized argument: "$ac_option
454                usage
455                ;;
456            
457        esac
458        
459  done  done
 parse_options  
460    
461  echo "  getting OPTFILE information:  "  echo "  getting OPTFILE information:  "
462  if test "x${OPTFILE}" = x ; then  if test "x${OPTFILE}" = x ; then
463      echo "Warning: no OPTFILE specified so we'll look for possible settings"      echo "Warning: no OPTFILE specified so we'll look for possible settings"
464      echo $'\n'"===  Searching for possible settings for OPTFILE  ==="      printf "\n===  Searching for possible settings for OPTFILE  ===\n"
465      find_possible_configs      find_possible_configs
466  else  else
467      if test "x$OPTFILE" = xNONE ; then      if test "x$OPTFILE" = xNONE ; then
# Line 368  else Line 483  else
483      fi      fi
484  fi  fi
485    
486  echo $'\n'"===  Setting defaults  ==="  printf "\n===  Setting defaults  ===\n"
487  echo -n "  Adding MODS directories:  "  echo -n "  Adding MODS directories:  "
488  for d in $MODS ; do  for d in $MODS ; do
489      if test ! -d $d ; then      if test ! -d $d ; then
490          echo $'\n\n'"Error: MODS directory \"$d\" not found!"          echo
491            echo "Error: MODS directory \"$d\" not found!"
492          exit 1          exit 1
493      else      else
494          echo -n " $d"          echo -n " $d"
# Line 443  if test -r $ROOTDIR"/eesupp/src/Makefile Line 559  if test -r $ROOTDIR"/eesupp/src/Makefile
559      echo "  Making source files in eesupp from templates"      echo "  Making source files in eesupp from templates"
560      $MAKE -C $ROOTDIR"/eesupp/src/" > make_eesupp.errors 2>&1      $MAKE -C $ROOTDIR"/eesupp/src/" > make_eesupp.errors 2>&1
561      RETVAL=$?      RETVAL=$?
562      if test "x${RETVAL}" == "x0" ; then      if test "x${RETVAL}" = x0 ; then
563          rm -f make_eesupp.errors          rm -f make_eesupp.errors
564      else      else
565          echo "Error: problem encountered while building source files in eesupp:"          echo "Error: problem encountered while building source files in eesupp:"
# Line 452  if test -r $ROOTDIR"/eesupp/src/Makefile Line 568  if test -r $ROOTDIR"/eesupp/src/Makefile
568      fi      fi
569  fi  fi
570    
571  echo $'\n'"===  Determining package settings  ==="  printf "\n===  Determining package settings  ===\n"
572  if  test "x${PDEPEND}" = x ; then  if  test "x${PDEPEND}" = x ; then
573      tmp=$ROOTDIR"/pkg/pkg_depend"      tmp=$ROOTDIR"/pkg/pkg_depend"
574      if test -r $tmp ; then      if test -r $tmp ; then
# Line 471  echo "  getting package dependency info Line 587  echo "  getting package dependency info
587  #  Strip the comments and then convert the dependency file into  #  Strip the comments and then convert the dependency file into
588  #  two arrays: PNAME, DNAME  #  two arrays: PNAME, DNAME
589  cat $PDEPEND | sed -e 's/#.*$//g' \  cat $PDEPEND | sed -e 's/#.*$//g' \
590      | awk 'BEGIN{nn=-1;} (NF>0){ for(i=2;i<=NF;i++){nn++; print "PNAME["nn"]="$1"\nDNAME["nn"]="$i} }' \      | awk 'BEGIN{nn=-1;} (NF>0){ for(i=2;i<=NF;i++){nn++; print "PNAME_"nn"="$1"\nDNAME_"nn"="$i}} END{print "nname="nn}' \
591      > ./.pd_tmp      > ./.pd_tmp
592  RETVAL=$?  RETVAL=$?
593  if test ! "x${RETVAL}" = x0 ; then  if test ! "x${RETVAL}" = x0 ; then
# Line 544  echo "  applying package dependency rule Line 660  echo "  applying package dependency rule
660  ck=  ck=
661  while test "x$ck" != xtt ; do  while test "x$ck" != xtt ; do
662      i=0      i=0
663      rtot=${#PNAME[@]}      # rtot=${#PNAME[@]}
664        rtot=$nname
665      while test $i -lt $rtot ; do      while test $i -lt $rtot ; do
666    
667          #  Is $pname in the current $PACKAGES list?          #  Is $pname in the current $PACKAGES list?
668          pname=${PNAME[$i]}          #  pname=${PNAME[$i]}
669            tmp="pname=\"\$PNAME_$i\""
670            eval $tmp
671          pin="f"          pin="f"
672          for p in $PACKAGES ; do          for p in $PACKAGES ; do
673              if test "x$p" = "x$pname" ; then              if test "x$p" = "x$pname" ; then
# Line 557  while test "x$ck" != xtt ; do Line 676  while test "x$ck" != xtt ; do
676          done          done
677    
678          #  Is the DNAME entry a (+) or (-) rule ?          #  Is the DNAME entry a (+) or (-) rule ?
679            tmp="dname=\"\$DNAME_$i\""
680            eval $tmp
681          plus="-"          plus="-"
682          echo "${DNAME[$i]}" | grep '^+' > /dev/null 2>&1          echo $dname | grep '^+' > /dev/null 2>&1
683          RETVAL=$?          RETVAL=$?
684          if test "x$RETVAL" = x0 ; then          if test "x$RETVAL" = x0 ; then
685              plus="+"              plus="+"
686          fi          fi
687    
688          #  Is $dname in the current $PACKAGES list?          #  Is $dname in the current $PACKAGES list?
689          dname=`echo ${DNAME[$i]} | sed -e 's/^[+-]//'`          dname=`echo $dname | sed -e 's/^[+-]//'`
690          din="f"          din="f"
691          for p in $PACKAGES ; do          for p in $PACKAGES ; do
692              if test "x$p" = "x$dname" ; then              if test "x$p" = "x$dname" ; then
# Line 636  done Line 757  done
757    
758  echo "  Setting package-specific CPP flags in CPP_OPTIONS.h:"  echo "  Setting package-specific CPP flags in CPP_OPTIONS.h:"
759  CPP_OPTIONS=  CPP_OPTIONS=
760  spaths=". $SOURCEDIRS"  spaths="$SOURCEDIRS"
761  for i in $spaths ; do  for i in $spaths ; do
762      try="$i/CPP_OPTIONS.h"      try="$i/CPP_OPTIONS.h"
763      #  echo -n "    trying $try : "      #  echo -n "    trying $try : "
# Line 751  for d in $STANDARDDIRS ; do Line 872  for d in $STANDARDDIRS ; do
872  done  done
873    
874    
875  echo $'\n'"===  Creating the Makefile  ==="  echo
876    echo "===  Creating the Makefile  ==="
877  echo "  setting INCLUDES"  echo "  setting INCLUDES"
878  for i in $INCLUDEDIRS ; do  for i in $INCLUDEDIRS ; do
879      if test -d $i ; then      if test -d $i ; then
# Line 766  rm -rf .links.tmp Line 888  rm -rf .links.tmp
888  mkdir .links.tmp  mkdir .links.tmp
889  echo "# This section creates symbolic links" > srclinks.tmp  echo "# This section creates symbolic links" > srclinks.tmp
890  echo "" >> srclinks.tmp  echo "" >> srclinks.tmp
891  echo -n 'SRCFILES = ' > srclist.inc  echo -n 'SRCFILES = '    > srclist.inc
892  echo -n 'CSRCFILES = ' > csrclist.inc  echo -n 'CSRCFILES = '   > csrclist.inc
893    echo -n 'F90SRCFILES = ' > f90srclist.inc
894  echo -n 'HEADERFILES = ' > hlist.inc  echo -n 'HEADERFILES = ' > hlist.inc
895  alldirs=". $SOURCEDIRS $INCLUDEDIRS"  alldirs=". $SOURCEDIRS $INCLUDEDIRS"
896  for d in $alldirs ; do  for d in $alldirs ; do
897      deplist=      deplist=
898      sfiles=`( cd $d; echo *.[h,c,F] )`      sfiles=`( cd $d; echo *.[h,c,F] )`
899        sfiles=`( echo $sfiles; cd $d; echo *.F90 )`
900      for sf in $sfiles ; do      for sf in $sfiles ; do
901          if test ! -r ".links.tmp/$sf" ; then          if test ! -r ".links.tmp/$sf" ; then
902              if test -f "$d/$sf" ; then              if test -f "$d/$sf" ; then
# Line 784  for d in $alldirs ; do Line 908  for d in $alldirs ; do
908                          echo    " \\"  >> srclist.inc                          echo    " \\"  >> srclist.inc
909                          echo -n " $sf" >> srclist.inc                          echo -n " $sf" >> srclist.inc
910                          ;;                          ;;
911                        F90)
912                            echo    " \\"  >> f90srclist.inc
913                            echo -n " $sf" >> f90srclist.inc
914                            ;;
915                      c)                      c)
916                          echo    " \\"  >> csrclist.inc                          echo    " \\"  >> csrclist.inc
917                          echo -n " $sf" >> csrclist.inc                          echo -n " $sf" >> csrclist.inc
# Line 797  for d in $alldirs ; do Line 925  for d in $alldirs ; do
925          fi          fi
926      done      done
927      if test "x$deplist" != x ; then      if test "x$deplist" != x ; then
928          echo $'\n'"#  These files are linked from $d" >> srclinks.tmp          echo "" >> srclinks.tmp
929            echo "#  These files are linked from $d" >> srclinks.tmp
930          echo "$deplist :" >> srclinks.tmp          echo "$deplist :" >> srclinks.tmp
931          echo $'\t$(LN) '$d'/$@ $@' >> srclinks.tmp          printf "\t\$(LN) %s/\$@ \$@\n" $d >> srclinks.tmp
932      fi      fi
933  done  done
934  rm -rf .links.tmp  rm -rf .links.tmp
935  echo "" >> srclist.inc  echo "" >> srclist.inc
936  echo "" >> csrclist.inc  echo "" >> csrclist.inc
937    echo "" >> f90srclist.inc
938  echo "" >> hlist.inc  echo "" >> hlist.inc
939    
940  if test -e $MAKEFILE ; then  if test -e $MAKEFILE ; then
# Line 862  MAKEDEPEND = ${MAKEDEPEND} Line 992  MAKEDEPEND = ${MAKEDEPEND}
992  KPP = ${KPP}  KPP = ${KPP}
993  # Fortran compiler  # Fortran compiler
994  FC = ${FC}  FC = ${FC}
995    # Fortran compiler
996    F90C = ${F90C}
997  # Link editor  # Link editor
998  LINK = ${LINK}  LINK = ${LINK}
999    
# Line 875  KFLAGS2 = ${KFLAGS2} Line 1007  KFLAGS2 = ${KFLAGS2}
1007  # Optim./debug for FC  # Optim./debug for FC
1008  FFLAGS = ${FFLAGS}  FFLAGS = ${FFLAGS}
1009  FOPTIM = ${FOPTIM}  FOPTIM = ${FOPTIM}
1010    # Optim./debug for FC
1011    F90FLAGS = ${F90FLAGS}
1012    F90OPTIM = ${F90OPTIM}
1013  # Flags for CC  # Flags for CC
1014  CFLAGS = ${CFLAGS}  CFLAGS = ${CFLAGS}
1015  # Files that should not be optimized  # Files that should not be optimized
# Line 882  NOOPTFILES = ${NOOPTFILES} Line 1017  NOOPTFILES = ${NOOPTFILES}
1017  NOOPTFLAGS = ${NOOPTFLAGS}  NOOPTFLAGS = ${NOOPTFLAGS}
1018  # Flags and libraries needed for linking  # Flags and libraries needed for linking
1019  LIBS = ${LIBS} \$(XLIBS)  LIBS = ${LIBS} \$(XLIBS)
1020    # Name of the Mekfile
1021    MAKEFILE=${MAKEFILE}
1022    
1023  EOF  EOF
1024    
1025  cat srclist.inc  >> $MAKEFILE  cat srclist.inc    >> $MAKEFILE
1026  cat csrclist.inc >> $MAKEFILE  cat csrclist.inc   >> $MAKEFILE
1027  cat hlist.inc >> $MAKEFILE  cat f90srclist.inc >> $MAKEFILE
1028  echo 'F77FILES =  $(SRCFILES:.F=.f)'                    >> $MAKEFILE  cat hlist.inc      >> $MAKEFILE
1029  echo 'OBJFILES =  $(SRCFILES:.F=.o) $(CSRCFILES:.c=.o)' >> $MAKEFILE  echo 'F77FILES =  $(SRCFILES:.F=.f)'                                           >> $MAKEFILE
1030    echo 'F90FILES =  $(F90SRCFILES:.F90=.f90)'                                    >> $MAKEFILE
1031    echo 'OBJFILES =  $(SRCFILES:.F=.o) $(CSRCFILES:.c=.o) $(F90SRCFILES:.F90=.o)' >> $MAKEFILE
1032    
1033  rm -f srclist.inc csrclist.inc hlist.inc flist.tmp clist.tmp  rm -f srclist.inc csrclist.inc hlist.inc flist.tmp clist.tmp f90srclist.inc
1034    
1035  cat >>$MAKEFILE <<EOF  cat >>$MAKEFILE <<EOF
1036    
1037  .SUFFIXES:  .SUFFIXES:
1038  .SUFFIXES: .o .f .p .F .c  .SUFFIXES: .o .f .p .F .c .F90 .f90
1039    
1040  all: \$(EXECUTABLE)  all: \$(EXECUTABLE)
1041  \$(EXECUTABLE): \$(OBJFILES)  \$(EXECUTABLE): \$(OBJFILES)
# Line 904  all: \$(EXECUTABLE) Line 1043  all: \$(EXECUTABLE)
1043  depend:  depend:
1044          @make links          @make links
1045          \$(MAKEDEPEND) -o .f \$(DEFINES) \$(INCLUDES) \$(SRCFILES)          \$(MAKEDEPEND) -o .f \$(DEFINES) \$(INCLUDES) \$(SRCFILES)
1046            ../../../tools/f90mkdepend >> \$(MAKEFILE)
1047    
1048  links: \$(SRCFILES) \$(CSRCFILES) \$(HEADERFILES)  links: \$(SRCFILES) \$(CSRCFILES) \$(HEADERFILES) \$(F90SRCFILES)
1049    
1050  small_f: \$(F77FILES)  small_f: \$(F77FILES) \$(F90FILES)
1051    
1052  output.txt: \$(EXECUTABLE)  output.txt: \$(EXECUTABLE)
1053          @printf 'running ... '          @printf 'running ... '
1054          @\$(EXECUTABLE) > \$@          @\$(EXECUTABLE) > \$@
1055    
1056  clean:  clean:
1057          -rm -rf *.o *.f *.p ${RMFILES} work.{pc,pcl}          -rm -rf *.o *.f *.p *.f90 *.mod ${RMFILES} work.{pc,pcl}
1058  Clean:  Clean:
1059          @make clean          @make clean
1060          @make cleanlinks          @make cleanlinks
# Line 936  cleanlinks: Line 1076  cleanlinks:
1076          \$(CPP) \$(DEFINES) \$(INCLUDES) > \$@          \$(CPP) \$(DEFINES) \$(INCLUDES) > \$@
1077  .f.o:  .f.o:
1078          \$(FC) \$(FFLAGS) \$(FOPTIM) -c \$<          \$(FC) \$(FFLAGS) \$(FOPTIM) -c \$<
1079    .F90.f90:
1080            \$(CPP) \$(DEFINES) \$(INCLUDES) > \$@
1081    .f90.o:
1082            \$(F90C) \$(F90FLAGS) \$(F90OPTIM) -c \$<
1083  .c.o:  .c.o:
1084          \$(CC) \$(CFLAGS) -c \$<          \$(CC) \$(CFLAGS) -c \$<
1085    
# Line 965  for i in $NOOPTFILES ; do Line 1109  for i in $NOOPTFILES ; do
1109          echo "Error: unable to add file \"$i\" to the exceptions list"          echo "Error: unable to add file \"$i\" to the exceptions list"
1110      fi      fi
1111      echo "$base.o: $base.f" >> $MAKEFILE      echo "$base.o: $base.f" >> $MAKEFILE
1112      echo $'\t$(FC) $(FFLAGS) $(NOOPTFLAGS) -c $<' >> $MAKEFILE      printf "\t\$(FC) \$(FFLAGS) \$(NOOPTFLAGS) -c \$<\n" >> $MAKEFILE
1113  done  done
1114    
1115  echo "  Add rules for links"  echo "  Add rules for links"
# Line 973  cat srclinks.tmp >> $MAKEFILE Line 1117  cat srclinks.tmp >> $MAKEFILE
1117  rm -f srclinks.tmp  rm -f srclinks.tmp
1118    
1119  echo "  Adding makedepend marker"  echo "  Adding makedepend marker"
1120  echo $'\n\n'"# DO NOT DELETE" >> $MAKEFILE  printf "\n\n# DO NOT DELETE\n" >> $MAKEFILE
1121    
1122  echo $'\n'"===  Done  ==="  printf "\n===  Done  ===\n"

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.22