Deleted Added
full compact
Makefile (204431) Makefile (204433)
1#
2# Device Tree Compiler
3#
4
5#
6# Version information will be constructed in this order:
7# EXTRAVERSION might be "-rc", for example.
8# LOCAL_VERSION is likely from command line.
9# CONFIG_LOCALVERSION from some future config system.
10#
11VERSION = 1
12PATCHLEVEL = 2
13SUBLEVEL = 0
14EXTRAVERSION =
15LOCAL_VERSION =
16CONFIG_LOCALVERSION =
17
18CPPFLAGS = -I libfdt
1#
2# Device Tree Compiler
3#
4
5#
6# Version information will be constructed in this order:
7# EXTRAVERSION might be "-rc", for example.
8# LOCAL_VERSION is likely from command line.
9# CONFIG_LOCALVERSION from some future config system.
10#
11VERSION = 1
12PATCHLEVEL = 2
13SUBLEVEL = 0
14EXTRAVERSION =
15LOCAL_VERSION =
16CONFIG_LOCALVERSION =
17
18CPPFLAGS = -I libfdt
19CFLAGS = -Wall -g -Os -Wpointer-arith -Wcast-qual
19CFLAGS = -Wall -g -Os -fPIC -Wpointer-arith -Wcast-qual
20
21BISON = bison
22LEX = flex
23
24INSTALL = /usr/bin/install
25DESTDIR =
26PREFIX = $(HOME)
27BINDIR = $(PREFIX)/bin
28LIBDIR = $(PREFIX)/lib
29INCLUDEDIR = $(PREFIX)/include
30
20
21BISON = bison
22LEX = flex
23
24INSTALL = /usr/bin/install
25DESTDIR =
26PREFIX = $(HOME)
27BINDIR = $(PREFIX)/bin
28LIBDIR = $(PREFIX)/lib
29INCLUDEDIR = $(PREFIX)/include
30
31HOSTOS := $(shell uname -s | tr '[:upper:]' '[:lower:]' | \
32 sed -e 's/\(cygwin\).*/cygwin/')
33
34ifeq ($(HOSTOS),darwin)
35SHAREDLIB_EXT=dylib
36SHAREDLIB_LINK_OPTIONS=-dynamiclib -Wl,-install_name -Wl,
37else
38SHAREDLIB_EXT=so
39SHAREDLIB_LINK_OPTIONS=-shared -Wl,--version-script=$(LIBFDT_version) -Wl,-soname,
40endif
41
31#
32# Overall rules
33#
34ifdef V
35VECHO = :
36else
37VECHO = echo " "
38ARFLAGS = rc
39.SILENT:
40endif
41
42NODEPTARGETS = clean
43ifeq ($(MAKECMDGOALS),)
44DEPTARGETS = all
45else
46DEPTARGETS = $(filter-out $(NODEPTARGETS),$(MAKECMDGOALS))
47endif
48
42#
43# Overall rules
44#
45ifdef V
46VECHO = :
47else
48VECHO = echo " "
49ARFLAGS = rc
50.SILENT:
51endif
52
53NODEPTARGETS = clean
54ifeq ($(MAKECMDGOALS),)
55DEPTARGETS = all
56else
57DEPTARGETS = $(filter-out $(NODEPTARGETS),$(MAKECMDGOALS))
58endif
59
49all: dtc ftdump convert-dtsv0 libfdt
50
51install: all
52 @$(VECHO) INSTALL
53 $(INSTALL) -d $(DESTDIR)$(BINDIR)
54 $(INSTALL) -m 755 dtc $(DESTDIR)$(BINDIR)
55 $(INSTALL) -d $(DESTDIR)$(LIBDIR)
56 $(INSTALL) -m 644 $(LIBFDT_lib) $(DESTDIR)$(LIBDIR)
57 $(INSTALL) -d $(DESTDIR)$(INCLUDEDIR)
58 $(INSTALL) -m 644 $(LIBFDT_include) $(DESTDIR)$(INCLUDEDIR)
59
60#
61# Rules for versioning
62#
63
64DTC_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
65VERSION_FILE = version_gen.h
66
67CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \

--- 27 unchanged lines hidden (view full) ---

