diff options
Diffstat (limited to 'arch/powerpc/boot/Makefile')
-rw-r--r-- | arch/powerpc/boot/Makefile | 69 |
1 files changed, 24 insertions, 45 deletions
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 4458abb67c51..9ae7b7e2ba71 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile | |||
@@ -33,7 +33,7 @@ ifeq ($(call cc-option-yn, -fstack-protector),y) | |||
33 | BOOTCFLAGS += -fno-stack-protector | 33 | BOOTCFLAGS += -fno-stack-protector |
34 | endif | 34 | endif |
35 | 35 | ||
36 | BOOTCFLAGS += -I$(obj) -I$(srctree)/$(obj) -I$(srctree)/$(src)/libfdt | 36 | BOOTCFLAGS += -I$(obj) -I$(srctree)/$(obj) |
37 | 37 | ||
38 | DTS_FLAGS ?= -p 1024 | 38 | DTS_FLAGS ?= -p 1024 |
39 | 39 | ||
@@ -53,9 +53,14 @@ zliblinuxheader := zlib.h zconf.h zutil.h | |||
53 | $(addprefix $(obj)/,$(zlib) cuboot-c2k.o gunzip_util.o main.o prpmc2800.o): \ | 53 | $(addprefix $(obj)/,$(zlib) cuboot-c2k.o gunzip_util.o main.o prpmc2800.o): \ |
54 | $(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader)) | 54 | $(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader)) |
55 | 55 | ||
56 | src-libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c | 56 | libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c |
57 | libfdtheader := fdt.h libfdt.h libfdt_internal.h | ||
58 | |||
59 | $(addprefix $(obj)/,$(libfdt) libfdt-wrapper.o simpleboot.o): \ | ||
60 | $(addprefix $(obj)/,$(libfdtheader)) | ||
61 | |||
57 | src-wlib := string.S crt0.S crtsavres.S stdio.c main.c \ | 62 | src-wlib := string.S crt0.S crtsavres.S stdio.c main.c \ |
58 | $(addprefix libfdt/,$(src-libfdt)) libfdt-wrapper.c \ | 63 | $(libfdt) libfdt-wrapper.c \ |
59 | ns16550.c serial.c simple_alloc.c div64.S util.S \ | 64 | ns16550.c serial.c simple_alloc.c div64.S util.S \ |
60 | gunzip_util.c elf_util.c $(zlib) devtree.c oflib.c ofconsole.c \ | 65 | gunzip_util.c elf_util.c $(zlib) devtree.c oflib.c ofconsole.c \ |
61 | 4xx.c ebony.c mv64x60.c mpsc.c mv64x60_i2c.c cuboot.c bamboo.c \ | 66 | 4xx.c ebony.c mv64x60.c mpsc.c mv64x60_i2c.c cuboot.c bamboo.c \ |
@@ -96,6 +101,12 @@ $(addprefix $(obj)/,$(zlibheader)): $(obj)/%: $(srctree)/lib/zlib_inflate/% | |||
96 | $(addprefix $(obj)/,$(zliblinuxheader)): $(obj)/%: $(srctree)/include/linux/% | 101 | $(addprefix $(obj)/,$(zliblinuxheader)): $(obj)/%: $(srctree)/include/linux/% |
97 | $(call cmd,copy_zliblinuxheader) | 102 | $(call cmd,copy_zliblinuxheader) |
98 | 103 | ||
104 | quiet_cmd_copy_libfdt = COPY $@ | ||
105 | cmd_copy_libfdt = cp $< $@ | ||
106 | |||
107 | $(addprefix $(obj)/,$(libfdt) $(libfdtheader)): $(obj)/%: $(srctree)/scripts/dtc/libfdt/% | ||
108 | $(call cmd,copy_libfdt) | ||
109 | |||
99 | $(obj)/empty.c: | 110 | $(obj)/empty.c: |
100 | @touch $@ | 111 | @touch $@ |
101 | 112 | ||
@@ -103,6 +114,7 @@ $(obj)/zImage.lds $(obj)/zImage.coff.lds $(obj)/zImage.ps3.lds: $(obj)/%: $(srct | |||
103 | @cp $< $@ | 114 | @cp $< $@ |
104 | 115 | ||
105 | clean-files := $(zlib) $(zlibheader) $(zliblinuxheader) \ | 116 | clean-files := $(zlib) $(zlibheader) $(zliblinuxheader) \ |
117 | $(libfdt) $(libfdtheader) \ | ||
106 | empty.c zImage.coff.lds zImage.ps3.lds zImage.lds | 118 | empty.c zImage.coff.lds zImage.ps3.lds zImage.lds |
107 | 119 | ||
108 | quiet_cmd_bootcc = BOOTCC $@ | 120 | quiet_cmd_bootcc = BOOTCC $@ |
@@ -114,6 +126,8 @@ quiet_cmd_bootas = BOOTAS $@ | |||
114 | quiet_cmd_bootar = BOOTAR $@ | 126 | quiet_cmd_bootar = BOOTAR $@ |
115 | cmd_bootar = $(CROSS32AR) -cr $@.$$$$ $(filter-out FORCE,$^); mv $@.$$$$ $@ | 127 | cmd_bootar = $(CROSS32AR) -cr $@.$$$$ $(filter-out FORCE,$^); mv $@.$$$$ $@ |
116 | 128 | ||
129 | $(obj-libfdt): $(obj)/%.o: $(srctree)/scripts/dtc/libfdt/%.c FORCE | ||
130 | $(call if_changed_dep,bootcc) | ||
117 | $(patsubst %.c,%.o, $(filter %.c, $(src-boot))): %.o: %.c FORCE | 131 | $(patsubst %.c,%.o, $(filter %.c, $(src-boot))): %.o: %.c FORCE |
118 | $(Q)mkdir -p $(dir $@) | 132 | $(Q)mkdir -p $(dir $@) |
119 | $(call if_changed_dep,bootcc) | 133 | $(call if_changed_dep,bootcc) |
@@ -124,7 +138,7 @@ $(patsubst %.S,%.o, $(filter %.S, $(src-boot))): %.o: %.S FORCE | |||
124 | $(obj)/wrapper.a: $(obj-wlib) FORCE | 138 | $(obj)/wrapper.a: $(obj-wlib) FORCE |
125 | $(call if_changed,bootar) | 139 | $(call if_changed,bootar) |
126 | 140 | ||
127 | hostprogs-y := addnote addRamDisk hack-coff mktree dtc | 141 | hostprogs-y := addnote addRamDisk hack-coff mktree |
128 | 142 | ||
129 | targets += $(patsubst $(obj)/%,%,$(obj-boot) wrapper.a) | 143 | targets += $(patsubst $(obj)/%,%,$(obj-boot) wrapper.a) |
130 | extra-y := $(obj)/wrapper.a $(obj-plat) $(obj)/empty.o \ | 144 | extra-y := $(obj)/wrapper.a $(obj-plat) $(obj)/empty.o \ |
@@ -133,47 +147,10 @@ extra-y := $(obj)/wrapper.a $(obj-plat) $(obj)/empty.o \ | |||
133 | dtstree := $(srctree)/$(src)/dts | 147 | dtstree := $(srctree)/$(src)/dts |
134 | 148 | ||
135 | wrapper :=$(srctree)/$(src)/wrapper | 149 | wrapper :=$(srctree)/$(src)/wrapper |
136 | wrapperbits := $(extra-y) $(addprefix $(obj)/,addnote hack-coff mktree dtc) \ | 150 | wrapperbits := $(extra-y) $(addprefix $(obj)/,addnote hack-coff mktree) \ |
137 | $(wrapper) FORCE | 151 | $(wrapper) FORCE |
138 | 152 | ||
139 | ############# | 153 | ############# |
140 | # Bits for building dtc | ||
141 | # DTC_GENPARSER := 1 # Uncomment to rebuild flex/bison output | ||
142 | |||
143 | dtc-objs := dtc.o flattree.o fstree.o data.o livetree.o treesource.o srcpos.o checks.o | ||
144 | dtc-objs += dtc-lexer.lex.o dtc-parser.tab.o | ||
145 | dtc-objs := $(addprefix dtc-src/, $(dtc-objs)) | ||
146 | |||
147 | # prerequisites on generated files needs to be explicit | ||
148 | $(obj)/dtc-src/dtc-parser.tab.o: $(obj)/dtc-src/dtc-parser.tab.c $(obj)/dtc-src/dtc-parser.tab.h | ||
149 | $(obj)/dtc-src/dtc-lexer.lex.o: $(obj)/dtc-src/dtc-lexer.lex.c $(obj)/dtc-src/dtc-parser.tab.h | ||
150 | |||
151 | HOSTCFLAGS += -I$(src)/dtc-src/ -I$(src)/libfdt/ | ||
152 | |||
153 | targets += dtc-src/dtc-parser.tab.c | ||
154 | targets += dtc-src/dtc-lexer.lex.c | ||
155 | |||
156 | clean-files += dtc-src/dtc-parser.tab.h | ||
157 | |||
158 | ifdef DTC_GENPARSER | ||
159 | BISON = bison | ||
160 | FLEX = flex | ||
161 | |||
162 | quiet_cmd_bison = BISON $@ | ||
163 | cmd_bison = $(BISON) -o$@ -d $<; cp $@ $@_shipped | ||
164 | quiet_cmd_flex = FLEX $@ | ||
165 | cmd_flex = $(FLEX) -o$@ $<; cp $@ $@_shipped | ||
166 | |||
167 | $(obj)/dtc-src/dtc-parser.tab.c: $(src)/dtc-src/dtc-parser.y FORCE | ||
168 | $(call if_changed,bison) | ||
169 | |||
170 | $(obj)/dtc-src/dtc-parser.tab.h: $(obj)/dtc-src/dtc-parser.tab.c | ||
171 | |||
172 | $(obj)/dtc-src/dtc-lexer.lex.c: $(src)/dtc-src/dtc-lexer.l FORCE | ||
173 | $(call if_changed,flex) | ||
174 | endif | ||
175 | |||
176 | ############# | ||
177 | # Bits for building various flavours of zImage | 154 | # Bits for building various flavours of zImage |
178 | 155 | ||
179 | ifneq ($(CROSS32_COMPILE),) | 156 | ifneq ($(CROSS32_COMPILE),) |
@@ -347,8 +324,10 @@ $(obj)/treeImage.%: vmlinux $(obj)/%.dtb $(wrapperbits) | |||
347 | $(call if_changed,wrap,treeboot-$*,,$(obj)/$*.dtb) | 324 | $(call if_changed,wrap,treeboot-$*,,$(obj)/$*.dtb) |
348 | 325 | ||
349 | # Rule to build device tree blobs | 326 | # Rule to build device tree blobs |
350 | $(obj)/%.dtb: $(dtstree)/%.dts $(obj)/dtc | 327 | DTC = $(objtree)/scripts/dtc/dtc |
351 | $(obj)/dtc -O dtb -o $(obj)/$*.dtb -b 0 $(DTS_FLAGS) $(dtstree)/$*.dts | 328 | |
329 | $(obj)/%.dtb: $(dtstree)/%.dts | ||
330 | $(DTC) -O dtb -o $(obj)/$*.dtb -b 0 $(DTS_FLAGS) $(dtstree)/$*.dts | ||
352 | 331 | ||
353 | # If there isn't a platform selected then just strip the vmlinux. | 332 | # If there isn't a platform selected then just strip the vmlinux. |
354 | ifeq (,$(image-y)) | 333 | ifeq (,$(image-y)) |
@@ -367,7 +346,7 @@ install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y)) | |||
367 | clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \ | 346 | clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \ |
368 | zImage zImage.initrd zImage.chrp zImage.coff zImage.holly \ | 347 | zImage zImage.initrd zImage.chrp zImage.coff zImage.holly \ |
369 | zImage.iseries zImage.miboot zImage.pmac zImage.pseries \ | 348 | zImage.iseries zImage.miboot zImage.pmac zImage.pseries \ |
370 | otheros.bld *.dtb | 349 | simpleImage.* otheros.bld *.dtb |
371 | 350 | ||
372 | # clean up files cached by wrapper | 351 | # clean up files cached by wrapper |
373 | clean-kernel := vmlinux.strip vmlinux.bin | 352 | clean-kernel := vmlinux.strip vmlinux.bin |