| TARGETS = dtc ftdump |
| CFLAGS = -Wall -g |
| |
| BISON = bison |
| |
| DTC_OBJS = dtc.o flattree.o fstree.o data.o livetree.o \ |
| srcpos.o treesource.o \ |
| dtc-parser.tab.o lex.yy.o |
| |
| DEPFILES = $(DTC_OBJS:.o=.d) |
| |
| .PHONY: libfdt tests |
| |
| all: $(TARGETS) tests libfdt |
| |
| dtc: $(DTC_OBJS) |
| $(LINK.c) -o $@ $^ |
| |
| ftdump: ftdump.o |
| $(LINK.c) -o $@ $^ |
| |
| libfdt: |
| cd libfdt && $(MAKE) all |
| |
| dtc-parser.tab.c dtc-parser.tab.h dtc-parser.output: dtc-parser.y |
| $(BISON) -d $< |
| |
| lex.yy.c: dtc-lexer.l |
| $(LEX) $< |
| |
| lex.yy.o: lex.yy.c dtc-parser.tab.h |
| |
| tests: tests/all |
| |
| tests/%: libfdt |
| $(MAKE) -C tests $* |
| |
| check: all |
| cd tests; ./run_tests.sh |
| |
| checkv: all |
| cd tests; ./run_tests.sh -v |
| |
| func: all |
| cd tests; ./run_tests.sh -t func |
| |
| funcv: all |
| cd tests; ./run_tests.sh -t func -v |
| |
| stress: all |
| cd tests; ./run_tests.sh -t stress |
| |
| stressv: all |
| cd tests; ./run_tests.sh -t stress -v |
| |
| clean: |
| rm -f *~ *.o a.out core $(TARGETS) |
| rm -f *.tab.[ch] lex.yy.c |
| rm -f *.i *.output vgcore.* |
| rm -f *.d |
| $(MAKE) -C libfdt clean |
| $(MAKE) -C tests clean |
| |
| %.d: %.c |
| $(CC) $(CPPFLAGS) -MM -MG -MT "$*.o $@" $< > $@ |
| |
| -include $(DEPFILES) |