summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2020-09-24 19:54:21 -0700
committerKaz Kylheku <kaz@kylheku.com>2020-09-24 19:54:21 -0700
commit781cf1d35e83f75cf5278205cd34f63fb1284213 (patch)
tree96d1208f83884df0149163d282bd25c71f2b05ca
parent2f08ac2c4ca29fe4b71890d68a7c707a0c6558dd (diff)
downloadtxr-781cf1d35e83f75cf5278205cd34f63fb1284213.tar.gz
txr-781cf1d35e83f75cf5278205cd34f63fb1284213.tar.bz2
txr-781cf1d35e83f75cf5278205cd34f63fb1284213.zip
new: maintainer mode.
There is now a ./configure --maintainer mode which establishes a variable called maintainer in config.make, with a y value. The initial use for maintainer mode will be that the Yacc parser (the y.tab.c and y.tab.h) files will no longer be regenerated whenever the parser.y file is newer. In the following commit, I will add a generated parser. * Makefile (y.tab.h, y.tab.c): These rules are now only enabled in maintainer mode via an ifeq. * configure (maintainer): New variable. (gen_config_make): Generate maintainer make variable definition in config.make.
-rw-r--r--Makefile4
-rwxr-xr-xconfigure4
2 files changed, 8 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 29fc9590..8e00b1b5 100644
--- a/Makefile
+++ b/Makefile
@@ -280,6 +280,8 @@ lex.yy.c: $(top_srcdir)parser.l
fi)
$(call SH,chmod a-w $@)
+ifeq ($(maintainer),y)
+
y.tab.h: y.tab.c
$(call SH, \
if ! [ -e y.tab.h ] ; then \
@@ -311,6 +313,8 @@ y.tab.c: $(top_srcdir)parser.y
false ; \
fi)
+endif
+
# Suppress useless sccs id array and unused label warning in byacc otuput.
# Bison-generated parser also tests for this lint define.
$(call EACH_CONF,y.tab.o): TXR_CFLAGS += -Dlint
diff --git a/configure b/configure
index 07584383..f86cdccb 100755
--- a/configure
+++ b/configure
@@ -130,6 +130,7 @@ install_prefix=
bindir='bin'
datadir='share/txr'
mandir='share/man'
+maintainer=
make=
cross=
compiler_prefix=
@@ -779,6 +780,9 @@ SHELL := $txr_shell}
txr_ver := $txr_ver
+# is this configuration in maintainer mode
+maintainer := $maintainer
+
# absolute path to source code directory
top_srcdir := $top_srcdir