]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
[ng] yacc/c++: prefer make-time processing over recipe-time one
authorStefano Lattarini <stefano.lattarini@gmail.com>
Tue, 29 May 2012 22:30:07 +0000 (00:30 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Wed, 6 Jun 2012 07:29:47 +0000 (09:29 +0200)
* lib/am/yacc.am (am__yacc_c2h): Transform from a sed command to a
make function.
(Rules for Yacc -> C transform): Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
lib/am/yacc.am

index 4815087c63838f6edbdb7016ef15bc63f606e6ae..e6f21b66c0af284e6eec89b25be9eff7894d16b6 100644 (file)
@@ -36,9 +36,7 @@ if %?FIRST%
 if %?MAINTAINER-MODE%
 @MAINTAINER_MODE_FALSE@am__skipyacc = test -f $@ ||
 endif %?MAINTAINER-MODE%
-## The 's/c$/h/' substitution *must* be the last one.
-am__yacc_c2h = sed -e s/cc$$/hh/ -e s/cpp$$/hpp/ -e s/cxx$$/hxx/ \
-                  -e s/c++$$/h++/ -e s/c$$/h/
+am__yacc_c2h = $(basename $1)$(subst c,h,$(suffix $1))
 endif %?FIRST%
 
 ?GENERIC?%%DERIVED-EXT%: %%EXT%
@@ -49,6 +47,6 @@ endif %?FIRST%
 ?!GENERIC??DIST_SOURCE?        $(am__skipyacc) \
        $(SHELL) $(YLWRAP) $< \
          y.tab.c $@ \
-         y.tab.h `echo %OBJ% | $(am__yacc_c2h)` \
+         y.tab.h $(call am__yacc_c2h,$@) \
          y.output %BASE%.output \
          -- %COMPILE%