| CPPFLAGS = -I libfdt |
| CFLAGS = -Wall -g |
| LDFLAGS = -Llibfdt |
| |
| BISON = bison |
| |
| INSTALL = /usr/bin/install |
| DESTDIR = |
| BINDIR = /usr/bin |
| |
| # |
| # Overall rules |
| # |
| ifdef V |
| VECHO = : |
| else |
| VECHO = echo " " |
| ARFLAGS = rc |
| .SILENT: |
| endif |
| |
| NODEPTARGETS = clean |
| ifeq ($(MAKECMDGOALS),) |
| DEPTARGETS = all |
| else |
| DEPTARGETS = $(filter-out $(NODEPTARGETS),$(MAKECMDGOALS)) |
| endif |
| |
| all: dtc ftdump libfdt tests |
| |
| STD_CLEANFILES = *~ *.o *.d *.a *.i *.s core a.out |
| |
| clean: libfdt_clean tests_clean |
| @$(VECHO) CLEAN |
| rm -f $(STD_CLEANFILES) |
| rm -f *.tab.[ch] lex.yy.c *.output vgcore.* |
| rm -f $(BIN) |
| |
| # |
| # General rules |
| # |
| |
| %.o: %.c |
| @$(VECHO) CC $@ |
| $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -c $< |
| |
| %.o: %.S |
| @$(VECHO) AS $@ |
| $(CC) $(CPPFLAGS) $(AFLAGS) -D__ASSEMBLY__ -o $@ -c $< |
| |
| %.d: %.c |
| $(CC) $(CPPFLAGS) -MM -MG -MT "$*.o $@" $< > $@ |
| |
| %.i: %.c |
| @$(VECHO) CPP $@ |
| $(CC) $(CPPFLAGS) -E $< > $@ |
| |
| %.s: %.c |
| @$(VECHO) CC -S $@ |
| $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -S $< |
| |
| %.a: |
| @$(VECHO) AR $@ |
| $(AR) $(ARFLAGS) $@ $^ |
| |
| $(BIN): %: |
| @$(VECHO) LD $@ |
| $(LINK.c) -o $@ $^ |
| |
| |
| # |
| # Rules for dtc proper |
| # |
| DTC_PROGS = dtc ftdump |
| DTC_OBJS = dtc.o flattree.o fstree.o data.o livetree.o \ |
| srcpos.o treesource.o \ |
| dtc-parser.tab.o lex.yy.o |
| DTC_DEPFILES = $(DTC_OBJS:%.o=%.d) |
| |
| dtc-parser.tab.c dtc-parser.tab.h dtc-parser.output: dtc-parser.y |
| @$(VECHO) BISON $@ |
| $(BISON) -d $< |
| |
| lex.yy.c: dtc-lexer.l |
| @$(VECHO) LEX $@ |
| $(LEX) $< |
| |
| BIN += dtc ftdump |
| |
| dtc: $(DTC_OBJS) |
| |
| ftdump: ftdump.o |
| |
| ifneq ($(DEPTARGETS),) |
| -include $(DTC_DEPFILES) |
| endif |
| |
| # |
| # Rules for libfdt |
| # |
| LIBFDT_PREFIX = libfdt/ |
| include libfdt/Makefile.libfdt |
| |
| .PHONY: libfdt |
| libfdt: $(LIBFDT_LIB) |
| |
| libfdt_clean: |
| @$(VECHO) CLEAN "(libfdt)" |
| rm -f $(LIBFDT_CLEANFILES) |
| |
| ifneq ($(DEPTARGETS),) |
| -include $(LIBFDT_DEPFILES) |
| endif |
| |
| # |
| # Testsuite rules |
| # |
| TESTS_PREFIX=tests/ |
| include tests/Makefile.tests |
| |
| install: dtc ftdump |
| $(INSTALL) -d $(DESTDIR)$(BINDIR) |
| $(INSTALL) -m 755 dtc $(DESTDIR)$(BINDIR) |
| $(INSTALL) -m 755 ftdump $(DESTDIR)$(BINDIR) |