diff options
Diffstat (limited to 'firmware/Makefile')
-rw-r--r-- | firmware/Makefile | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/firmware/Makefile b/firmware/Makefile index 1e7fd4df16a7..142c17ab9e57 100644 --- a/firmware/Makefile +++ b/firmware/Makefile | |||
@@ -41,6 +41,7 @@ fw-shipped-$(CONFIG_COMPUTONE) += intelliport2.bin | |||
41 | fw-shipped-$(CONFIG_CHELSIO_T3) += cxgb3/t3b_psram-1.1.0.bin \ | 41 | fw-shipped-$(CONFIG_CHELSIO_T3) += cxgb3/t3b_psram-1.1.0.bin \ |
42 | cxgb3/t3c_psram-1.1.0.bin \ | 42 | cxgb3/t3c_psram-1.1.0.bin \ |
43 | cxgb3/t3fw-7.1.0.bin | 43 | cxgb3/t3fw-7.1.0.bin |
44 | fw-shipped-$(CONFIG_DVB_AV7110) += av7110/bootcode.bin | ||
44 | fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) += ttusb-budget/dspbootcode.bin | 45 | fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) += ttusb-budget/dspbootcode.bin |
45 | fw-shipped-$(CONFIG_E100) += e100/d101m_ucode.bin e100/d101s_ucode.bin \ | 46 | fw-shipped-$(CONFIG_E100) += e100/d101m_ucode.bin e100/d101s_ucode.bin \ |
46 | e100/d102e_ucode.bin | 47 | e100/d102e_ucode.bin |
@@ -59,14 +60,9 @@ fw-shipped-$(CONFIG_SND_SB16_CSP) += sb16/mulaw_main.csp sb16/alaw_main.csp \ | |||
59 | sb16/ima_adpcm_init.csp \ | 60 | sb16/ima_adpcm_init.csp \ |
60 | sb16/ima_adpcm_playback.csp \ | 61 | sb16/ima_adpcm_playback.csp \ |
61 | sb16/ima_adpcm_capture.csp | 62 | sb16/ima_adpcm_capture.csp |
62 | fw-shipped-$(CONFIG_SLICOSS) += slicoss/gbdownload.sys slicoss/gbrcvucode.sys \ | ||
63 | slicoss/oasisdbgdownload.sys \ | ||
64 | slicoss/oasisdownload.sys \ | ||
65 | slicoss/oasisrcvucode.sys | ||
66 | fw-shipped-$(CONFIG_SXG) += sxg/saharadownloadB.sys \ | ||
67 | sxg/saharadbgdownloadB.sys | ||
68 | fw-shipped-$(CONFIG_SND_YMFPCI) += yamaha/ds1_ctrl.fw yamaha/ds1_dsp.fw \ | 63 | fw-shipped-$(CONFIG_SND_YMFPCI) += yamaha/ds1_ctrl.fw yamaha/ds1_dsp.fw \ |
69 | yamaha/ds1e_ctrl.fw | 64 | yamaha/ds1e_ctrl.fw |
65 | fw-shipped-$(CONFIG_SND_WAVEFRONT) += yamaha/yss225_registers.bin | ||
70 | fw-shipped-$(CONFIG_TEHUTI) += tehuti/bdx.bin | 66 | fw-shipped-$(CONFIG_TEHUTI) += tehuti/bdx.bin |
71 | fw-shipped-$(CONFIG_TIGON3) += tigon/tg3.bin tigon/tg3_tso.bin \ | 67 | fw-shipped-$(CONFIG_TIGON3) += tigon/tg3.bin tigon/tg3_tso.bin \ |
72 | tigon/tg3_tso5.bin | 68 | tigon/tg3_tso5.bin |
@@ -123,10 +119,10 @@ quiet_cmd_ihex = IHEX $@ | |||
123 | cmd_ihex = $(OBJCOPY) -Iihex -Obinary $< $@ | 119 | cmd_ihex = $(OBJCOPY) -Iihex -Obinary $< $@ |
124 | 120 | ||
125 | quiet_cmd_ihex2fw = IHEX2FW $@ | 121 | quiet_cmd_ihex2fw = IHEX2FW $@ |
126 | cmd_ihex2fw = $(objtree)/scripts/ihex2fw $< $@ | 122 | cmd_ihex2fw = $(objtree)/$(obj)/ihex2fw $< $@ |
127 | 123 | ||
128 | quiet_cmd_h16tofw = H16TOFW $@ | 124 | quiet_cmd_h16tofw = H16TOFW $@ |
129 | cmd_h16tofw = $(objtree)/scripts/ihex2fw -w $< $@ | 125 | cmd_h16tofw = $(objtree)/$(obj)/ihex2fw -w $< $@ |
130 | 126 | ||
131 | quiet_cmd_fwbin = MK_FW $@ | 127 | quiet_cmd_fwbin = MK_FW $@ |
132 | cmd_fwbin = FWNAME="$(patsubst firmware/%.gen.S,%,$@)"; \ | 128 | cmd_fwbin = FWNAME="$(patsubst firmware/%.gen.S,%,$@)"; \ |
@@ -185,15 +181,27 @@ $(patsubst %,$(obj)/%.gen.o, $(fw-external-y)): $(obj)/%.gen.o: $(fwdir)/% | |||
185 | $(obj)/%: $(obj)/%.ihex | $(objtree)/$(obj)/$$(dir %) | 181 | $(obj)/%: $(obj)/%.ihex | $(objtree)/$(obj)/$$(dir %) |
186 | $(call cmd,ihex) | 182 | $(call cmd,ihex) |
187 | 183 | ||
184 | # Don't depend on ihex2fw if we're installing and it already exists. | ||
185 | # Putting it after | in the dependencies doesn't seem sufficient when | ||
186 | # we're installing after a cross-compile, because ihex2fw has dependencies | ||
187 | # on stuff like /usr/lib/gcc/ppc64-redhat-linux/4.3.0/include/stddef.h and | ||
188 | # thus wants to be rebuilt. Which it can't be, if the prebuilt kernel tree | ||
189 | # is exported read-only for someone to run 'make install'. | ||
190 | ifeq ($(INSTALL):$(wildcard $(obj)/ihex2fw),install:$(obj)/ihex2fw) | ||
191 | ihex2fw_dep := | ||
192 | else | ||
193 | ihex2fw_dep := $(obj)/ihex2fw | ||
194 | endif | ||
195 | |||
188 | # .HEX is also Intel HEX, but where the offset and length in each record | 196 | # .HEX is also Intel HEX, but where the offset and length in each record |
189 | # is actually meaningful, because the firmware has to be loaded in a certain | 197 | # is actually meaningful, because the firmware has to be loaded in a certain |
190 | # order rather than as a single binary blob. Thus, we convert them into our | 198 | # order rather than as a single binary blob. Thus, we convert them into our |
191 | # more compact binary representation of ihex records (<linux/ihex.h>) | 199 | # more compact binary representation of ihex records (<linux/ihex.h>) |
192 | $(obj)/%.fw: $(obj)/%.HEX | $(objtree)/$(obj)/$$(dir %) | 200 | $(obj)/%.fw: $(obj)/%.HEX $(ihex2fw_dep) | $(objtree)/$(obj)/$$(dir %) |
193 | $(call cmd,ihex2fw) | 201 | $(call cmd,ihex2fw) |
194 | 202 | ||
195 | # .H16 is our own modified form of Intel HEX, with 16-bit length for records. | 203 | # .H16 is our own modified form of Intel HEX, with 16-bit length for records. |
196 | $(obj)/%.fw: $(obj)/%.H16 | $(objtree)/$(obj)/$$(dir %) | 204 | $(obj)/%.fw: $(obj)/%.H16 $(ihex2fw_dep) | $(objtree)/$(obj)/$$(dir %) |
197 | $(call cmd,h16tofw) | 205 | $(call cmd,h16tofw) |
198 | 206 | ||
199 | $(firmware-dirs): | 207 | $(firmware-dirs): |
@@ -210,3 +218,5 @@ targets := $(fw-shipped-) $(patsubst $(obj)/%,%, \ | |||
210 | # Without this, built-in.o won't be created when it's empty, and the | 218 | # Without this, built-in.o won't be created when it's empty, and the |
211 | # final vmlinux link will fail. | 219 | # final vmlinux link will fail. |
212 | obj-n := dummy | 220 | obj-n := dummy |
221 | |||
222 | hostprogs-y := ihex2fw | ||