Rearrange ftdump and convert-dtsv0 into sub-Makefiles.

Follows the model of the existing sub-Makefiles for dtc.

Adjust $(BIN) definition to represent installable bin programs
and use it as the list of installed programs rather than using
an enumerated list in the install target.

Adjust the tests/Makefile to clean up properly still.

Signed-off-by: Jon Loeliger <jdl@freescale.com>
This commit is contained in:
Jon Loeliger 2008-10-03 10:49:22 -05:00
parent e8903fe225
commit 68f98d7b8a
4 changed files with 63 additions and 36 deletions

View file

@ -46,18 +46,6 @@ else
DEPTARGETS = $(filter-out $(NODEPTARGETS),$(MAKECMDGOALS))
endif
all: dtc ftdump convert-dtsv0 libfdt
install: all
@$(VECHO) INSTALL
$(INSTALL) -d $(DESTDIR)$(BINDIR)
$(INSTALL) -m 755 dtc $(DESTDIR)$(BINDIR)
$(INSTALL) -m 755 convert-dtsv0 $(DESTDIR)$(BINDIR)
$(INSTALL) -d $(DESTDIR)$(LIBDIR)
$(INSTALL) -m 644 $(LIBFDT_lib) $(DESTDIR)$(LIBDIR)
$(INSTALL) -d $(DESTDIR)$(INCLUDEDIR)
$(INSTALL) -m 644 $(LIBFDT_include) $(DESTDIR)$(INCLUDEDIR)
#
# Rules for versioning
#
@ -101,40 +89,27 @@ define filechk
fi;
endef
$(VERSION_FILE): Makefile FORCE
$(call filechk,version)
#
# Rules for dtc proper
#
include Makefile.convert-dtsv0
include Makefile.dtc
include Makefile.ftdump
BIN += convert-dtsv0
BIN += dtc
BIN += ftdump
# This stops make from generating the lex and bison output during
# auto-dependency computation, but throwing them away as an
# intermediate target and building them again "for real"
.SECONDARY: $(DTC_GEN_SRCS)
dtc: $(DTC_OBJS)
all: $(BIN) libfdt
ifneq ($(DEPTARGETS),)
-include $(DTC_OBJS:%.o=%.d)
-include $(CONVERT_OBJS:%.o=%.d)
-include $(FTDUMP_OBJS:%.o=%.d)
endif
#
# Rules for ftdump & convert-dtsv0
#
BIN += ftdump convert-dtsv0
ftdump: ftdump.o
convert-dtsv0: convert-dtsv0-lexer.lex.o srcpos.o
@$(VECHO) LD $@
$(LINK.c) -o $@ $^
ifneq ($(DEPTARGETS),)
-include ftdump.d
endif
#
# Rules for libfdt
#
@ -158,6 +133,35 @@ ifneq ($(DEPTARGETS),)
-include $(LIBFDT_OBJS:%.o=$(LIBFDT_objdir)/%.d)
endif
# This stops make from generating the lex and bison output during
# auto-dependency computation, but throwing them away as an
# intermediate target and building them again "for real"
.SECONDARY: $(DTC_GEN_SRCS) $(CONVERT_GEN_SRCS)
install: all
@$(VECHO) INSTALL
$(INSTALL) -d $(DESTDIR)$(BINDIR)
$(INSTALL) -m 755 $(BIN) $(DESTDIR)$(BINDIR)
$(INSTALL) -d $(DESTDIR)$(LIBDIR)
$(INSTALL) -m 644 $(LIBFDT_lib) $(DESTDIR)$(LIBDIR)
$(INSTALL) -d $(DESTDIR)$(INCLUDEDIR)
$(INSTALL) -m 644 $(LIBFDT_include) $(DESTDIR)$(INCLUDEDIR)
$(VERSION_FILE): Makefile FORCE
$(call filechk,version)
dtc: $(DTC_OBJS)
convert-dtsv0: $(CONVERT_OBJS)
@$(VECHO) LD $@
$(LINK.c) -o $@ $^
ftdump: $(FTDUMP_OBJS)
#
# Testsuite rules
#

12
Makefile.convert-dtsv0 Normal file
View file

@ -0,0 +1,12 @@
#
# This is not a complete Makefile of itself.
# Instead, it is designed to be easily embeddable
# into other systems of Makefiles.
#
CONVERT_SRCS = \
srcpos.c
CONVERT_GEN_SRCS = convert-dtsv0-lexer.lex.c
CONVERT_OBJS = $(CONVERT_SRCS:%.c=%.o) $(CONVERT_GEN_SRCS:%.c=%.o)

12
Makefile.ftdump Normal file
View file

@ -0,0 +1,12 @@
#
# This is not a complete Makefile of itself.
# Instead, it is designed to be easily embeddable
# into other systems of Makefiles.
#
FTDUMP_SRCS = \
ftdump.c
FTDUMP_GEN_SRCS =
FTDUMP_OBJS = $(FTDUMP_SRCS:%.c=%.o) $(FTDUMP_GEN_SRCS:%.c=%.o)

View file

@ -29,9 +29,8 @@ TESTS_DEPFILES = $(TESTS:%=%.d) \
$(addprefix $(TESTS_PREFIX),testutils.d trees.d dumptrees.d)
TESTS_CLEANFILES_L = *.output vglog.* vgcore.* *.dtb *.test.dts *.dtsv1 tmp.*
TESTS_CLEANFILES = $(TESTS_CLEANFILES_L:%=$(TESTS_PREFIX)%)
BIN += $(TESTS) $(TESTS_PREFIX)dumptrees
TESTS_CLEANFILES_L += dumptrees
TESTS_CLEANFILES = $(TESTS) $(TESTS_CLEANFILES_L:%=$(TESTS_PREFIX)%)
.PHONY: tests
tests: $(TESTS) $(TESTS_TREES)