Blame view

firmware/Makefile 11.8 KB
4d2acfbfd   David Woodhouse   firmware: Add CON...
1
2
3
4
5
6
7
8
9
10
  #
  # kbuild file for firmware/
  #
  
  # Create $(fwabs) from $(CONFIG_EXTRA_FIRMWARE_DIR) -- if it doesn't have a
  # leading /, it's relative to $(srctree).
  fwdir := $(subst ",,$(CONFIG_EXTRA_FIRMWARE_DIR))
  fwabs := $(addprefix $(srctree)/,$(filter-out /%,$(fwdir)))$(filter /%,$(fwdir))
  
  fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE))
88ecf814c   David Woodhouse   firmware: Add fir...
11
12
13
14
15
16
  # There are three cases to care about:
  # 1. Building kernel with CONFIG_FIRMWARE_IN_KERNEL=y -- $(fw-shipped-y) should
  #    include the firmware files to include, according to .config
  # 2. 'make modules_install', which will install firmware for modules, and 
  #    _also_ for the in-kernel drivers when CONFIG_FIRMWARE_IN_KERNEL=n
  # 3. 'make firmware_install', which installs all firmware, unconditionally.
d172e7f5c   David Woodhouse   firmware: Add CON...
17

88ecf814c   David Woodhouse   firmware: Add fir...
18
19
20
  # For the former two cases we want $(fw-shipped-y) and $(fw-shipped-m) to be
  # accurate. In the latter case it doesn't matter -- it'll use $(fw-shipped-all).
  # But be aware that the config file might not be included at all.
949b42544   Jaswinder Singh   firmware: convert...
21
22
23
24
25
26
  ifdef CONFIG_ACENIC_OMIT_TIGON_I
  acenic-objs := acenic/tg2.bin
  fw-shipped- += acenic/tg1.bin
  else
  acenic-objs := acenic/tg1.bin acenic/tg2.bin
  endif
4b6ece97e   Jaswinder Singh Rajput   3C359: use reques...
27
  fw-shipped-$(CONFIG_3C359) += 3com/3C359.bin
949b42544   Jaswinder Singh   firmware: convert...
28
  fw-shipped-$(CONFIG_ACENIC) += $(acenic-objs)
cfc3a44c3   Jaswinder Singh Rajput   starfire: use req...
29
30
  fw-shipped-$(CONFIG_ADAPTEC_STARFIRE) += adaptec/starfire_rx.bin \
  					 adaptec/starfire_tx.bin
7f127d5ed   Jaswinder Singh   dsp56k: use reque...
31
  fw-shipped-$(CONFIG_ATARI_DSP56K) += dsp56k/bootstrap.bin
27d202fff   David Woodhouse   firmware: convert...
32
  fw-shipped-$(CONFIG_ATM_AMBASSADOR) += atmsar11.fw
96b8e1a0e   Dmitry Kravkov   bnx2x: Update fir...
33
34
35
  fw-shipped-$(CONFIG_BNX2X) += bnx2x/bnx2x-e1-6.2.9.0.fw \
  			      bnx2x/bnx2x-e1h-6.2.9.0.fw \
  			      bnx2x/bnx2x-e2-6.2.9.0.fw
dc187cb38   Michael Chan   bnx2: Update firm...
36
  fw-shipped-$(CONFIG_BNX2) += bnx2/bnx2-mips-09-6.2.1a.fw \
22fa159d3   Michael Chan   bnx2: Update firm...
37
38
  			     bnx2/bnx2-rv2p-09-6.0.17.fw \
  			     bnx2/bnx2-rv2p-09ax-6.0.17.fw \
0268102d5   Michael Chan   bnx2: Update firm...
39
  			     bnx2/bnx2-mips-06-6.2.1.fw \
22fa159d3   Michael Chan   bnx2: Update firm...
40
  			     bnx2/bnx2-rv2p-06-6.0.15.fw
fcaa40669   Jaswinder Singh   cassini: use requ...
41
  fw-shipped-$(CONFIG_CASSINI) += sun/cassini.bin
547d8bb7d   David Woodhouse   ip2: use request_...
42
  fw-shipped-$(CONFIG_COMPUTONE) += intelliport2.bin
ad58633c8   Divy Le Ray   cxgb3: integrate ...
43
44
  fw-shipped-$(CONFIG_CHELSIO_T3) += cxgb3/t3b_psram-1.1.0.bin \
  				   cxgb3/t3c_psram-1.1.0.bin \
17acad30b   Divy Le Ray   cxgb3: update FW ...
45
  				   cxgb3/t3fw-7.10.0.bin \
2e8c07c35   Divy Le Ray   cxgb3: use reques...
46
47
48
  				   cxgb3/ael2005_opt_edc.bin \
  				   cxgb3/ael2005_twx_edc.bin \
  				   cxgb3/ael2020_twx_edc.bin
ece2be799   Ben Hutchings   drm/mga: Use requ...
49
  fw-shipped-$(CONFIG_DRM_MGA) += matrox/g200_warp.fw matrox/g400_warp.fw
52f97df5d   Ben Hutchings   drm/r128: Use req...
50
  fw-shipped-$(CONFIG_DRM_R128) += r128/r128_cce.bin
70967ab9c   Ben Hutchings   radeon: Use reque...
51
52
53
54
55
56
57
58
59
60
61
62
63
64
  fw-shipped-$(CONFIG_DRM_RADEON) += radeon/R100_cp.bin radeon/R200_cp.bin \
  				   radeon/R300_cp.bin radeon/R420_cp.bin \
  				   radeon/RS690_cp.bin radeon/RS600_cp.bin \
  				   radeon/R520_cp.bin \
  				   radeon/R600_pfp.bin radeon/R600_me.bin \
  				   radeon/RV610_pfp.bin radeon/RV610_me.bin \
  				   radeon/RV630_pfp.bin radeon/RV630_me.bin \
  				   radeon/RV620_pfp.bin radeon/RV620_me.bin \
  				   radeon/RV635_pfp.bin radeon/RV635_me.bin \
  				   radeon/RV670_pfp.bin radeon/RV670_me.bin \
  				   radeon/RS780_pfp.bin radeon/RS780_me.bin \
  				   radeon/RV770_pfp.bin radeon/RV770_me.bin \
  				   radeon/RV730_pfp.bin radeon/RV730_me.bin \
  				   radeon/RV710_pfp.bin radeon/RV710_me.bin
9137f05f7   Jaswinder Singh   firmware: convert...
65
  fw-shipped-$(CONFIG_DVB_AV7110) += av7110/bootcode.bin
0a2a736af   David Woodhouse   ttusb-budget: use...
66
  fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) += ttusb-budget/dspbootcode.bin
9ac32e1bc   Jaswinder Singh Rajput   firmware: convert...
67
68
  fw-shipped-$(CONFIG_E100) += e100/d101m_ucode.bin e100/d101s_ucode.bin \
  			     e100/d102e_ucode.bin
cd36e9efa   Jaswinder Singh Rajput   myri_sbus: use re...
69
  fw-shipped-$(CONFIG_MYRI_SBUS) += myricom/lanai.bin
bf6fda63c   Ken Kawasaki   pcnet_cs: add cis...
70
71
  fw-shipped-$(CONFIG_PCMCIA_PCNET) += cis/LA-PCM.cis cis/PCMLM28.cis \
  				     cis/DP83903.cis cis/NE2K.cis \
abe880690   Ken Kawasaki   pcnet_cs: add cis...
72
73
  				     cis/tamarack.cis cis/PE-200.cis \
  				     cis/PE520.cis
f0a3a1538   Ken Kawasaki   3c589_cs: add cis...
74
75
  fw-shipped-$(CONFIG_PCMCIA_3C589) += cis/3CXEM556.cis
  fw-shipped-$(CONFIG_PCMCIA_3C574) += cis/3CCFEM556.cis
bf6fda63c   Ken Kawasaki   pcnet_cs: add cis...
76
  fw-shipped-$(CONFIG_SERIAL_8250_CS) += cis/MT5634ZLX.cis cis/RS-COM-2P.cis \
63ca2d74e   Ken Kawasaki   pcnet_cs: add cis...
77
78
79
  				       cis/COMpad2.cis cis/COMpad4.cis \
  				       cis/SW_555_SER.cis cis/SW_7xx_SER.cis \
  				       cis/SW_8xx_SER.cis
75bf758f9   Jaswinder Singh Rajput   smc91c92_cs: use ...
80
  fw-shipped-$(CONFIG_PCMCIA_SMC91C92) += ositech/Xilinx7OD.bin
989bb5f58   Jaswinder Singh Rajput   [SCSI] advansys: ...
81
82
  fw-shipped-$(CONFIG_SCSI_ADVANSYS) += advansys/mcode.bin advansys/38C1600.bin \
  				      advansys/3550.bin advansys/38C0800.bin
6f231dda6   Dan Williams   isci: Intel(R) C6...
83
  fw-shipped-$(CONFIG_SCSI_ISCI) += isci/isci_firmware.bin
1bfa11db7   Jaswinder Singh Rajput   [SCSI] qla1280: u...
84
85
  fw-shipped-$(CONFIG_SCSI_QLOGIC_1280) += qlogic/1040.bin qlogic/1280.bin \
  					 qlogic/12160.bin
f894e74dc   Jaswinder Singh Rajput   [SCSI] qlogicpti:...
86
  fw-shipped-$(CONFIG_SCSI_QLOGICPTI) += qlogic/isp1000.bin
ecd4b48a1   Ben Hutchings   IB/qib: Use reque...
87
  fw-shipped-$(CONFIG_INFINIBAND_QIB) += qlogic/sd7220.fw
0f805b86c   David Woodhouse   smctr: use reques...
88
  fw-shipped-$(CONFIG_SMCTR) += tr_smctr.bin
76770664d   David Woodhouse   firmware: convert...
89
  fw-shipped-$(CONFIG_SND_KORG1212) += korg/k1212.dsp
a292f404f   David Woodhouse   firmware: convert...
90
91
  fw-shipped-$(CONFIG_SND_MAESTRO3) += ess/maestro3_assp_kernel.fw \
  				     ess/maestro3_assp_minisrc.fw
d71792ac3   Jaswinder Singh   firmware: convert...
92
93
94
95
  fw-shipped-$(CONFIG_SND_SB16_CSP) += sb16/mulaw_main.csp sb16/alaw_main.csp \
  				     sb16/ima_adpcm_init.csp \
  				     sb16/ima_adpcm_playback.csp \
  				     sb16/ima_adpcm_capture.csp
18ee6dfae   David Woodhouse   firmware: convert...
96
97
  fw-shipped-$(CONFIG_SND_YMFPCI) += yamaha/ds1_ctrl.fw yamaha/ds1_dsp.fw \
  				   yamaha/ds1e_ctrl.fw
7c7cae17e   Takashi Iwai   ALSA: wavefront -...
98
  fw-shipped-$(CONFIG_SND_WAVEFRONT) += yamaha/yss225_registers.bin
06e1f9ffa   Ben Hutchings   tehuti: Use reque...
99
  fw-shipped-$(CONFIG_TEHUTI) += tehuti/bdx.bin
077f849de   Jaswinder Singh Rajput   firmware: convert...
100
101
  fw-shipped-$(CONFIG_TIGON3) += tigon/tg3.bin tigon/tg3_tso.bin \
  			       tigon/tg3_tso5.bin
b775a750c   Ben Hutchings   typhoon: Use requ...
102
  fw-shipped-$(CONFIG_TYPHOON) += 3com/typhoon.bin
c46677463   David Woodhouse   dabusb: use reque...
103
  fw-shipped-$(CONFIG_USB_DABUSB) += dabusb/firmware.fw dabusb/bitstream.bin
ae93a55bf   David Woodhouse   emi26: use reques...
104
105
  fw-shipped-$(CONFIG_USB_EMI26) += emi26/loader.fw emi26/firmware.fw \
  				  emi26/bitstream.fw
b8e24bfab   David Woodhouse   emi62: use reques...
106
107
  fw-shipped-$(CONFIG_USB_EMI62) += emi62/loader.fw emi62/bitstream.fw \
  				  emi62/spdif.fw emi62/midi.fw
