Browse Source

Handle multiple .c files in directory properly (isaac).

Rusty Russell 17 years ago
parent
commit
c1bdf46aba
1 changed files with 3 additions and 2 deletions
  1. 3 2
      Makefile-ccan

+ 3 - 2
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'`