Hello,

I'm trying to debug a piece of open-source 3rd party software. It mixes c++ and fortran and has a Makefile.am fragment that looks like:

foo_SOURCES= src/file1.cpp src/file2.cpp src/file3.F src/file4.F

The c++ parts compile file but then make dies with a complaint about no rule for target file3.o. So I took a look at the automake-1.10.1 generated Makefile.in and see something like this:

am__objects_1 = src/file1.$(OBJEXT) src/file2.$(OBJEXT)
am__objects_2 = file3.$(OBJEXT) file4.$(OBJEXT)

Note that in am__objects_2, we've lost the "src/" part of the names of the fortran sources.

If I look at an automake-1.7 generated Makefile.in instead I see the same bit in the am__objects but then I also see

file3.$(OBJEXT): src/file3.F
file3.o: src/file3.F
$(F77) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS) -c -o file3.o `test -f 'src/file3.F' || echo '$(srcdir)/'`src/file3.F

and similar stuff for file4.

I'm assuming it is a bug that the directory part gets stripped off of the fortran sources but my perl-fu is too weak to figure out where that is happening.

Am I doing something wrong or is this a bug or both?

Thanks
-Dan


Reply via email to