79682499d   David Woodhouse   kaweth: use reque...
108
109
110
  fw-shipped-$(CONFIG_USB_KAWETH) += kaweth/new_code.bin kaweth/trigger_code.bin \
  				   kaweth/new_code_fix.bin \
  				   kaweth/trigger_code_fix.bin
2971c579f   David Woodhouse   keyspan: use requ...
111
112
113
114
115
116
117
118
119
120
121
122
123
124
  ifdef CONFIG_FIRMWARE_IN_KERNEL
  fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_MPR) += keyspan/mpr.fw
  fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA18X) += keyspan/usa18x.fw
  fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA19) += keyspan/usa19.fw
  fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA19QI) += keyspan/usa19qi.fw
  fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA19QW) += keyspan/usa19qw.fw
  fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA19W) += keyspan/usa19w.fw
  fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA28) += keyspan/usa28.fw
  fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA28XA) += keyspan/usa28xa.fw
  fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA28XB) += keyspan/usa28xb.fw
  fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA28X) += keyspan/usa28x.fw
  fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA49W) += keyspan/usa49w.fw
  fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA49WLC) += keyspan/usa49wlc.fw
  else
d25dc7fd4   David Woodhouse   Fix 'make clean' ...
125
  fw-shipped- += keyspan/mpr.fw keyspan/usa18x.fw keyspan/usa19.fw	\
2971c579f   David Woodhouse   keyspan: use requ...
126
127
128
129
  	keyspan/usa19qi.fw keyspan/usa19qw.fw keyspan/usa19w.fw		\
  	keyspan/usa28.fw keyspan/usa28xa.fw keyspan/usa28xb.fw		\
  	keyspan/usa28x.fw keyspan/usa49w.fw keyspan/usa49wlc.fw
  endif
7df523166   Chris Adams   ti_usb_3410_5052:...
130
131
  fw-shipped-$(CONFIG_USB_SERIAL_TI) += ti_3410.fw ti_5052.fw \
  				      mts_cdma.fw mts_gsm.fw mts_edge.fw
5b9ea9322   Jaswinder Singh   edgeport: use req...
132
133
  fw-shipped-$(CONFIG_USB_SERIAL_EDGEPORT) += edgeport/boot.fw edgeport/boot2.fw \
  					    edgeport/down.fw edgeport/down2.fw
d12b219a2   Jaswinder Singh   edgeport-ti: use ...
134
  fw-shipped-$(CONFIG_USB_SERIAL_EDGEPORT_TI) += edgeport/down3.bin
ec6752f5a   David Woodhouse   whiteheat: use re...
135
136
  fw-shipped-$(CONFIG_USB_SERIAL_WHITEHEAT) += whiteheat_loader.fw whiteheat.fw \
  					   # whiteheat_loader_debug.fw
3edbf98b8   David Woodhouse   keyspan_pda: use ...
137
138
  fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_PDA) += keyspan_pda/keyspan_pda.fw
  fw-shipped-$(CONFIG_USB_SERIAL_XIRCOM) += keyspan_pda/xircom_pgs.fw
fb54be875   Jaswinder Singh   vicam: use reques...
139
  fw-shipped-$(CONFIG_USB_VICAM) += vicam/firmware.fw
04a33e406   David Woodhouse   cpia2: use reques...
140
  fw-shipped-$(CONFIG_VIDEO_CPIA2) += cpia2/stv0672_vp4.bin
a7a5eb9d4   Jaswinder Singh Rajput   yam: use request_...
141
  fw-shipped-$(CONFIG_YAM) += yam/1200.bin yam/9600.bin
88ecf814c   David Woodhouse   firmware: Add fir...
142
143
144
145
  
  fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-)
  
  # Directories which we _might_ need to create, so we have a rule for them.
3c955b407   Jan Beulich   fixes for using m...
146
  firmware-dirs := $(sort $(addprefix $(objtree)/$(obj)/,$(dir $(fw-external-y) $(fw-shipped-all))))
4d2acfbfd   David Woodhouse   firmware: Add CON...
147
148
149
150
151
152
  
  quiet_cmd_mkdir = MKDIR   $(patsubst $(objtree)/%,%,$@)
        cmd_mkdir = mkdir -p $@
  
  quiet_cmd_ihex  = IHEX    $@
        cmd_ihex  = $(OBJCOPY) -Iihex -Obinary $< $@
