svn commit: samba r8955 - in branches/SAMBA_4_0/source: build/smb_build heimdal_build

jelmer at samba.org jelmer at samba.org
Tue Aug 2 23:15:57 GMT 2005


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 @@
 
 XSLTPROC=@XSLTPROC@
 
+LEX=@LEX@
+YACC=@YACC@
+
 __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 $@` $@
+
+__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
 # tridge at samba.org, 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
 #######################



More information about the samba-cvs mailing list