Index: bison/src/bison/2.4.1/bison-2.4.1-src/src/Makefile.am |
=================================================================== |
--- bison/src/bison/2.4.1/bison-2.4.1-src/src/Makefile.am (revision 0) |
+++ bison/src/bison/2.4.1/bison-2.4.1-src/src/Makefile.am (revision 0) |
@@ -0,0 +1,115 @@ |
+# 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 |
+ |
+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 |