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: |