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.
parse.h
scan.c
skel.c
+stage1scan.[cl]
+stage1flex
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 \
options.c \
parse.y \
regex.c \
- scan.l \
scanflags.c \
scanopt.c \
skel.c \
mkskel.sh \
gettext.h
+DISTCLEANFILES = stage1scan.c
+
MAINTAINERCLEANFILES = skel.c
$(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