From 781cf1d35e83f75cf5278205cd34f63fb1284213 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Thu, 24 Sep 2020 19:54:21 -0700 Subject: 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. --- Makefile | 4 ++++ configure | 4 ++++ 2 files changed, 8 insertions(+) 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 -- cgit v1.2.3