8bd6b2229   David Woodhouse   ihex: add ihex2fw...
153
  quiet_cmd_ihex2fw  = IHEX2FW $@
556b0f58b   David Woodhouse   Revert "fix modul...
154
        cmd_ihex2fw  = $(objtree)/$(obj)/ihex2fw $< $@
8bd6b2229   David Woodhouse   ihex: add ihex2fw...
155

59890f74e   David Woodhouse   ihex: Add support...
156
  quiet_cmd_h16tofw  = H16TOFW $@
556b0f58b   David Woodhouse   Revert "fix modul...
157
        cmd_h16tofw  = $(objtree)/$(obj)/ihex2fw -w $< $@
59890f74e   David Woodhouse   ihex: Add support...
158

4d2acfbfd   David Woodhouse   firmware: Add CON...
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
  quiet_cmd_fwbin = MK_FW   $@
        cmd_fwbin = FWNAME="$(patsubst firmware/%.gen.S,%,$@)";		     \
  		  FWSTR="$(subst /,_,$(subst .,_,$(subst -,_,$(patsubst	     \
  				firmware/%.gen.S,%,$@))))";		     \
  		  ASM_WORD=$(if $(CONFIG_64BIT),.quad,.long);		     \
  		  ASM_ALIGN=$(if $(CONFIG_64BIT),3,2);			     \
  		  PROGBITS=$(if $(CONFIG_ARM),%,@)progbits;		     \
  		  echo "/* Generated by firmware/Makefile */"		> $@;\
  		  echo "    .section .rodata"				>>$@;\
  		  echo "    .p2align $${ASM_ALIGN}"			>>$@;\
  		  echo "_fw_$${FWSTR}_bin:"				>>$@;\
  		  echo "    .incbin \"$(2)\""				>>$@;\
  		  echo "_fw_end:"					>>$@;\
  		  echo "   .section .rodata.str,\"aMS\",$${PROGBITS},1"	>>$@;\
  		  echo "    .p2align $${ASM_ALIGN}"			>>$@;\
  		  echo "_fw_$${FWSTR}_name:"				>>$@;\
  		  echo "    .string \"$$FWNAME\""			>>$@;\
  		  echo "    .section .builtin_fw,\"a\",$${PROGBITS}"	>>$@;\
  		  echo "    .p2align $${ASM_ALIGN}"			>>$@;\
  		  echo "    $${ASM_WORD} _fw_$${FWSTR}_name"		>>$@;\
  		  echo "    $${ASM_WORD} _fw_$${FWSTR}_bin"		>>$@;\
  		  echo "    $${ASM_WORD} _fw_end - _fw_$${FWSTR}_bin"	>>$@;
  
  # One of these files will change, or come into existence, whenever
  # the configuration changes between 32-bit and 64-bit. The .S files
  # need to change when that happens.
  wordsize_deps := $(wildcard include/config/64bit.h include/config/32bit.h \
  		include/config/ppc32.h include/config/ppc64.h \
  		include/config/superh32.h include/config/superh64.h \
  		include/config/x86_32.h include/config/x86_64.h)
  
  # Workaround for make < 3.81, where .SECONDEXPANSION doesn't work.
  # It'll end up depending on these targets, so make them a PHONY rule which
  # depends on _all_ the directories in $(firmware-dirs), and it'll work out OK.
  PHONY += $(objtree)/$$(%) $(objtree)/$(obj)/$$(%)
  $(objtree)/$$(%) $(objtree)/$(obj)/$$(%): $(firmware-dirs)
  	@true
  
  # For the $$(dir %) trick, where we need % to be expanded first.
  .SECONDEXPANSION:
  
  $(patsubst %,$(obj)/%.gen.S, $(fw-shipped-y)): %: $(wordsize_deps) \
  		| $(objtree)/$$(dir %)
  	$(call cmd,fwbin,$(patsubst %.gen.S,%,$@))
  $(patsubst %,$(obj)/%.gen.S, $(fw-external-y)): %: $(wordsize_deps) \
