Author: jelmer Date: 2005-08-02 23:15:56 +0000 (Tue, 02 Aug 2005) New Revision: 8955
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=8955 Log: Move a bit more of the build process to the Makefile Modified: branches/SAMBA_4_0/source/build/smb_build/makefile.pm branches/SAMBA_4_0/source/heimdal_build/build_external.sh branches/SAMBA_4_0/source/heimdal_build/config.mk Changeset: Modified: branches/SAMBA_4_0/source/build/smb_build/makefile.pm =================================================================== --- branches/SAMBA_4_0/source/build/smb_build/makefile.pm 2005-08-02 22:25:42 UTC (rev 8954) +++ branches/SAMBA_4_0/source/build/smb_build/makefile.pm 2005-08-02 23:15:56 UTC (rev 8955) @@ -96,6 +96,9 @@ [EMAIL PROTECTED]@ [EMAIL PROTECTED]@ [EMAIL PROTECTED]@ + __EOD__ } @@ -119,7 +122,7 @@ $output = << '__EOD__'; .SUFFIXES: -.SUFFIXES: .c .d .o .h .h.gch .a .so .1 .1.xml .3 .3.xml .5 .5.xml .7 .7.xml +.SUFFIXES: .c .et .y .l .d .o .h .h.gch .a .so .1 .1.xml .3 .3.xml .5 .5.xml .7 .7.xml __EOD__ @@ -220,6 +223,36 @@ __EOD__ } +sub _prepare_et_rule() +{ + return << '__EOD__'; + +.et.c: + $(MAKE) bin/compile_et + ./bin/compile_et $< + mv `basename [EMAIL PROTECTED] $@ + +__EOD__ +} + +sub _prepare_yacc_rule() +{ + return << '__EOD__'; +.y.c: + $(YACC) -d -o $@ $< + +__EOD__ +} + +sub _prepare_lex_rule() +{ + return << '__EOD__'; +.l.c: + $(LEX) -o $@ $< + +__EOD__ +} + sub _prepare_depend_CC_rule() { return << '__EOD__'; @@ -869,6 +902,9 @@ $output .= _prepare_dummy_MAKEDIR(); $output .= _prepare_std_CC_rule("c","o",'@PICFLAG@',"Compiling","Rule for std objectfiles"); $output .= _prepare_std_CC_rule("h","h.gch",'@PICFLAG@',"Precompiling","Rule for precompiled headerfiles"); + $output .= _prepare_lex_rule(); + $output .= _prepare_yacc_rule(); + $output .= _prepare_et_rule(); $output .= _prepare_depend_CC_rule(); Modified: branches/SAMBA_4_0/source/heimdal_build/build_external.sh =================================================================== --- branches/SAMBA_4_0/source/heimdal_build/build_external.sh 2005-08-02 22:25:42 UTC (rev 8954) +++ branches/SAMBA_4_0/source/heimdal_build/build_external.sh 2005-08-02 23:15:56 UTC (rev 8955) @@ -1,15 +1,12 @@ #!/bin/sh ##################### -# build generated asn1, et and flex files in heimdal/ tree +# build generated asn1 files in heimdal/ tree # [EMAIL PROTECTED], June 2005 CC="$1" -LEX="$2" -YACC="$3" TOP=`pwd` ASN1_COMPILE=$TOP/bin/asn1_compile -ET_COMPILE=$TOP/bin/compile_et build_asn1() { f=$1 @@ -26,60 +23,6 @@ cd $TOP || exit 1 } -build_et() { - f=$1 - dir=`dirname $f` - file=`basename $f` - echo Building $f - cd $dir && $ET_COMPILE $file || exit 1 - cd $TOP || exit 1 -} - -build_lex() { - f=$1 - dir=`dirname $f` - file=`basename $f` - base=`basename $f .l` - if [ -z "$LEX" ]; then - echo "lex not found" - return; - fi - if [ -r $dir/$base.c ]; then - if [ x`find $f -newer $dir/$base.c -print` != x$f ]; then - return; - fi - fi - echo Building $f - if cd $dir && $LEX $file; then - sed '/^#/ s|$base.yy\.c|$base.c|' $base.yy.c > $base.c - rm -f $base.yy.c - fi - cd $TOP || exit 1 -} - -build_yacc() { - f=$1 - dir=`dirname $f` - file=`basename $f` - base=`basename $f .y` - if [ -z "$YACC" ]; then - echo "yacc not found" - return; - fi - if [ -r $dir/$base.c ]; then - if [ x`find $f -newer $dir/$base.c -print` != x$f ]; then - return; - fi - fi - echo Building $f - if cd $dir && $YACC -d $file; then - sed -e "/^#/!b" -e "s|y\.tab\.h|$base.h|" y.tab.h > $base.h - sed '/^#/ s|y\.tab\.c|$base.c|' y.tab.c > $base.c - rm -f y.tab.c y.tab.h - fi - cd $TOP || exit 1 -} - build_cp() { f=$1 dir=`dirname $f` @@ -93,19 +36,8 @@ build_cp heimdal/lib/roken/vis.hin build_cp heimdal/lib/roken/err.hin -build_lex heimdal/lib/asn1/lex.l -build_lex heimdal/lib/com_err/lex.l -build_yacc heimdal/lib/com_err/parse.y -build_yacc heimdal/lib/asn1/parse.y make bin/asn1_compile || exit 1 build_asn1 heimdal/lib/hdb/hdb.asn1 hdb_asn1 build_asn1 heimdal/lib/gssapi/spnego.asn1 spnego_asn1 build_asn1 heimdal/lib/asn1/k5.asn1 krb5_asn1 - -make bin/compile_et || exit 1 -build_et heimdal/lib/hdb/hdb_err.et -build_et heimdal/lib/krb5/krb5_err.et -build_et heimdal/lib/krb5/heim_err.et -build_et heimdal/lib/krb5/k524_err.et -build_et heimdal/lib/asn1/asn1_err.et Modified: branches/SAMBA_4_0/source/heimdal_build/config.mk =================================================================== --- branches/SAMBA_4_0/source/heimdal_build/config.mk 2005-08-02 22:25:42 UTC (rev 8954) +++ branches/SAMBA_4_0/source/heimdal_build/config.mk 2005-08-02 23:15:56 UTC (rev 8955) @@ -384,7 +384,7 @@ ####################### # Start TARGET HEIMDAL_EXTERNAL [TARGET::HEIMDAL_EXTERNAL] -CMD = heimdal_build/build_external.sh "@HOSTCC@" "@LEX@" "@YACC@" +CMD = heimdal_build/build_external.sh "@HOSTCC@" REQUIRED_SUBSYSTEMS = ASN1_COMPILER # END TARGET HEIMDAL_EXTERNAL #######################
