summaryrefslogtreecommitdiff
path: root/lib/am/yacc.am
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2012-01-31 22:53:44 +0100
committerStefano Lattarini <stefano.lattarini@gmail.com>2012-02-01 21:49:14 +0100
commitdc04691d13078ee7aebb12d161abfa7301a6332b (patch)
tree2ee0be17a4964f06b79cf57cb9e46d5d4461ee96 /lib/am/yacc.am
parenta6a7de012b649535a9b88640b370bd4baa942742 (diff)
downloadautomake-dc04691d13078ee7aebb12d161abfa7301a6332b.tar.gz
[ng] yacc, lex: fix subdir VPATH builds
Starting with recent changes, the automake-generated configure code does not create the '.Po' files for dependency tracking anymore. This is good and proper, but unfortunately, when the 'subdir-objects' option is in use *and* a VPATH build is being performed, it breaks some rules that *implicitly* relied on that shell code having already created the subdirectory where the generated files were to be placed. This happened in particular with Yacc and Lex rules. So fix them to instead explicitly create the required directories, if not already present. Bug revealed by failures of 'lex5.test' and 'yacc8.test' with GNU make 3.82 (on all of Debian, Fedora and Solaris). * lib/am/yacc.am, lib/am/lex.am: Update. * tests/Makefile.am (XFAIL_TESTS): Remove 'lex-subobj-nodep.test', as the test now passes. * tests/yacc-subobj-nodep.test: New test. * tests/list-of-tests.mk: Add it.
Diffstat (limited to 'lib/am/yacc.am')
-rw-r--r--lib/am/yacc.am5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/am/yacc.am b/lib/am/yacc.am
index 6d35cd4ba..4f608b0ac 100644
--- a/lib/am/yacc.am
+++ b/lib/am/yacc.am
@@ -1,6 +1,6 @@
## automake - create Makefile.in from Makefile.am
-## Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004, 2006, 2009
-## Free Software Foundation, Inc.
+## Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004, 2006, 2009, 2012
+## 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
@@ -41,6 +41,7 @@ endif %?MAINTAINER-MODE%
?GENERIC?%EXT%%DERIVED-EXT%:
?!GENERIC?%OBJ%: %SOURCE%
+?SUBDIROBJ? %SILENT%test -d $(dir $@) || $(MKDIR_P) $(dir $@)
?GENERIC? %VERBOSE%$(am__skipyacc) $(SHELL) $(YLWRAP) %SOURCE% y.tab.c %OBJ% y.tab.h %BASE%.h y.output %BASE%.output -- %COMPILE%
?!GENERIC? %VERBOSE% \
?!GENERIC??DIST_SOURCE? $(am__skipyacc) \