50515af20   David Woodhouse   firmware: Correct...
204
  		include/config/extra/firmware/dir.h | $(objtree)/$$(dir %)
4d2acfbfd   David Woodhouse   firmware: Add CON...
205
206
207
208
209
  	$(call cmd,fwbin,$(fwabs)/$(patsubst $(obj)/%.gen.S,%,$@))
  
  # The .o files depend on the binaries directly; the .S files don't.
  $(patsubst %,$(obj)/%.gen.o, $(fw-shipped-y)): %.gen.o: %
  $(patsubst %,$(obj)/%.gen.o, $(fw-external-y)): $(obj)/%.gen.o: $(fwdir)/%
8bd6b2229   David Woodhouse   ihex: add ihex2fw...
210
211
  # .ihex is used just as a simple way to hold binary files in a source tree
  # where binaries are frowned upon. They are directly converted with objcopy.
4d2acfbfd   David Woodhouse   firmware: Add CON...
212
213
  $(obj)/%: $(obj)/%.ihex | $(objtree)/$(obj)/$$(dir %)
  	$(call cmd,ihex)
4528e4290   David Woodhouse   Partially revert ...
214
215
216
217
218
219
220
221
222
223
224
  # Don't depend on ihex2fw if we're installing and it already exists.
  # Putting it after | in the dependencies doesn't seem sufficient when
  # we're installing after a cross-compile, because ihex2fw has dependencies
  # on stuff like /usr/lib/gcc/ppc64-redhat-linux/4.3.0/include/stddef.h and 
  # thus wants to be rebuilt. Which it can't be, if the prebuilt kernel tree
  # is exported read-only for someone to run 'make install'.
  ifeq ($(INSTALL):$(wildcard $(obj)/ihex2fw),install:$(obj)/ihex2fw)
  ihex2fw_dep :=
  else
  ihex2fw_dep := $(obj)/ihex2fw
  endif
8bd6b2229   David Woodhouse   ihex: add ihex2fw...
225
226
227
228
  # .HEX is also Intel HEX, but where the offset and length in each record
  # is actually meaningful, because the firmware has to be loaded in a certain
  # order rather than as a single binary blob. Thus, we convert them into our
  # more compact binary representation of ihex records (<linux/ihex.h>)
4528e4290   David Woodhouse   Partially revert ...
229
  $(obj)/%.fw: $(obj)/%.HEX $(ihex2fw_dep) | $(objtree)/$(obj)/$$(dir %)
8bd6b2229   David Woodhouse   ihex: add ihex2fw...
230
  	$(call cmd,ihex2fw)
59890f74e   David Woodhouse   ihex: Add support...
231
  # .H16 is our own modified form of Intel HEX, with 16-bit length for records.
4528e4290   David Woodhouse   Partially revert ...
232
  $(obj)/%.fw: $(obj)/%.H16 $(ihex2fw_dep) | $(objtree)/$(obj)/$$(dir %)
59890f74e   David Woodhouse   ihex: Add support...
233
  	$(call cmd,h16tofw)
4d2acfbfd   David Woodhouse   firmware: Add CON...
234
235
  $(firmware-dirs):
  	$(call cmd,mkdir)
88ecf814c   David Woodhouse   firmware: Add fir...
236
237
  obj-y				 += $(patsubst %,%.gen.o, $(fw-external-y))
  obj-$(CONFIG_FIRMWARE_IN_KERNEL) += $(patsubst %,%.gen.o, $(fw-shipped-y))
4d2acfbfd   David Woodhouse   firmware: Add CON...
238
239
240
241
242
243
244
245
246
  
  # Remove .S files and binaries created from ihex
  # (during 'make clean' .config isn't included so they're all in $(fw-shipped-))
  targets := $(fw-shipped-) $(patsubst $(obj)/%,%, \
  				$(shell find $(obj) -name \*.gen.S 2>/dev/null))
  
  # Without this, built-in.o won't be created when it's empty, and the
  # final vmlinux link will fail.
  obj-n := dummy
556b0f58b   David Woodhouse   Revert "fix modul...
247
248
  
  hostprogs-y := ihex2fw