From 53e3088d75eb966101e4f229a0fe8e0fdd73ab7e Mon Sep 17 00:00:00 2001 From: Will Estes Date: Mon, 7 Dec 2015 15:37:01 -0500 Subject: Built flex with itself. Changes in scan.l need to be built into flex with the same version of flex in some cases. Since this build requirement is minimal, we simply bootstrap flex unconditionally. We intentionally exclude from version control the bootstrap artifacts as the extra copy of the lexer, the intermediate scanner and the bootstrap executable are not of interest. --- src/Makefile.am | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'src/Makefile.am') diff --git a/src/Makefile.am b/src/Makefile.am index 475120c..97e0317 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -6,11 +6,20 @@ LIBS = @LIBINTL@ @LIBS@ m4 = @M4@ bin_PROGRAMS = flex +noinst_PROGRAMS = stage1flex lib_LTLIBRARIES = \ libfl.la \ libfl_pic.la +stage1flex_SOURCES = \ + scan.l \ + $(COMMON_SOURCES) + flex_SOURCES = \ + stage1scan.l \ + $(COMMON_SOURCES) + +COMMON_SOURCES = \ buf.c \ ccl.c \ dfa.c \ @@ -23,7 +32,6 @@ flex_SOURCES = \ options.c \ parse.y \ regex.c \ - scan.l \ scanflags.c \ scanopt.c \ skel.c \ @@ -64,6 +72,8 @@ EXTRA_DIST = \ mkskel.sh \ gettext.h +DISTCLEANFILES = stage1scan.c + MAINTAINERCLEANFILES = skel.c $(srcdir)/skel.c: flex.skl mkskel.sh flexint.h tables_shared.h @@ -76,6 +86,12 @@ $(srcdir)/skel.c: flex.skl mkskel.sh flexint.h tables_shared.h $(SHELL) $(srcdir)/mkskel.sh >skel.c.tmp mv skel.c.tmp $(srcdir)/skel.c +stage1scan.l: scan.l + cp $(srcdir)/scan.l $(srcdir)/stage1scan.l + +stage1scan.c: stage1scan.l stage1flex$(EXEEXT) + $(top_builddir)/src/stage1flex$(EXEEXT) -o $@ $< + # Explicitly describe dependencies. # You can recreate this with `gcc -I. -MM *.c' buf.o: buf.c flexdef.h flexint.h -- cgit v1.2.3