Script for create Makefile for 4GL-RDS
Posted in 1994
Here is a small script to create Makefile for I4GL-RDS: : # #------------------------------------------------------# #@(#) Make-Make for INFOMIX-4GL #@(#) 1994 SACO Software and Consulting GmbH, Peter Schubert # based on a mm script for C-Source # if someone make enhancements, please # send it to us with E-Mail: # psc@saco.ufra.net # Thank you #------------------------------------------------------# # To include files use this option in one of your # 4GL Files: # DATABASE test # #INCLUDE "/prog/modules/mod1.4go" #..... and so on # #------------------------------------------------------# trap 'exit 1 ' 1 2 15 PROGNAME="PROGNAME" OBJECTS="" M0="" SUFFIX=".4gl" SUCHSTR="^#include[ ]*\\"" USAGE="usage : $0 [-p progname ] 4GL-Sources . ." MF=makefile if test $# = 0 then echo $USAGE 1>&2 exit fi # while test "$1" != "" do case "$1" in -p) case "$2" in *${SUFFIX}) echo "i need the programname (e.g. test.4gi)!" echo $USAGE 1>&2 exit; ;; *) PROGNAME=$2 shift;shift ;; esac ;; -*) echo "$0 : unknown option $1" 1>&2 echo $USAGE 1>&2 exit 1; ;; *${SUFFIX} ) QUELLFILE=$1 BN=`basename $QUELLFILE ${SUFFIX} ` OBJECTFILE=${BN}.4go OBJECTS="$OBJECTS $OBJECTFILE" DEPENDS=`grep "$SUCHSTR" $QUELLFILE|awk -F\\" ' { print $2 } ' ` MORE=$DEPENDS while test "$MORE" do SAVE= for INCFILE in $MORE do M0="$M0 $INCFILE" if test ! -r $INCFILE then echo "Warning: can't find $INCFILE !" 1>&2 break fi SUB=`grep "$SUCHSTR" $INCFILE|awk -F\\" ' { print $2 } ' ` for VAR1 in $SUB do VAR2=`echo $DEPENDS|grep "$VAR1"` if test "$VAR2" then echo "$VAR1 allrady in use" 1>&2 else DEPENDS="$DEPENDS $VAR1" SAVE="$SAVE $VAR1" fi done done MORE=$SAVE done shift ;; *) echo "$0: unknown argument $1" 1>&2 echo $USAGE 1>&2 rm tmp$$ exit 1 ;; esac done echo "#">>$MF echo "# Makefile for program $PROGNAME">>$MF echo "#";echo "#">>$MF echo " " >>$MF echo "MODULE= $M0">>$MF echo " ">>$MF echo "PROG= $OBJECTS">>$MF echo " ">>$MF echo ".SUFFIXES : .4go .4gl">>$MF echo " " >> $MF echo ".4gl.4go:" >>$MF echo " fglpc $<" >> $MF echo " " >>$MF echo "$PROGNAME: \\$(PROG) \\$(MODULE)">>$MF echo "\\t cat \\$(PROG) \\$(MODULE) > $PROGNAME">>$MF echo >>$MF exit 0 -------------------------------------------------------------------------- SACO Software and Consulting GmbH E-Mail: psc@saco.ufra.net Peter Schubert FAX: ++49 6021 498747 Auhofstr. 9 D-63741 Aschaffenburg GERMANY -------------------------------------------------------------------------- CASE * CAST * Softwaredevelopment * Consulting * HARDWARE * USV -------------------------------------------------------------------------- ## CrossPoint v3.02 ##