]> git.saurik.com Git - bison.git/commitdiff
Remove src/Makefile.am.
authorAkim Demaille <demaille@gostai.com>
Tue, 23 Sep 2008 13:54:56 +0000 (15:54 +0200)
committerAkim Demaille <demaille@gostai.com>
Sat, 15 Nov 2008 09:47:15 +0000 (10:47 +0100)
* src/Makefile.am: Rename as...
* src/local.mk: this.
Prefix all the paths with src/.
(AUTOMAKE_OPTIONS): Build object files in the sub dirs.
(AM_CPPFLAGS): Find find in builddir/src.
(YACC): Move the flags into...
(AM_YFLAGS): here.
* maint.mk (sc_tight_scope): Disable.
It used to bounce to the version in src/Makefile.am which is now
part of this very Makefile.
* Makefile.am, configure.ac: Adjust.
* src/scan-code-c.c, src/scan-code.l: We can no longer rely on
include "..." to find files "here": we are no longer in src/, so
qualify the includes with src/.
* doc/Makefile.am (PREPATH): No longer include the top_builddir
prefix.
(.x.1): Adjust to be able to create src/foo from the top level
Makefile, instead of going bounce to src/Makefile the creation of
foo.

13 files changed:
ChangeLog
Makefile.am
configure.ac
doc/Makefile.am
maint.mk
src/Makefile.am [deleted file]
src/local.mk [new file with mode: 0644]
src/scan-code-c.c
src/scan-code.l
src/scan-gram-c.c
src/scan-gram.l
src/scan-skel-c.c
src/scan-skel.l

index be5193c2fd7cd8d5e331e2e8956bc65fc26e02fe..f832613939d02af7dfe9f10057feeeb33326a664 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+2008-11-15  Akim Demaille  <demaille@gostai.com>
+
+       Remove src/Makefile.am.
+       * src/Makefile.am: Rename as...
+       * src/local.mk: this.
+       Prefix all the paths with src/.
+       (AUTOMAKE_OPTIONS): Build object files in the sub dirs.
+       (AM_CPPFLAGS): Find find in builddir/src.
+       (YACC): Move the flags into...
+       (AM_YFLAGS): here.
+       * maint.mk (sc_tight_scope): Disable.
+       It used to bounce to the version in src/Makefile.am which is now
+       part of this very Makefile.
+       * Makefile.am, configure.ac: Adjust.
+       * src/scan-code-c.c, src/scan-code.l: We can no longer rely on
+       include "..." to find files "here": we are no longer in src/, so
+       qualify the includes with src/.
+       * doc/Makefile.am (PREPATH): No longer include the top_builddir
+       prefix.
+       (.x.1): Adjust to be able to create src/foo from the top level
+       Makefile, instead of going bounce to src/Makefile the creation of
+       foo.
+
 2008-11-15  Akim Demaille  <demaille@gostai.com>
 
        Remove useless variable.
index dd20d5d04a82ce21a87d3b8ed59e06db2407cb78..f5f888d90212a9e4ca5cc701741b2d670bc90f69 100644 (file)
@@ -17,7 +17,7 @@
 
 ACLOCAL_AMFLAGS = -I m4
 
-SUBDIRS = po runtime-po lib src doc tests
+SUBDIRS = po runtime-po lib . doc tests
 if BISON_CXX_WORKS
 SUBDIRS += examples/calc++
 endif
@@ -33,10 +33,13 @@ EXTRA_DIST = .prev-version .version cfg.mk maint.mk \
   djgpp/subpipe.c djgpp/subpipe.h djgpp/djunpack.bat \
   djgpp/fnchange.lst djgpp/testsuite.sed
 
+# Initialization before completion by local.mk's.
+BUILT_SOURCES =
 include build-aux/local.mk
 include data/local.mk
 include etc/local.mk
 include examples/local.mk
+include src/local.mk
 
 .PHONY: maintainer-check
 maintainer-check:
@@ -59,7 +62,7 @@ maintainer-xml-check:
 # a developer might naively reference .version in a test case while the bison
 # executable still compiles with VERSION, and so the test case might fail or
 # pass incorrectly.
-BUILT_SOURCES = $(top_srcdir)/.version
+BUILT_SOURCES += $(top_srcdir)/.version
 $(top_srcdir)/.version: configure
        echo $(VERSION) > $@-t && mv $@-t $@
 dist-hook:
