>>> "Gary" == Gary Hughes <[EMAIL PROTECTED]> writes:
[...] Gary> lib_LTLIBRARIES = liboimsg.la Gary> liboimsg_la_DEPENDENCIES = $(OI_DICTIONARY) \ Gary> $(OI_COMPILER) \ Gary> sourcefiles Gary> liboimsg_la_SOURCES = $(wildcard *.cpp) Gary> include_HEADERS = $(wildcard *.h) Gary> The problem is that during a 'make install' all the headers are picked Gary> up ok, during a make however none of the cpp files are being picked up Gary> even if I have run the compiler myself so they are sitting in the Gary> directory before make is run. $(wildcard) is a GNU Make extension which Automake doesn't grok. If you don't care about producing portable Makefiles, there are some places where $(wildcard) is moderately safe to use (e.g. _HEADERS), however _SOURCES is not one of them because Automake must know its content. There are at least two reasons why Automake needs to know the content of liboimg_la_SOURCES: 1) it uses the sources extensions to decide which compiler and linker should be used 2) it also uses it to derive liboimg_la_OBJECTS, the list of objects that should be linked in liboimg.la If you still want to go this way, here is a tricky setup that may work (no garanty): liboimsg_la_SOURCES = empty.cpp $(wildcard *.cpp) liboimsg_la_LIBADD = $(liboimsg_la_SOURCES:.cpp=.lo) include_HEADERS = $(wildcard *.h) empty.cpp: touch empty.cpp The empty.cpp file is to workaround 1), and the _LIBADD definition is for 2). A better setup, as far portability and Automake are concerned, would be to expand manually all those $(wildcard) in your Makefile.am (or have a script that generate your Makefile.am). [...] -- Alexandre Duret-Lutz