Browse Source
This patch makes a number of Makefile cleanups and improvements: - We use more generic rules to invoke flex and bison, which is useful for some of the other changes. - We use the name dtc-lexer.lex.c for the flex output, instead of the default lex.yy.c. That means less potential for confusion if dtc is embedded into other projects (e.g. the kernel). - We separate out a Makefile.dtc designed for embedding into other projects, analagous to Makefile.libfdt. - Makefile.libfdt is cleaned up to be more useful based on some actual trial runs of embedding libfdt in the kernel bootwrapper. - Versioning related rules and variables are collected into one place in the Makefile. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>main
David Gibson
17 years ago
committed by
Jon Loeliger
3 changed files with 121 additions and 88 deletions
@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
|
||||
# Makefile.dtc |
||||
# |
||||
# This is not a complete Makefile of itself. Instead, it is designed to |
||||
# be easily embeddable into other systems of Makefiles. |
||||
# |
||||
DTC_SRCS = dtc.c flattree.c fstree.c data.c livetree.c treesource.c srcpos.c |
||||
DTC_EXTRA = dtc.h srcpos.h |
||||
DTC_LEXFILES = dtc-lexer.l |
||||
DTC_BISONFILES = dtc-parser.y |
||||
|
||||
DTC_LEX_SRCS = $(DTC_LEXFILES:%.l=%.lex.c) |
||||
DTC_BISON_SRCS = $(DTC_BISONFILES:%.y=%.tab.c) |
||||
DTC_BISON_INCLUDES = $(DTC_BISONFILES:%.y=%.tab.h) |
||||
|
||||
DTC_GEN_SRCS = $(DTC_LEX_SRCS) $(DTC_BISON_SRCS) |
||||
DTC_GEN_ALL = $(DTC_GEN_SRCS) $(DTC_BISON_INCLUDES) |
||||
DTC_OBJS = $(DTC_SRCS:%.c=%.o) $(DTC_GEN_SRCS:%.c=%.o) |
||||
|
||||
DTC_CLEANFILES = $(DTC_GEN_ALL) |
||||
|
||||
# We assume the containing Makefile system can do auto-dependencies for most |
||||
# things, but we supply the dependencies on generated header files explicitly |
||||
|
||||
$(addprefix $(DTC_objdir)/,$(DTC_GEN_SRCS:%.c=%.o)): $(addprefix $(DTC_objdir)/,$(DTC_BISON_INCLUDES)) |
Loading…
Reference in new issue