95 if [ -r $@ ] && cmp -s $@ $@.tmp; then \
96 rm -f $@.tmp; \
97 else \
98 echo ' UPD $@'; \
99 mv -f $@.tmp $@; \
100 fi;
101endef
102
60#
61# Rules for versioning
62#
63
64DTC_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
65VERSION_FILE = version_gen.h
66
67CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \

--- 27 unchanged lines hidden (view full) ---

95 if [ -r $@ ] && cmp -s $@ $@.tmp; then \
96 rm -f $@.tmp; \
97 else \
98 echo ' UPD $@'; \
99 mv -f $@.tmp $@; \
100 fi;
101endef
102
103$(VERSION_FILE): Makefile FORCE
104 $(call filechk,version)
105
103
106#
107# Rules for dtc proper
108#
104include Makefile.convert-dtsv0
109include Makefile.dtc
105include Makefile.dtc
106include Makefile.ftdump
110
107
108BIN += convert-dtsv0
111BIN += dtc
109BIN += dtc
110BIN += ftdump
112
111
113# This stops make from generating the lex and bison output during
114# auto-dependency computation, but throwing them away as an
115# intermediate target and building them again "for real"
116.SECONDARY: $(DTC_GEN_SRCS)
117
112
118dtc: $(DTC_OBJS)
113all: $(BIN) libfdt
119
114
115
120ifneq ($(DEPTARGETS),)
121-include $(DTC_OBJS:%.o=%.d)
116ifneq ($(DEPTARGETS),)
117-include $(DTC_OBJS:%.o=%.d)
118-include $(CONVERT_OBJS:%.o=%.d)
119-include $(FTDUMP_OBJS:%.o=%.d)
122endif
120endif
123#
124# Rules for ftdump & convert-dtsv0
125#
126BIN += ftdump convert-dtsv0
127
121
128ftdump: ftdump.o
129
122
130convert-dtsv0: convert-dtsv0-lexer.lex.o srcpos.o
131 @$(VECHO) LD $@
132 $(LINK.c) -o $@ $^
133
123
134ifneq ($(DEPTARGETS),)
135-include ftdump.d
136endif
137#
138# Rules for libfdt
139#
140LIBFDT_objdir = libfdt
141LIBFDT_srcdir = libfdt
124#
125# Rules for libfdt
126#
127LIBFDT_objdir = libfdt
128LIBFDT_srcdir = libfdt
142LIBFDT_lib = $(LIBFDT_objdir)/libfdt.a
129LIBFDT_archive = $(LIBFDT_objdir)/libfdt.a
130LIBFDT_lib = $(LIBFDT_objdir)/libfdt.$(SHAREDLIB_EXT)
143LIBFDT_include = $(addprefix $(LIBFDT_srcdir)/,$(LIBFDT_INCLUDES))
131LIBFDT_include = $(addprefix $(LIBFDT_srcdir)/,$(LIBFDT_INCLUDES))
132LIBFDT_version = $(addprefix $(LIBFDT_srcdir)/,$(LIBFDT_VERSION))
144
145include $(LIBFDT_srcdir)/Makefile.libfdt
146
147.PHONY: libfdt
133
134include $(LIBFDT_srcdir)/Makefile.libfdt
135
136.PHONY: libfdt
148libfdt: $(LIBFDT_lib)
137libfdt: $(LIBFDT_archive) $(LIBFDT_lib)
149
138
139$(LIBFDT_archive): $(addprefix $(LIBFDT_objdir)/,$(LIBFDT_OBJS))
150$(LIBFDT_lib): $(addprefix $(LIBFDT_objdir)/,$(LIBFDT_OBJS))
151
152libfdt_clean:
153 @$(VECHO) CLEAN "(libfdt)"
154 rm -f $(addprefix $(LIBFDT_objdir)/,$(STD_CLEANFILES))
140$(LIBFDT_lib): $(addprefix $(LIBFDT_objdir)/,$(LIBFDT_OBJS))
141
142libfdt_clean:
143 @$(VECHO) CLEAN "(libfdt)"
144 rm -f $(addprefix $(LIBFDT_objdir)/,$(STD_CLEANFILES))
145 rm -f $(LIBFDT_objdir)/*.so
155
156ifneq ($(DEPTARGETS),)
157-include $(LIBFDT_OBJS:%.o=$(LIBFDT_objdir)/%.d)
158endif
159
146
147ifneq ($(DEPTARGETS),)
148-include $(LIBFDT_OBJS:%.o=$(LIBFDT_objdir)/%.d)
149endif
150
151# This stops make from generating the lex and bison output during
152# auto-dependency computation, but throwing them away as an
153# intermediate target and building them again "for real"
154.SECONDARY: $(DTC_GEN_SRCS) $(CONVERT_GEN_SRCS)
155
156install: all
157 @$(VECHO) INSTALL
158 $(INSTALL) -d $(DESTDIR)$(BINDIR)
159 $(INSTALL) $(BIN) $(DESTDIR)$(BINDIR)
160 $(INSTALL) -d $(DESTDIR)$(LIBDIR)
161 $(INSTALL) $(LIBFDT_lib) $(DESTDIR)$(LIBDIR)
162 $(INSTALL) -m 644 $(LIBFDT_archive) $(DESTDIR)$(LIBDIR)
163 $(INSTALL) -d $(DESTDIR)$(INCLUDEDIR)
164 $(INSTALL) -m 644 $(LIBFDT_include) $(DESTDIR)$(INCLUDEDIR)
165
166$(VERSION_FILE): Makefile FORCE
167 $(call filechk,version)
168
169
170dtc: $(DTC_OBJS)
171
172convert-dtsv0: $(CONVERT_OBJS)
173 @$(VECHO) LD $@
174 $(LINK.c) -o $@ $^
175
176ftdump: $(FTDUMP_OBJS)
177
178
160#
161# Testsuite rules
162#
163TESTS_PREFIX=tests/
164include tests/Makefile.tests
165
166#
167# Clean rules
168#
179#
180# Testsuite rules
181#
182TESTS_PREFIX=tests/
183include tests/Makefile.tests
184
185#
186# Clean rules
187#
169STD_CLEANFILES = *~ *.o *.d *.a *.i *.s core a.out vgcore.* \
188STD_CLEANFILES = *~ *.o *.so *.d *.a *.i *.s core a.out vgcore.* \
170 *.tab.[ch] *.lex.c *.output
171
172clean: libfdt_clean tests_clean
173 @$(VECHO) CLEAN
174 rm -f $(STD_CLEANFILES)
175 rm -f $(VERSION_FILE)
176 rm -f $(BIN)
177

--- 27 unchanged lines hidden (view full) ---

205%.s: %.c
206 @$(VECHO) CC -S $@
207 $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -S $<
208
209%.a:
210 @$(VECHO) AR $@
211 $(AR) $(ARFLAGS) $@ $^
212
189 *.tab.[ch] *.lex.c *.output
190
191clean: libfdt_clean tests_clean
192 @$(VECHO) CLEAN
193 rm -f $(STD_CLEANFILES)
194 rm -f $(VERSION_FILE)
195 rm -f $(BIN)
196

--- 27 unchanged lines hidden (view full) ---

224%.s: %.c
225 @$(VECHO) CC -S $@
226 $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -S $<
227
228%.a:
229 @$(VECHO) AR $@
230 $(AR) $(ARFLAGS) $@ $^
231
232$(LIBFDT_lib):
233 @$(VECHO) LD $@
234 $(CC) $(LDFLAGS) -fPIC $(SHAREDLIB_LINK_OPTIONS)$(notdir $@) -o $(LIBFDT_objdir)/libfdt-$(DTC_VERSION).$(SHAREDLIB_EXT) $^
235 ln -sf libfdt-$(DTC_VERSION).$(SHAREDLIB_EXT) $(LIBFDT_objdir)/libfdt.$(SHAREDLIB_EXT)
236
213%.lex.c: %.l
214 @$(VECHO) LEX $@
215 $(LEX) -o$@ $<
216
217%.tab.c %.tab.h %.output: %.y
218 @$(VECHO) BISON $@
219 $(BISON) -d $<
220
221FORCE:
237%.lex.c: %.l
238 @$(VECHO) LEX $@
239 $(LEX) -o$@ $<
240
241%.tab.c %.tab.h %.output: %.y
242 @$(VECHO) BISON $@
243 $(BISON) -d $<
244
245FORCE: