I had this same problem on a very large project here at Lucent. I wanted the top level make to know about all the subfolders, but I also wanted to be able to simply go to a folder and build just those sources exclusively to save time fixing build issues. My solution was to setup the parent make to include the makefiles for each of the subfolders. In the parent makefile, I have a list of the subfolders and I have a loop that builds the filename and includes each makefile. The subfolder makefiles include a common file that figures out how to handle the sources (it knows what to do when included and when being built directly).
This turns out to work very well, but it would be very nice if make could handle this more gracefully. -----Original Message----- From: Brendan J Simon [mailto:[EMAIL PROTECTED]] Sent: Thursday, June 13, 2002 1:50 AM To: make-help Subject: make dependency question Hi, I have a build system that has a top level makefile and includes multiple makefile fragments (module.mk) from each source subdirectory. I want the build to only rebuild the objects if the corresponding source file or module.mk file has been touched. eg. source tree Makefile src/foo/module.mk src/foo/test1.c src/foo/test2.c I currently have the following generic rule in the Makefile. build/%.o : src/%.c $(CC) -o $@ $(CFLAGS) $< I was thinking something along the lines of: build/%.o : src/%.c $(<D)/module.mk or build/%.o : src/%.c $(dir src/%.c)module.mk or build/%.o : src/%.c $(dir src/$*.c)module.mk but none of these work. Can anyone suggest another way of achieving the same thing. I was hoping to have a generic rule. Please do reply-all to email me directly as well as the list. Thanks, Brendan Simon. _______________________________________________ Help-make mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-make _______________________________________________ Help-make mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-make
