summaryrefslogtreecommitdiff
path: root/source4/build/smb_build
diff options
context:
space:
mode:
Diffstat (limited to 'source4/build/smb_build')
-rw-r--r--source4/build/smb_build/makefile.pm38
1 files changed, 37 insertions, 1 deletions
diff --git a/source4/build/smb_build/makefile.pm b/source4/build/smb_build/makefile.pm
index d5dbfa1751..1ccdb3239d 100644
--- a/source4/build/smb_build/makefile.pm
+++ b/source4/build/smb_build/makefile.pm
@@ -96,6 +96,9 @@ SHLD_FLAGS=@LDSHFLAGS@ @LDFLAGS@ -Lbin
XSLTPROC=@XSLTPROC@
+LEX=@LEX@
+YACC=@YACC@
+
__EOD__
}
@@ -119,7 +122,7 @@ sub _prepare_SUFFIXES($)
$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 @@ dynconfig.o: dynconfig.c Makefile
__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 @@ sub _prepare_makefile_in($)
$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();