index 83eb9c37091c77cf3fd1f2fcfee1cf1864d666fa..659c312881b5b4217e79414f72956e2c02dbeb1c 100644 (file)
@@ -79,7 +79,7 @@ AC_ARG_ENABLE([yacc],
   , [enable_yacc=yes])
 case $enable_yacc in
 yes)
-  YACC_SCRIPT=yacc
+  YACC_SCRIPT=src/yacc
   YACC_LIBRARY=liby.a;;
 *)
   YACC_SCRIPT=
@@ -151,7 +151,7 @@ gt_JAVAEXEC
 AC_CONFIG_FILES([Makefile
                 po/Makefile.in
                 examples/calc++/Makefile
-                lib/Makefile src/Makefile
+                lib/Makefile
                 doc/Makefile
                   doc/yacc.1])
 AC_OUTPUT
index 11775e7d0fec879a36ac2abf95c29254e6e860a4..8ae82511af455764448428fa5d547a60663db307 100644 (file)
@@ -66,28 +66,30 @@ MOSTLYCLEANFILES = $(srcdir)/*.t
 
 SUFFIXES = .x .1
 
-PREPATH = $(top_builddir)/src
+PREPATH = src
 .x.1:
-       @program=`expr "/$*" : '.*/\(.*\)'` &&                          \
-       save_IFS=$IFS;                                                  \
-       IFS=$(PATH_SEPARATOR);                                          \
-       for dir in $(PREPATH); do                                       \
-         IFS=$save_IFS;                                                \
-         echo cd $$dir '&&' $(MAKE) $(AM_MAKEFLAGS) $$program &&       \
-         (cd $$dir && $(MAKE) $(AM_MAKEFLAGS) $$program) || exit;      \
+       @program=`expr "/$*" : '.*/\(.*\)'` &&                           \
+       save_IFS=$IFS;                                                   \
+       IFS=$(PATH_SEPARATOR);                                           \
+       for dir in $(PREPATH); do                                        \
+         IFS=$save_IFS;                                                 \
+         echo cd $(top_builddir) '&&'                                   \
+               $(MAKE) $(AM_MAKEFLAGS) $$dir/$$program &&               \
+         (cd $(top_builddir) &&                                         \
+               $(MAKE) $(AM_MAKEFLAGS) $$dir/$$program) || exit;        \
        done
        @echo "Updating man page $@"
-       PATH="$(PREPATH)$(PATH_SEPARATOR)$$PATH";                            \
-       export PATH;                                                         \
-       $(HELP2MAN)                                                          \
-           --include=$*.x                                                   \
-           --include=$(srcdir)/common.x                                     \
+       PATH="$(top_builddir)/$(PREPATH)$(PATH_SEPARATOR)$$PATH";        \
+       export PATH;                                                     \
+       $(HELP2MAN)                                                      \
+           --include=$*.x                                               \
+           --include=$(srcdir)/common.x                                 \
            --output=$@.t `echo '$*' | sed 's,.*/,,'`
-       if $(remove_time_stamp) $@ >$@a.t 2>/dev/null &&                     \
-          $(remove_time_stamp) $@.t | cmp $@a.t - >/dev/null 2>&1; then     \
-               touch $@;                                                    \
-       else                                                                 \
-               mv $@.t $@;                                                  \
+       if $(remove_time_stamp) $@ >$@a.t 2>/dev/null &&                 \
+          $(remove_time_stamp) $@.t | cmp $@a.t - >/dev/null 2>&1; then \
+               touch $@;                                                \
+       else                                                             \
+               mv $@.t $@;                                              \
        fi
        rm -f $@*.t
 
index 7b431549ff04f6169f73420c682c6e5be14d8087..93d6b6aa6ea1c39b1e22f2dcb7a37295e54c2c4f 100644 (file)
--- a/maint.mk
+++ b/maint.mk
@@ -404,8 +404,8 @@ sc_the_the:
          { echo '$(ME): found use of "the ''the";' 1>&2;               \
            exit 1; } || :
 
-sc_tight_scope:
-       $(MAKE) -C src $@
+#sc_tight_scope:
+#      $(MAKE) -C src $@
 
 sc_trailing_blank:
        @grep -n '[      ]$$' $$($(VC_LIST_EXCEPT)) &&                  \
