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
 #######################

Reply via email to