I tried using the example shown on the reference document of automake pertaining the use of per source compiling flags. For it I tried the noinst_LIBRARIES for creating .a files enclosing my compiled object files ".o" . For example :
This is my source tree: Makefile.am directoryA/Makefile.am directoryB/Makefile.am directoryC/Makefile.am directoryA/Makefile.am: elements = class1.cpp class2.cpp class3.cpp noinst_LIBRARIES = libdirA.a libdirA_a_SOURCES = \ $(elements) AM_CXXFLAGS = <compile flags for dirA> AM_LDFLAGS = <link flags for dirA> directoryB/Makefile.am: elements = class1.cpp class2.cpp class3.cpp noinst_LIBRARIES = libdirB.a libdirB_a_SOURCES = \ $(elements) AM_CXXFLAGS = <compile flags for dirB> AM_LDFLAGS = <link flags for dirB> Same thing for directoryC/Makefile.am In my root Makefile.am: elements = \ src/main.cpp bin_PROGRAMS = programABC programABC_SOURCES = \ $(elements) programABC_LDADD = ./src/directoryA/libdirA.a ./src/directoryB/libdirB.a ./src/directoryC/libdirC.a AM_CXXFLAGS = <compile flags for main > AM_LDFLAGS = <link flags for main > SUBDIRS = ./src/directoryA ./src/directoryB ./src/directoryC My project is already autoreconf(ed), automake(d) and ./configure(d). When I issue make I get dependency errors when I link the whole program. Can anybody tell me if the makefile directives are wrong?? Thanks -- teratux