Makefile (868B)
1 include ../Makefile 2 3 .SUFFIXES: 4 .PHONY: clean 5 .DEFAULT_GOAL := stabbish 6 7 stabbish: main.o payload.o magic.o utils.o busybox/busybox.inc.o | $(CC) 8 $(info $() LD $@) 9 @$(CC) $(CFLAGS) $^ -o $@ 10 11 main.o: main.c busybox/busybox.inc.h utils.h payload.h magic.h | $(CC) 12 $(info $() CC $@) 13 @$(CC) $(CFLAGS) -c $< -o $@ 14 15 %.o: %.c %.h | $(CC) 16 $(info $() CC $@) 17 @$(CC) $(CFLAGS) -c $< -o $@ 18 19 %.inc.h: template/inc.h 20 $(info $() GEN $@) 21 @mkdir -p $(@D) 22 @sed 's@NAME@$(patsubst %.inc.h,%,$(@F))@g' $< > $@ 23 24 %.inc.s: template/inc.s 25 $(info $() GEN $@) 26 @mkdir -p $(@D) 27 @sed 's@NAME@$(patsubst %.inc.s,%,$(@F))@g' $< > $@ 28 29 busybox/busybox.inc.o: busybox/busybox.inc.s $(BUSYBOX) 30 $(info $() ASM $@) 31 @cd $(dir $(word 2,$^)) && $(CC) $(CFLAGS) -c $(shell pwd)/$< -o $(shell pwd)/$@ 32 33 clean: 34 $(info $() CLEAN $(shell basename $(shell pwd))) 35 @rm -rf *.o stabbish busybox