diff --git a/src/Makefile.am b/src/Makefile.am
deleted file mode 100644 (file)
index a5cf94e..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-# Make bison/src.
-
-# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software
-# Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
-AM_CPPFLAGS = -I$(top_srcdir)/lib
-AM_YFLAGS = "-dv"
-
-LDADD = ../lib/libbison.a $(LIBINTL)
-
-# Use our own Bison to build the parser.  Of course, you ought to
-# keep a sane version of Bison nearby...
-YACC = ../tests/bison -y --warnings=all,error --report=all
-
-bin_PROGRAMS = bison
-bin_SCRIPTS = $(YACC_SCRIPT)
-EXTRA_SCRIPTS = yacc
-
-bison_SOURCES =                                          \
-       LR0.c LR0.h                               \
-       assoc.c assoc.h                           \
-       closure.c closure.h                       \
-       complain.c complain.h                     \
-       conflicts.c conflicts.h                   \
-       derives.c derives.h                       \
-       files.c files.h                           \
-       flex-scanner.h                            \
-       getargs.c getargs.h                       \
-       gram.c gram.h                             \
-       lalr.h lalr.c                             \
-       location.c location.h                     \
-       main.c                                    \
-       muscle_tab.c muscle_tab.h                 \
-       nullable.c nullable.h                     \
-       output.c output.h                         \
-       parse-gram.h parse-gram.y                 \
-       print.c print.h                           \
-       print_graph.c print_graph.h               \
-       print-xml.c print-xml.h                   \
-       reader.c reader.h                         \
-       reduce.c reduce.h                         \
-       relation.c relation.h                     \
-       scan-code.h scan-code-c.c                 \
-       scan-gram.h scan-gram-c.c                 \
-       scan-skel.h scan-skel-c.c                 \
-       state.c state.h                           \
-       symlist.c symlist.h                       \
-       symtab.c symtab.h                         \
-       system.h                                  \
-       tables.h tables.c                         \
-       uniqstr.c uniqstr.h                       \
-       graphviz.c graphviz.h
-
-EXTRA_bison_SOURCES = scan-code.l scan-skel.l scan-gram.l
-
-BUILT_SOURCES =                                        \
-parse-gram.c parse-gram.h                      \
-scan-code.c                                    \
-scan-skel.c                                    \
-scan-gram.c
-
-MOSTLYCLEANFILES = yacc
-
-yacc:
-       echo '#! /bin/sh' >$@
-       echo "exec '$(bindir)/bison' -y "'"$$@"' >>$@
-       chmod a+x $@
-
-echo:
-       echo $(bison_SOURCES) $(noinst_HEADERS)
-
-# The following rule is not designed to be portable,
-# and relies on tools that not everyone has.
-
-# Most functions in src/*.c should have static scope.
-# Any that don't must be marked with `extern', but `main'
-# and `usage' are exceptions.  They're always extern, but
-# don't need to be marked.
-#
-# The second nm|grep checks for file-scope variables with `extern' scope.
-sc_tight_scope: $(all_programs)
-       @t=exceptions-$$$$;                                             \
-       trap 's=$$?; rm -f $$t; exit $$s' 0 1 2 13 15;                  \
-       ( printf '^main$$\n^usage$$\n';                                 \
-         grep -h -A1 '^extern .*[^;]$$' $(SOURCES)                     \
-           | grep -vE '^(extern |--)' |sed 's/^/^/;s/ .*/$$/' ) > $$t; \
-       if nm -e *.$(OBJEXT)                                            \
-           | sed -n 's/.* T //p'                                       \
-           | grep -Ev -f $$t; then                                     \
-         echo 'the above functions should have static scope' 1>&2;     \
-         exit 1;                                                       \
-       fi;                                                             \
-       ( printf '^program_name$$\n';                                   \
-         sed -n 's/^extern .*[* ]\([a-zA-Z_][a-zA-Z_0-9]*\);$$/^\1$$/p' \
-           $$(ls $(SOURCES) | grep '\.h$$') /dev/null) > $$t;          \
-       if nm -e *.$(OBJEXT)                                            \
-           | sed -n 's/.* [BD] //p'                                    \
-           | grep -Ev -f $$t; then                                     \
-         echo 'the above variables should have static scope' 1>&2;     \
-         exit 1;                                                       \
-       fi
diff --git a/src/local.mk b/src/local.mk
new file mode 100644 (file)
index 0000000..d54d528
--- /dev/null
@@ -0,0 +1,154 @@
+## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software
+## Foundation, Inc.
+
+## This program is free software: you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation, either version 3 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+AUTOMAKE_OPTIONS = subdir-objects
+
+AM_CPPFLAGS = -I$(top_srcdir)/lib
+# Find builddir/src/scan-code.c etc.
+AM_CPPFLAGS += -I$(top_builddir)
+
+AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
+
+LDADD = $(top_builddir)/lib/libbison.a $(LIBINTL)
+
+# Use our own Bison to build the parser.  Of course, you ought to
+# keep a sane version of Bison nearby...
+YACC = $(top_builddir)/tests/bison -y
+AM_YFLAGS = -dv --warnings=all,error --report=all
+
+bin_PROGRAMS = src/bison
+bin_SCRIPTS = $(YACC_SCRIPT)
+EXTRA_SCRIPTS = src/yacc
+
+src_bison_SOURCES =                            \
+  src/LR0.c                                    \
+  src/LR0.h                                    \
+  src/assoc.c                                  \
+  src/assoc.h                                  \
+  src/closure.c                                        \
+  src/closure.h                                        \
+  src/complain.c                               \
+  src/complain.h                               \
+  src/conflicts.c                              \
+  src/conflicts.h                              \
+  src/derives.c                                        \
+  src/derives.h                                        \
+  src/files.c                                  \
+  src/files.h                                  \
+  src/flex-scanner.h                           \
+  src/getargs.c                                        \
+  src/getargs.h                                        \
+  src/gram.c                                   \
+  src/gram.h                                   \
+  src/graphviz.c                               \
+  src/graphviz.h                               \
+  src/lalr.c                                   \
+  src/lalr.h                                   \
+  src/location.c                               \
+  src/location.h                               \
+  src/main.c                                   \
+  src/muscle_tab.c                             \
+  src/muscle_tab.h                             \
+  src/nullable.c                               \
+  src/nullable.h                               \
+  src/output.c                                 \
+  src/output.h                                 \
+  src/parse-gram.h                             \
+  src/parse-gram.y                             \
+  src/print-xml.c                              \
+  src/print-xml.h                              \
+  src/print.c                                  \
+  src/print.h                                  \
+  src/print_graph.c                            \
+  src/print_graph.h                            \
+  src/reader.c                                 \
+  src/reader.h                                 \
+  src/reduce.c                                 \
+  src/reduce.h                                 \
+  src/relation.c                               \
+  src/relation.h                               \
+  src/scan-code-c.c                            \
+  src/scan-code.h                              \
+  src/scan-gram-c.c                            \
+  src/scan-gram.h                              \
+  src/scan-skel-c.c                            \
+  src/scan-skel.h                              \
+  src/state.c                                  \
+  src/state.h                                  \
+  src/symlist.c                                        \
+  src/symlist.h                                        \
+  src/symtab.c                                 \
+  src/symtab.h                                 \
+  src/system.h                                 \
+  src/tables.c                                 \
+  src/tables.h                                 \
+  src/uniqstr.c                                        \
+  src/uniqstr.h
+
+EXTRA_src_bison_SOURCES =                      \
+  src/scan-code.l                              \
+  src/scan-gram.l                              \
+  src/scan-skel.l
+
+BUILT_SOURCES +=                               \
+  src/parse-gram.c                             \
+  src/parse-gram.h                             \
+  src/scan-code.c                              \
+  src/scan-gram.c                              \
+  src/scan-skel.c
+
+MOSTLYCLEANFILES = src/yacc
+
+src/yacc:
+       rm -f $@ $@.tmp
+       echo '#! /bin/sh' >$@.tmp
+       echo "exec '$(bindir)/bison' -y "'"$$@"' >>$@.tmp
+       chmod a+x $@.tmp
+       mv $@.tmp $@
+
+echo:
+       echo $(src_bison_SOURCES) $(noinst_HEADERS)
+
+# The following rule is not designed to be portable,
+# and relies on tools that not everyone has.
+
+# Most functions in src/*.c should have static scope.
+# Any that don't must be marked with `extern', but `main'
+# and `usage' are exceptions.  They're always extern, but
+# don't need to be marked.
+#
+# The second nm|grep checks for file-scope variables with `extern' scope.
+sc_tight_scope: $(all_programs)
+       @t=exceptions-$$$$;                                             \
+       trap 's=$$?; rm -f $$t; exit $$s' 0 1 2 13 15;                  \
+       ( printf '^main$$\n^usage$$\n';                                 \
+         grep -h -A1 '^extern .*[^;]$$' $(SOURCES)                     \
+           | grep -vE '^(extern |--)' |sed 's/^/^/;s/ .*/$$/' ) > $$t; \
+       if nm -e *.$(OBJEXT)                                            \
+           | sed -n 's/.* T //p'                                       \
+           | grep -Ev -f $$t; then                                     \
+         echo 'the above functions should have static scope' 1>&2;     \
+         exit 1;                                                       \
+       fi;                                                             \
+       ( printf '^program_name$$\n';                                   \
+         sed -n 's/^extern .*[* ]\([a-zA-Z_][a-zA-Z_0-9]*\);$$/^\1$$/p' \
+           $$(ls $(SOURCES) | grep '\.h$$') /dev/null) > $$t;          \
+       if nm -e *.$(OBJEXT)                                            \
+           | sed -n 's/.* [BD] //p'                                    \
+           | grep -Ev -f $$t; then                                     \
+         echo 'the above variables should have static scope' 1>&2;     \
+         exit 1;                                                       \
+       fi
index 4a018f854e42b7dd8b7e6a5c91c230062dd3ffa3..7d37b766b54701d1c63b21cfad7c1e963680c907 100644 (file)
@@ -1,3 +1,3 @@
 #include <config.h>
 #include "system.h"
-#include "scan-code.c"
+#include "src/scan-code.c"
index 13a78c27fb00c8a00dff6d11f5e315d8016b4fce..e883e714dc4767cd35198efbb3e3a9264c3609e4 100644 (file)
 #define code_wrap() 1
 
 #define FLEX_PREFIX(Id) code_ ## Id
-#include "flex-scanner.h"
+#include <src/flex-scanner.h>
 
-#include "complain.h"
-#include "reader.h"
-#include "getargs.h"
+#include <src/complain.h>
+#include <src/reader.h>
+#include <src/getargs.h>
 #include <get-errno.h>
 #include <quote.h>
 
-#include "scan-code.h"
-#include "symlist.h"
+#include <src/scan-code.h>
+#include <src/symlist.h>
 
 /* The current calling start condition: SC_RULE_ACTION or
    SC_SYMBOL_ACTION. */
index 6bacac62ff9de95ab2f988fa1f0065ea69a9dae1..2b4fc67b484ad730814d63074a20c41c4cce8942 100644 (file)
@@ -1,3 +1,3 @@
 #include <config.h>
 #include "system.h"
-#include "scan-gram.c"
+#include "src/scan-gram.c"
index 7e4c1f10d5a63d6218f8254d547e85b1e85dabf3..7ea0d6855d448e985cc3cd679b5456484b8098f6 100644 (file)
 #define gram_wrap() 1
 
 #define FLEX_PREFIX(Id) gram_ ## Id
-#include "flex-scanner.h"
+#include <src/flex-scanner.h>
 
-#include "complain.h"
-#include "files.h"
-#include "gram.h"
-#include "quotearg.h"
-#include "reader.h"
-#include "uniqstr.h"
+#include <src/complain.h>
+#include <src/files.h>
+#include <src/gram.h>
+#include <quotearg.h>
+#include <src/reader.h>
+#include <src/uniqstr.h>
 
 #include <mbswidth.h>
 #include <quote.h>
 
-#include "scan-gram.h"
+#include <src/scan-gram.h>
 
 #define YY_DECL GRAM_LEX_DECL
 
index fb1aea61398e1b5d00ffd87720536bd1944ebaf3..3e1e73deb0fbfa4b915c69280de827d013753fd3 100644 (file)
@@ -1,3 +1,3 @@
 #include <config.h>
 #include "system.h"
-#include "scan-skel.c"
+#include "src/scan-skel.c"
index 6ef53511a674507ec2d42ca179f887e7e3d43bbb..b315951cacb85e936dcd40ab3e1801b8e880c9a9 100644 (file)
@@ -1,6 +1,6 @@
 /* Scan Bison Skeletons.                                       -*- C -*-
 
-   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
+   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software
    Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
 #define skel_wrap() 1
 
 #define FLEX_PREFIX(Id) skel_ ## Id
-#include "flex-scanner.h"
+#include <src/flex-scanner.h>
 
 #include <dirname.h>
 #include <error.h>
 #include <quotearg.h>
 
-#include "complain.h"
-#include "getargs.h"
-#include "files.h"
-#include "scan-skel.h"
+#include <src/complain.h>
+#include <src/getargs.h>
+#include <src/files.h>
+#include <src/scan-skel.h>
 
 #define YY_DECL static int skel_lex (void)
 YY_DECL;