Minimize yacc and lex output
authorTom Tromey <tom@tromey.com>
Mon, 2 Jul 2018 13:29:03 +0000 (07:29 -0600)
committerTom Tromey <tom@tromey.com>
Mon, 9 Jul 2018 14:03:49 +0000 (08:03 -0600)
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-09  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
gdb/Makefile.in
gdb/silent-rules.mk

index b8bc5cf..d0902c7 100644 (file)
@@ -1,5 +1,11 @@
 2018-07-09  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.
+
+2018-07-09  Tom Tromey  <tom@tromey.com>
+
        * Makefile.in (ALLDEPFILES): Remove exec.c.
        (COMMON_OBS): Remove exec.o.
        (COMMON_SFILES): Add exec.c.
index 047d06b..36d2c44 100644 (file)
@@ -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
 
index ade77ad..7ed73a7 100644 (file)
@@ -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