Hi folks, Ralf Wildenhues wrote: > > What exactly does not work for you?
I tried to use VPATH = $(srcdir):$(top_srcdir)/some/common/dir in Makefile.am. > In what circumstances? I am not sure what you mean by "circumstances". I am trying to build a C++ library (no libtool) using both local sources and source files in a common directory for the whole project. Creating symbolic links to the common sources is no option here. > On which > system, which `make', which automake version, RedHat 8, Autoconf 2.59, Automake 1.9.6, GNU make 3.80, m4 1.4.3, gcc 2.95.3 > where's the reproducible > example, See the attachement. To reproduce tar xpfz example.tar.gz cd example autoreconf -i mkdir build cd build ../configure make You will get an error message saying gcc: ../output.c: No such file or directory If you kick out hello_CPPFLAGS from Makefile.am, then some different build rules are included in the generated Makefile, VPATH suddenly works, and the error message is gone. which part of depend2.am are you actually talking about? See the attached patch. Using this new version VPATH works for the test case. Probably a very similar patch could be applied to the libtool and Windows sections in depend2.am. > Have > you studied the Autoconf manual section about portability yet? > Yes. I hope this patch (or maybe an easier version) could be included into Automake. Many thanx Harri
diff -ur am/depend2.am am.new/depend2.am --- am/depend2.am Tue Sep 20 19:49:59 2005 +++ am.new/depend2.am Wed Oct 19 13:56:34 2005 @@ -65,7 +65,8 @@ if %FASTDEP% ## In fast-dep mode, we can always use -o. ## For non-suffix rules, we must emulate a VPATH search on %SOURCE%. -?!GENERIC? if %COMPILE% -MT %OBJ% -MD -MP -MF "%DEPBASE%.Tpo" %-c% -o %OBJ% `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%; \ +## ?!GENERIC? if %COMPILE% -MT %OBJ% -MD -MP -MF "%DEPBASE%.Tpo" %-c% -o %OBJ% `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%; \ +?!GENERIC? if %COMPILE% -MT %OBJ% -MD -MP -MF "%DEPBASE%.Tpo" %-c% -o %OBJ% `test -f '%SOURCE%' || (VPATH=$(VPATH); test "$$VPATH" || VPATH=$(srcdir); for i in \`IFS=:; set $$VPATH; unset IFS; echo "$$@"\`; do test -f $$i/'%SOURCE%' && echo $$i/ && break; done)`%SOURCE%; \ ?SUBDIROBJ??GENERIC? depbase=`echo %OBJ% | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \ ?GENERIC? if %COMPILE% -MT %OBJ% -MD -MP -MF "%DEPBASE%.Tpo" %-c% -o %OBJ% %SOURCE%; \ then mv -f "%DEPBASE%.Tpo" "%DEPBASE%.Po"; else rm -f "%DEPBASE%.Tpo"; exit 1; fi @@ -79,8 +80,10 @@ ?!-o? %COMPILE% %-c% %SOURCE% else !%?GENERIC% ## For non-suffix rules, we must emulate a VPATH search on %SOURCE%. -?-o? %COMPILE% %-c% %-o% %OBJ% `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE% -?!-o? %COMPILE% %-c% `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE% +##?-o? %COMPILE% %-c% %-o% %OBJ% `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE% +##?!-o? %COMPILE% %-c% `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE% +?-o? %COMPILE% %-c% %-o% %OBJ% `test -f '%SOURCE%' || (VPATH=$(VPATH); test "$$VPATH" || VPATH=$(srcdir); for i in \`IFS=:; set $$VPATH; unset IFS; echo "$$@"\`; do test -f $$i/'%SOURCE%' && echo $$i/ && break; done)`%SOURCE% +?!-o? %COMPILE% %-c% `test -f '%SOURCE%' || (VPATH=$(VPATH); test "$$VPATH" || VPATH=$(srcdir); for i in \`IFS=:; set $$VPATH; unset IFS; echo "$$@"\`; do test -f $$i/'%SOURCE%' && echo $$i/ && break; done)`%SOURCE% endif !%?GENERIC% endif !%FASTDEP% Only in am.new: depend2.am~
example.tar.gz
Description: application/gzip