* configure.in, NEWS: Bump version to 1.7.9.
[automake.git] / lib / am / yacc.am
blob572073dd4cd60d85573c63eb77ed3cc472f47b90
1 ## automake - create Makefile.in from Makefile.am
2 ## Copyright (C) 1998, 1999, 2001, 2002, 2003  Free Software Foundation, Inc.
4 ## This program is free software; you can redistribute it and/or modify
5 ## it under the terms of the GNU General Public License as published by
6 ## the Free Software Foundation; either version 2, or (at your option)
7 ## any later version.
9 ## This program is distributed in the hope that it will be useful,
10 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
11 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 ## GNU General Public License for more details.
14 ## You should have received a copy of the GNU General Public License
15 ## along with this program; if not, write to the Free Software
16 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
17 ## 02111-1307, USA.
19 ?GENERIC?%EXT%%DERIVED-EXT%:
20 ?!GENERIC?%OBJ%: %SOURCE%
21 if %?MORE-THAN-ONE%
22         $(SHELL) $(YLWRAP) `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE% y.tab.c %OBJ% y.tab.h %BASE%.h y.output %BASE%.output -- %COMPILE%
23 else !%?MORE-THAN-ONE%
24         %COMPILE% `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%
25 ## Edit out Bison multiple inclusion guards.  It may be BISON_Y_TAB_H,
26 ## or Y_TAB_H depending upon the version, that's why the regexp is
27 ## so loose.
28         if test -f y.tab.h; then \
29           to=`echo "%BASE%_H" | sed \
30                 -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
31                 -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`; \
32           sed "/^#/ s/Y_TAB_H/$$to/g" y.tab.h >%BASE%.ht; \
33           rm -f y.tab.h; \
34           if cmp -s %BASE%.ht %BASE%.h; then \
35             rm -f %BASE%.ht ;\
36           else \
37             mv %BASE%.ht %BASE%.h; \
38           fi; \
39         fi
40         if test -f y.output; then \
41           mv y.output %BASE%.output; \
42         fi
43 ## Edit out `#line' or `#' directives.
44         sed '/^#/ s|y\.tab\.c|%OBJ%|' y.tab.c >%OBJ%t && mv %OBJ%t %OBJ%
45         rm -f y.tab.c
46 endif !%?MORE-THAN-ONE%