1noarg: 2 $(MAKE) -C ../ 3 4PROGS := count_instructions 5EXTRA_SOURCES := ../harness.c event.c 6 7all: $(PROGS) sub_all 8 9$(PROGS): $(EXTRA_SOURCES) 10 11# loop.S can only be built 64-bit 12count_instructions: loop.S count_instructions.c $(EXTRA_SOURCES) 13 $(CC) $(CFLAGS) -m64 -o $@ $^ 14 15run_tests: all sub_run_tests 16 @-for PROG in $(PROGS); do \ 17 ./$$PROG; \ 18 done; 19 20clean: sub_clean 21 rm -f $(PROGS) loop.o 22 23 24SUB_TARGETS = ebb 25 26sub_all: 27 @for TARGET in $(SUB_TARGETS); do \ 28 $(MAKE) -C $$TARGET all; \ 29 done; 30 31sub_run_tests: all 32 @for TARGET in $(SUB_TARGETS); do \ 33 $(MAKE) -C $$TARGET run_tests; \ 34 done; 35 36sub_clean: 37 @for TARGET in $(SUB_TARGETS); do \ 38 $(MAKE) -C $$TARGET clean; \ 39 done; 40 41.PHONY: all run_tests clean sub_all sub_run_tests sub_clean 42