From: Rusty Russell Date: Thu, 12 Mar 2009 22:43:17 +0000 (+1030) Subject: Handle multiple .c files in directory properly (isaac). X-Git-Url: https://git.ozlabs.org/?p=ccan;a=commitdiff_plain;h=c1bdf46aba778eb16577a23db03ef2166d9de75d;ds=sidebyside Handle multiple .c files in directory properly (isaac). --- diff --git a/Makefile-ccan b/Makefile-ccan index 68f7d02d..5d04109e 100644 --- a/Makefile-ccan +++ b/Makefile-ccan @@ -6,7 +6,7 @@ CFLAGS=-g -O3 -Wall -Wstrict-prototypes -Wold-style-definition -Wmissing-prototy # Automatic dependency generation: makes ccan/*.d files. DEPGEN=-MD --include ccan/*.d +-include ccan/*/*.d # Every directory with .c files (other than _info.c) is included. DIRS=$(patsubst %/, %, $(sort $(dir $(wildcard ccan/*/[a-z]*.c)))) @@ -18,6 +18,7 @@ libccan.a: $(OBJFILES) $(AR) r $@ $^ # Dependencies are autogenerated in the .d files. +# We create all the .o files and link them together. $(OBJFILES): %.o: - $(CC) $(CFLAGS) -c -o $@ $*/[a-z]*.c + cd $* && $(CC) -I../.. $(CFLAGS) -c [a-z]*.c && cd ../.. && $(LD) -r -o $@ `echo $*/[a-z]*.c ' ' | sed 's/\.c /.o /g'`