diff options
author | Will Estes <westes575@gmail.com> | 2015-12-07 15:37:01 -0500 |
---|---|---|
committer | Will Estes <westes575@gmail.com> | 2015-12-07 15:37:01 -0500 |
commit | 53e3088d75eb966101e4f229a0fe8e0fdd73ab7e (patch) | |
tree | 4455d099a153acf8275e1e98e781e5d55b57f251 /src/Makefile.am | |
parent | e0877888da128c7a1fcb24f5a7b5959c54631e18 (diff) |
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.
Diffstat (limited to 'src/Makefile.am')
-rw-r--r-- | src/Makefile.am | 18 |
1 files changed, 17 insertions, 1 deletions
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 |