software: more flexible compilation target
authorSebastien Bourdeauducq <sebastien@milkymist.org>
Thu, 31 May 2012 18:17:33 +0000 (20:17 +0200)
committerSebastien Bourdeauducq <sebastien@milkymist.org>
Thu, 31 May 2012 18:17:33 +0000 (20:17 +0200)
software/bios/Makefile
software/common.mak
software/libbase/Makefile

index 4d4fcdd4c31a8643a0c0f9db7e6c1b1e7fbfe65c..bfd0aafa5e51c4adfca3e21aafb7417d10aee4fb 100644 (file)
@@ -24,6 +24,9 @@ bios-rescue.elf: linker-rescue.ld $(OBJECTS) libs
                -lbase -lcompiler_rt
        chmod -x $@
 
+%.o: %.c
+       $(compile-dep)
+
 libs:
        make -C $(M2DIR)/software/libbase
 
index 45dffd6d1c003bf61e4732083de609df006df61a..046557a9fccc55dea286dad0904e202173229a07 100644 (file)
@@ -37,11 +37,12 @@ LDFLAGS = -nostdlib -nodefaultlibs
 # compile and generate dependencies, based on
 # http://scottmcpeak.com/autodepend/autodepend.html
 
-%.o: $(SRCDIR)%.c
-       $(CC) -c $(CFLAGS) $(SRCDIR)$*.c -o $*.o
-       @$(CC_normal) -MM $(CFLAGS) $(SRCDIR)$*.c > $*.d
-       @mv -f $*.d $*.d.tmp
-       @sed -e 's|.*:|$*.o:|' < $*.d.tmp > $*.d
-       @sed -e 's/.*://' -e 's/\\$$//' < $*.d.tmp | fmt -1 | \
-         sed -e 's/^ *//' -e 's/$$/:/' >> $*.d
-       @rm -f $*.d.tmp
+define compile-dep =
+$(CC) -c $(CFLAGS) $< -o $*.o
+@$(CC_normal) -MM $(CFLAGS) $< > $*.d
+@mv -f $*.d $*.d.tmp
+@sed -e 's|.*:|$*.o:|' < $*.d.tmp > $*.d
+@sed -e 's/.*://' -e 's/\\$$//' < $*.d.tmp | fmt -1 | \
+       sed -e 's/^ *//' -e 's/$$/:/' >> $*.d
+@rm -f $*.d.tmp
+endef
index afa5650f7eb97d430e9238ca35cf205418997e38..5c938db9070b231daebffa75c6c3801533e47cdc 100644 (file)
@@ -12,6 +12,9 @@ libbase.a: $(OBJECTS)
        $(AR) clr libbase.a $(OBJECTS)
        $(RANLIB) libbase.a
 
+%.o: %.c
+       $(compile-dep)
+
 .PHONY: clean
 
 clean: