Jean-Guillaume, > So, in the Makefile.am of the src dir, I put something like:
> INCLUDES = $(PROJECT_ROOT_DIR)/include -I$(XERCES_DIR)/include .... I presume you're not pasting... There's a -I missing here. How about INCLUDES = -I${top_srcdir}/include ${XERCESINCDIR} ... top_srcdir is already predefined for you, so no need to substitute it in. Also, you should make the complete -I specs in your configure file -- this way you're free to make XERCESINCDIR empty if it is on the search path anyway. [...] > dsiSecManager_LDFLAGS = $(LDFLAGS) -L$(DSI_ROOT_DIR)/bin > -L$(XERCES_DIR)/lib Is DSI_ROOT_DIR the build root of your project? If so, you should probably not -L it, but rather use a path in LDADD. > dsiSecManager_LDADD = $(SM_OBJS) $(COS_OBJS) -lxerces-c -lPL -lc > $(LIBS) Don't include -lc yourself. Your compiler will do that for you, with the added bonus that the compiler knows how libc is named on your system. :-) > #rule to compile the .o files > %.o: %.cpp %.h > $(CC) $(DEFINED) -c $(INCLUDES) $< -o $@ Unneccesary. Automake generates this rule for you and also keeps track of the .h files. > Yes despite this, IF the .h files are not in the src dir, automake > doesn't follow the rules I wrote for the .o files and doesn't compile > with the $(DEFINED) flags, making it eventually crash. What kind of flags do you need? > I tried several things, for example > dsiSecManager_SOURCES = file1.cpp .$(PROJECT_ROOT_DIR)/include/file1.h > .. Listing .h files as sources adds them to the distribution, but automake knows that they cannot be compiled directly. Simon -- GPG Fingerprint: 040E B5F7 84F1 4FBC CEAD ADC6 18A0 CC8D 5706 A4B4
msg06587/pgp00000.pgp
Description: PGP signature