On 02/01/2012 05:05 PM, Peter Hutterer wrote: > On Wed, Feb 01, 2012 at 04:23:12PM +0200, Jussi Pakkanen wrote: >> Currently the code builds only if the headers and libs happen >> to be in the system paths already. Fix that. >> >> Signed-off-by: Jussi Pakkanen <[email protected]> >> --- >> Makefile.am | 13 ++++++++++++- >> configure.ac | 2 +- >> examples/Makefile.am | 29 ----------------------------- >> 3 files changed, 13 insertions(+), 31 deletions(-) >> delete mode 100644 examples/Makefile.am >> >> diff --git a/Makefile.am b/Makefile.am >> index d10bca8..82496bf 100644 >> --- a/Makefile.am >> +++ b/Makefile.am >> @@ -1,4 +1,4 @@ >> -SUBDIRS = doc examples >> +SUBDIRS = doc >> >> lib_LTLIBRARIES = libxorg-gtest.la libxorg-gtest_main.la >> >> @@ -38,6 +38,17 @@ ACLOCAL_AMFLAGS = -I m4 >> >> AM_CXXFLAGS = -Iinclude >> >> +noinst_PROGRAMS = xorg-gtest-example >> + >> +xorg_gtest_example_SOURCES = examples/xorg-gtest.cpp > > shouldn't this use $(srcdir)/examples/xorg-gtest.cpp? > > aside from that, I think that's the wrong approach. instead of flattening the > makefile tree, shouldn't we rather adjust the -I and -L paths so that the > linking happens correctly?
I agree. There are people who would rather have one flat Makefile per-project: http://miller.emu.id.au/pmiller/books/rmch/. However, I think loss of speed with today's machines is a reasonable price to pay if splitting things up into separate Makefiles helps maintainability and comprehension. In this particular case, I was hoping to have Makefile.am also be part of the "example". It would show how to set up the build rules for an xorg-gtest testsuite. However, that's not really possible since we need to link against the libraries built in the package rather than assuming the system libraries are present. I think what we should do is adjust -I and -L paths as Peter mentioned, but specify them separately and with a comment: # These flags are necessary for building inside this source package. # They should not be used in other contexts. xorg_gtest_example_CPPFLAGS = -I../include xorg_gtest_example_LDFLAGS = -L../src/.libs XORG_GTEST_LDFLAGS = -lxorg-gtest XORG_GTEST_MAIN_LDFLAGS = -lxorg-gtest_main xorg_gtest_example_CPPFLAGS += \ $(AM_CPPFLAGS) \ $(GTEST_CPPFLAGS) xorg_gtest_example_LDFLAGS += \ $(XORG_GTEST_LDFLAGS) \ $(GTEST_LDFLAGS) \ $(X11_LDFLAGS) \ $(XORG_GTEST_MAIN_LDFLAGS) \ -lpthread Or something like that... -- Chase _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
