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