software: more flexible compilation target

This commit is contained in:
Sebastien Bourdeauducq 2012-05-31 20:17:33 +02:00
parent ee8ef23f2f
commit 20b137fce9
3 changed files with 15 additions and 8 deletions

View 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

View 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

View File

@ -12,6 +12,9 @@ libbase.a: $(OBJECTS)
$(AR) clr libbase.a $(OBJECTS)
$(RANLIB) libbase.a
%.o: %.c
$(compile-dep)
.PHONY: clean
clean: