I was doing a test where I am using GNU automake and autoconf. I have
a directory structure such as:
/test
Makefile.am
configure.in
/test/project1
Makefile.am
/test/project1/sublevel
Makefile.am
/test/project1/sublevel/src
myproj.cpp
Makefile.am
/test/project1/sublevel/inc
myproj.hpp
The contents of /test/project1/sublevel/src/Makefile.am is:
INCLUDE = -I../inc
lib_LIBRARIES = libmyproj.a
libmyproj_a_SOURCES = myproj.cpp myproj.hpp
So this works alright if I am building within the source tree (i.e.
myproj.a is built in /test/project1/sublevel/src).
However, if I want to build in a separate build tree (relying on
VPATH), then I try the following:
mkdir /build
cd /build
/test/configure
make
This attempts to build in this new /build directory, but during
compilation it cannot locate the header file, myproj.hpp, and the rest
of the build fails. What do I need to do in order to tell automake
where this header is? I've already tried using the absolute path
variables in the Makefile.am:
INCLUDE = -I$(abs_top_srcdir)/project2/sublevel/inc
This doesn't seem to help.
Thanks,
John