Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Tom Tromey <tom@tromey.com>
To: gdb-patches@sourceware.org
Cc: Tom Tromey <tom@tromey.com>
Subject: [RFA 08/10] Minimize yacc and lex output
Date: Mon, 02 Jul 2018 20:18:00 -0000	[thread overview]
Message-ID: <20180702201824.15005-9-tom@tromey.com> (raw)
In-Reply-To: <20180702201824.15005-1-tom@tromey.com>

This minimizes the "make" output from the yacc and lex rules,
following the same technique as the rest of the Makefile.

The lex rule had a special case to deal with the situation where flex
is not available.  I don't think this is needed, so I removed it.  If
flex is truly unavailable, the person building gdb can simply "touch"
the output file.

gdb/ChangeLog
2018-07-02  Tom Tromey  <tom@tromey.com>

	* Makefile.in (%.c: %.y): Use ECHO_YACC.
	(%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
	* silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
---
 gdb/ChangeLog       |  6 ++++++
 gdb/Makefile.in     | 17 +++++------------
 gdb/silent-rules.mk |  2 ++
 3 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 047d06b6121..36d2c44a2a1 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -2477,9 +2477,9 @@ po/$(PACKAGE).pot: force
 # Makefile.in, but that was a pretty big annoyance.
 
 %.c: %.y
-	$(SHELL) $(YLWRAP) $< y.tab.c $@.tmp -- $(YACC) $(YFLAGS) \
-		|| (rm -f $@.tmp; false)
-	sed -e '/extern.*malloc/d' \
+	$(ECHO_YACC) $(SHELL) $(YLWRAP) $< y.tab.c $@.tmp -- \
+		$(YACC) $(YFLAGS) || (rm -f $@.tmp; false)
+	@sed -e '/extern.*malloc/d' \
 	     -e '/extern.*realloc/d' \
 	     -e '/extern.*free/d' \
 	     -e '/include.*malloc.h/d' \
@@ -2493,8 +2493,7 @@ po/$(PACKAGE).pot: force
 	  rm -f $@.tmp && \
 	  mv $@.new $@
 %.c: %.l
-	if [ "$(FLEX)" ] && $(FLEX) --version >/dev/null 2>&1; then \
-	    $(FLEX) -t $<  \
+	$(ECHO_LEX) $(FLEX) -t $<  \
 	    | sed -e '/extern.*malloc/d' \
 	        -e '/extern.*realloc/d' \
 	        -e '/extern.*free/d' \
@@ -2505,13 +2504,7 @@ po/$(PACKAGE).pot: force
 	        -e 's/\([ \t;,(]\)free$$/\1xfree/g' \
 		-e 's/yy_flex_xrealloc/yyxrealloc/g' \
 	      > $@.new && \
-	    mv $@.new $@; \
-	elif [ -f $@ ]; then \
-	    echo "Warning: $*.c older than $*.l and flex not available."; \
-	else \
-	    echo "$@ missing and flex not available."; \
-	    false; \
-	fi
+	    mv $@.new $@
 
 .PRECIOUS: ada-lex.c
 
diff --git a/gdb/silent-rules.mk b/gdb/silent-rules.mk
index ade77ad1c51..7ed73a767c6 100644
--- a/gdb/silent-rules.mk
+++ b/gdb/silent-rules.mk
@@ -11,5 +11,7 @@ ECHO_GEN_XML_BUILTIN_GENERATED = \
               @echo "  GEN    xml-builtin-generated.c";
 ECHO_INIT_C =  echo "  GEN    init.c" ||
 ECHO_SIGN =   @echo "  SIGN   gdb";
+ECHO_YACC =   @echo "  YACC   $@";
+ECHO_LEX  =   @echo "  LEX    $@";
 SILENCE = @
 endif
-- 
2.13.6


  parent reply	other threads:[~2018-07-02 20:18 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-02 20:19 [RFA 00/10] Minor Makefile cleanups Tom Tromey
2018-07-02 20:18 ` [RFA 01/10] Remove TSOBS from gdb/Makefile.in Tom Tromey
2018-07-02 21:26   ` Simon Marchi
2018-07-02 22:04     ` Tom Tromey
2018-07-02 20:18 ` [RFA 07/10] Fix exec.c handling in Makefile Tom Tromey
2018-07-02 20:18 ` [RFA 02/10] Remove some unused code from init.c build rule Tom Tromey
2018-07-02 20:18 ` [RFA 06/10] Remove lint support Tom Tromey
2018-07-02 20:18 ` [RFA 05/10] Use a stamp file for version.c Tom Tromey
2018-07-02 20:18 ` [RFA 10/10] Don't mention XM_CDEPS or NAT_CLIBS Tom Tromey
2018-07-02 20:18 ` [RFA 04/10] Use a stamp file for init.c Tom Tromey
2018-07-02 20:18 ` [RFA 09/10] Remove ADD_FILES and ADD_DEPS from Makefile.in Tom Tromey
2018-07-02 20:18 ` Tom Tromey [this message]
2018-07-02 20:18 ` [RFA 03/10] Simplify INIT_FILES Tom Tromey
2018-07-02 21:47 ` [RFA 00/10] Minor Makefile cleanups Simon Marchi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180702201824.15005-9-tom@tromey.com \
    --to=tom@tromey.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox