]>
Commit | Line | Data |
---|---|---|
1 | ## | |
2 | ## This file is part of the sigrok-firmware-fx2lafw project. | |
3 | ## | |
4 | ## Copyright (C) 2013 Uwe Hermann <uwe@hermann-uwe.de> | |
5 | ## Copyright (C) 2015 Daniel Elstner <daniel.kitta@gmail.com> | |
6 | ## | |
7 | ## This program is free software; you can redistribute it and/or modify | |
8 | ## it under the terms of the GNU General Public License as published by | |
9 | ## the Free Software Foundation; either version 2 of the License, or | |
10 | ## (at your option) any later version. | |
11 | ## | |
12 | ## This program is distributed in the hope that it will be useful, | |
13 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | ## GNU General Public License for more details. | |
16 | ## | |
17 | ## You should have received a copy of the GNU General Public License | |
18 | ## along with this program; if not, see <http://www.gnu.org/licenses/>. | |
19 | ## | |
20 | ||
21 | GNUMAKEFLAGS = --no-print-directory | |
22 | SUFFIXES = .a51 .c .fw .ihx .rel | |
23 | ||
24 | # Flags for firmware hex file generation | |
25 | SDCC_LINK_FLAGS = --code-size 0x1c00 --xram-size 0x0200 --xram-loc 0x1c00 -Wl"-b DSCR_AREA=0x1e00" -Wl"-b INT2JT=0x1f00" | |
26 | SDCC_LINK_FLAGS_SCOPE = --code-size 0x3c00 --xram-size 0x0100 --xram-loc 0x3c00 -Wl"-b DSCR_AREA=0x3d00" -Wl"-b INT2JT=0x3f00" | |
27 | ||
28 | # Include paths | |
29 | as_includes = -I$(srcdir)/include | |
30 | c_includes = -I$(srcdir)/include -I$(srcdir)/fx2lib/include | |
31 | ||
32 | # Binary firmware tarball basename | |
33 | distdir_bin = $(PACKAGE)-bin-$(VERSION) | |
34 | ||
35 | # Basename of directory stamp files | |
36 | dirstamp = .dirstamp | |
37 | ||
38 | dirstamps = \ | |
39 | fx2lib/lib/$(dirstamp) \ | |
40 | fx2lib/lib/interrupts/$(dirstamp) \ | |
41 | hw/braintechnology-usb-lps/$(dirstamp) \ | |
42 | hw/cwav-usbeeax/$(dirstamp) \ | |
43 | hw/cwav-usbeedx/$(dirstamp) \ | |
44 | hw/cwav-usbeesx/$(dirstamp) \ | |
45 | hw/cwav-usbeezx/$(dirstamp) \ | |
46 | hw/cypress-fx2/$(dirstamp) \ | |
47 | hw/saleae-logic/$(dirstamp) \ | |
48 | hw/sigrok-fx2-8ch/$(dirstamp) \ | |
49 | hw/sigrok-fx2-16ch/$(dirstamp) \ | |
50 | hw/hantek-6022be/$(dirstamp) \ | |
51 | hw/hantek-6022bl/$(dirstamp) \ | |
52 | hw/sainsmart-dds120/$(dirstamp) \ | |
53 | hw/yixingdianzi-mdso/$(dirstamp) | |
54 | ||
55 | # Final firmware files | |
56 | firmware_binaries = \ | |
57 | hw/braintechnology-usb-lps/fx2lafw-braintechnology-usb-lps.fw \ | |
58 | hw/cwav-usbeeax/fx2lafw-cwav-usbeeax.fw \ | |
59 | hw/cwav-usbeedx/fx2lafw-cwav-usbeedx.fw \ | |
60 | hw/cwav-usbeesx/fx2lafw-cwav-usbeesx.fw \ | |
61 | hw/cwav-usbeezx/fx2lafw-cwav-usbeezx.fw \ | |
62 | hw/cypress-fx2/fx2lafw-cypress-fx2.fw \ | |
63 | hw/saleae-logic/fx2lafw-saleae-logic.fw \ | |
64 | hw/sigrok-fx2-8ch/fx2lafw-sigrok-fx2-8ch.fw \ | |
65 | hw/sigrok-fx2-16ch/fx2lafw-sigrok-fx2-16ch.fw \ | |
66 | hw/hantek-6022be/fx2lafw-hantek-6022be.fw \ | |
67 | hw/hantek-6022bl/fx2lafw-hantek-6022bl.fw \ | |
68 | hw/sainsmart-dds120/fx2lafw-sainsmart-dds120.fw \ | |
69 | hw/yixingdianzi-mdso/fx2lafw-yixingdianzi-mdso.fw | |
70 | ||
71 | fx2lafw_headers = \ | |
72 | include/command.h \ | |
73 | include/dscr.inc \ | |
74 | include/common.inc \ | |
75 | include/fx2lafw.h \ | |
76 | include/gpif-acquisition.h | |
77 | ||
78 | fx2lafw_sources = \ | |
79 | fx2lafw.c \ | |
80 | gpif-acquisition.c | |
81 | ||
82 | fx2lafw_objects = \ | |
83 | fx2lafw.rel \ | |
84 | gpif-acquisition.rel | |
85 | ||
86 | scope_headers = \ | |
87 | include/dscr_scope.inc \ | |
88 | include/scope.inc \ | |
89 | include/common.inc | |
90 | ||
91 | hantek_6022be_headers = $(scope_headers) | |
92 | hantek_6022be_sources = hw/hantek-6022be/fw.c | |
93 | hantek_6022be_objects = hw/hantek-6022be/fw.rel | |
94 | ||
95 | hantek_6022bl_headers = $(scope_headers) | |
96 | hantek_6022bl_sources = hw/hantek-6022bl/fw.c | |
97 | hantek_6022bl_objects = hw/hantek-6022bl/fw.rel | |
98 | ||
99 | sainsmart_dds120_headers = $(scope_headers) | |
100 | sainsmart_dds120_sources = hw/sainsmart-dds120/fw.c | |
101 | sainsmart_dds120_objects = hw/sainsmart-dds120/fw.rel | |
102 | ||
103 | yixingdianzi_mdso_headers = $(scope_headers) | |
104 | yixingdianzi_mdso_sources = hw/yixingdianzi-mdso/fw.c | |
105 | yixingdianzi_mdso_objects = hw/yixingdianzi-mdso/fw.rel | |
106 | ||
107 | fx2lib_headers = \ | |
108 | fx2lib/include/autovector.h \ | |
109 | fx2lib/include/delay.h \ | |
110 | fx2lib/include/eputils.h \ | |
111 | fx2lib/include/fx2ints.h \ | |
112 | fx2lib/include/fx2macros.h \ | |
113 | fx2lib/include/fx2regs.h \ | |
114 | fx2lib/include/fx2types.h \ | |
115 | fx2lib/include/gpif.h \ | |
116 | fx2lib/include/i2c.h \ | |
117 | fx2lib/include/lights.h \ | |
118 | fx2lib/include/serial.h \ | |
119 | fx2lib/include/setupdat.h | |
120 | ||
121 | fx2lib_sources = \ | |
122 | fx2lib/lib/delay.c \ | |
123 | fx2lib/lib/eputils.c \ | |
124 | fx2lib/lib/gpif.c \ | |
125 | fx2lib/lib/i2c.c \ | |
126 | fx2lib/lib/int4av.a51 \ | |
127 | fx2lib/lib/serial.c \ | |
128 | fx2lib/lib/delay.c \ | |
129 | fx2lib/lib/setupdat.c \ | |
130 | fx2lib/lib/usbav.a51 | |
131 | ||
132 | fx2lib_objects = \ | |
133 | fx2lib/lib/delay.rel \ | |
134 | fx2lib/lib/eputils.rel \ | |
135 | fx2lib/lib/gpif.rel \ | |
136 | fx2lib/lib/i2c.rel \ | |
137 | fx2lib/lib/int4av.rel \ | |
138 | fx2lib/lib/serial.rel \ | |
139 | fx2lib/lib/delay.rel \ | |
140 | fx2lib/lib/setupdat.rel \ | |
141 | fx2lib/lib/usbav.rel | |
142 | ||
143 | fx2lib_ints_sources = \ | |
144 | fx2lib/lib/interrupts/ep0ack_isr.c \ | |
145 | fx2lib/lib/interrupts/ep0in_isr.c \ | |
146 | fx2lib/lib/interrupts/ep0out_isr.c \ | |
147 | fx2lib/lib/interrupts/ep0ping_isr.c \ | |
148 | fx2lib/lib/interrupts/ep1in_isr.c \ | |
149 | fx2lib/lib/interrupts/ep1out_isr.c \ | |
150 | fx2lib/lib/interrupts/ep1ping_isr.c \ | |
151 | fx2lib/lib/interrupts/ep2ef_isr.c \ | |
152 | fx2lib/lib/interrupts/ep2ff_isr.c \ | |
153 | fx2lib/lib/interrupts/ep2isoerr_isr.c \ | |
154 | fx2lib/lib/interrupts/ep2_isr.c \ | |
155 | fx2lib/lib/interrupts/ep2pf_isr.c \ | |
156 | fx2lib/lib/interrupts/ep2ping_isr.c \ | |
157 | fx2lib/lib/interrupts/ep4ef_isr.c \ | |
158 | fx2lib/lib/interrupts/ep4ff_isr.c \ | |
159 | fx2lib/lib/interrupts/ep4isoerr_isr.c \ | |
160 | fx2lib/lib/interrupts/ep4_isr.c \ | |
161 | fx2lib/lib/interrupts/ep4pf_isr.c \ | |
162 | fx2lib/lib/interrupts/ep4ping_isr.c \ | |
163 | fx2lib/lib/interrupts/ep6ef_isr.c \ | |
164 | fx2lib/lib/interrupts/ep6ff_isr.c \ | |
165 | fx2lib/lib/interrupts/ep6isoerr_isr.c \ | |
166 | fx2lib/lib/interrupts/ep6_isr.c \ | |
167 | fx2lib/lib/interrupts/ep6pf_isr.c \ | |
168 | fx2lib/lib/interrupts/ep6ping_isr.c \ | |
169 | fx2lib/lib/interrupts/ep8ef_isr.c \ | |
170 | fx2lib/lib/interrupts/ep8ff_isr.c \ | |
171 | fx2lib/lib/interrupts/ep8isoerr_isr.c \ | |
172 | fx2lib/lib/interrupts/ep8_isr.c \ | |
173 | fx2lib/lib/interrupts/ep8pf_isr.c \ | |
174 | fx2lib/lib/interrupts/ep8ping_isr.c \ | |
175 | fx2lib/lib/interrupts/errlimit_isr.c \ | |
176 | fx2lib/lib/interrupts/gpifdone_isr.c \ | |
177 | fx2lib/lib/interrupts/gpifwf_isr.c \ | |
178 | fx2lib/lib/interrupts/hispeed_isr.c \ | |
179 | fx2lib/lib/interrupts/ibn_isr.c \ | |
180 | fx2lib/lib/interrupts/sof_isr.c \ | |
181 | fx2lib/lib/interrupts/spare_isr.c \ | |
182 | fx2lib/lib/interrupts/sudav_isr.c \ | |
183 | fx2lib/lib/interrupts/suspend_isr.c \ | |
184 | fx2lib/lib/interrupts/sutok_isr.c \ | |
185 | fx2lib/lib/interrupts/usbreset_isr.c | |
186 | ||
187 | fx2lib_ints_objects = \ | |
188 | fx2lib/lib/interrupts/ep0ack_isr.rel \ | |
189 | fx2lib/lib/interrupts/ep0in_isr.rel \ | |
190 | fx2lib/lib/interrupts/ep0out_isr.rel \ | |
191 | fx2lib/lib/interrupts/ep0ping_isr.rel \ | |
192 | fx2lib/lib/interrupts/ep1in_isr.rel \ | |
193 | fx2lib/lib/interrupts/ep1out_isr.rel \ | |
194 | fx2lib/lib/interrupts/ep1ping_isr.rel \ | |
195 | fx2lib/lib/interrupts/ep2ef_isr.rel \ | |
196 | fx2lib/lib/interrupts/ep2ff_isr.rel \ | |
197 | fx2lib/lib/interrupts/ep2isoerr_isr.rel \ | |
198 | fx2lib/lib/interrupts/ep2_isr.rel \ | |
199 | fx2lib/lib/interrupts/ep2pf_isr.rel \ | |
200 | fx2lib/lib/interrupts/ep2ping_isr.rel \ | |
201 | fx2lib/lib/interrupts/ep4ef_isr.rel \ | |
202 | fx2lib/lib/interrupts/ep4ff_isr.rel \ | |
203 | fx2lib/lib/interrupts/ep4isoerr_isr.rel \ | |
204 | fx2lib/lib/interrupts/ep4_isr.rel \ | |
205 | fx2lib/lib/interrupts/ep4pf_isr.rel \ | |
206 | fx2lib/lib/interrupts/ep4ping_isr.rel \ | |
207 | fx2lib/lib/interrupts/ep6ef_isr.rel \ | |
208 | fx2lib/lib/interrupts/ep6ff_isr.rel \ | |
209 | fx2lib/lib/interrupts/ep6isoerr_isr.rel \ | |
210 | fx2lib/lib/interrupts/ep6_isr.rel \ | |
211 | fx2lib/lib/interrupts/ep6pf_isr.rel \ | |
212 | fx2lib/lib/interrupts/ep6ping_isr.rel \ | |
213 | fx2lib/lib/interrupts/ep8ef_isr.rel \ | |
214 | fx2lib/lib/interrupts/ep8ff_isr.rel \ | |
215 | fx2lib/lib/interrupts/ep8isoerr_isr.rel \ | |
216 | fx2lib/lib/interrupts/ep8_isr.rel \ | |
217 | fx2lib/lib/interrupts/ep8pf_isr.rel \ | |
218 | fx2lib/lib/interrupts/ep8ping_isr.rel \ | |
219 | fx2lib/lib/interrupts/errlimit_isr.rel \ | |
220 | fx2lib/lib/interrupts/gpifdone_isr.rel \ | |
221 | fx2lib/lib/interrupts/gpifwf_isr.rel \ | |
222 | fx2lib/lib/interrupts/hispeed_isr.rel \ | |
223 | fx2lib/lib/interrupts/ibn_isr.rel \ | |
224 | fx2lib/lib/interrupts/sof_isr.rel \ | |
225 | fx2lib/lib/interrupts/spare_isr.rel \ | |
226 | fx2lib/lib/interrupts/sudav_isr.rel \ | |
227 | fx2lib/lib/interrupts/suspend_isr.rel \ | |
228 | fx2lib/lib/interrupts/sutok_isr.rel \ | |
229 | fx2lib/lib/interrupts/usbreset_isr.rel | |
230 | ||
231 | fx2lib_libs = \ | |
232 | fx2lib/lib/fx2.lib \ | |
233 | fx2lib/lib/interrupts/ints.lib | |
234 | ||
235 | hw_sources = \ | |
236 | hw/braintechnology-usb-lps/dscr.a51 \ | |
237 | hw/cwav-usbeeax/dscr.a51 \ | |
238 | hw/cwav-usbeedx/dscr.a51 \ | |
239 | hw/cwav-usbeesx/dscr.a51 \ | |
240 | hw/cwav-usbeezx/dscr.a51 \ | |
241 | hw/cypress-fx2/dscr.a51 \ | |
242 | hw/saleae-logic/dscr.a51 \ | |
243 | hw/sigrok-fx2-8ch/dscr.a51 \ | |
244 | hw/sigrok-fx2-16ch/dscr.a51 \ | |
245 | hw/hantek-6022be/dscr.a51 \ | |
246 | hw/hantek-6022bl/dscr.a51 \ | |
247 | hw/sainsmart-dds120/dscr.a51 \ | |
248 | hw/yixingdianzi-mdso/dscr.a51 | |
249 | ||
250 | firmwaredir = $(datadir)/sigrok-firmware | |
251 | firmware_DATA = $(firmware_binaries) | |
252 | ||
253 | dist_noinst_DATA = \ | |
254 | $(fx2lafw_headers) $(fx2lafw_sources) \ | |
255 | $(hantek_6022be_headers) $(hantek_6022be_sources) \ | |
256 | $(hantek_6022bl_headers) $(hantek_6022bl_sources) \ | |
257 | $(sainsmart_dds120_sources) $(sainsmart_dds120_headers) \ | |
258 | $(yixingdianzi_mdso_sources) $(yixingdianzi_mdso_headers) \ | |
259 | $(fx2lib_headers) $(fx2lib_sources) $(fx2lib_ints_sources) $(hw_sources) | |
260 | dist_noinst_SCRIPTS = autogen.sh | |
261 | ||
262 | MOSTLYCLEANFILES = *.asm fx2lib/lib/*.asm hw/**/*.asm fx2lib/lib/*.lib fx2lib/lib/interrupts/*.asm fx2lib/lib/interrupts/*.lib | |
263 | CLEANFILES = $(firmware_binaries) | |
264 | DISTCLEANFILES = $(dirstamps) | |
265 | ||
266 | # Custom silent rules prefixes | |
267 | SF_V_SDAS = $(sf_v_SDAS_@AM_V@) | |
268 | sf_v_SDAS_ = $(sf_v_SDAS_@AM_DEFAULT_V@) | |
269 | sf_v_SDAS_0 = @echo " SDAS " $@; | |
270 | sf_v_SDAS_1 = | |
271 | ||
272 | SF_V_SDCC = $(sf_v_SDCC_@AM_V@) | |
273 | sf_v_SDCC_ = $(sf_v_SDCC_@AM_DEFAULT_V@) | |
274 | sf_v_SDCC_0 = @echo " SDCC " $@; | |
275 | sf_v_SDCC_1 = | |
276 | ||
277 | .PHONY: dist-bin dist-changelog | |
278 | ||
279 | all-local: $(firmware_binaries) | |
280 | ||
281 | mostlyclean-local: | |
282 | -$(AM_V_at)find . -type f '(' -name '*.ihx' -o -name '*.lk' \ | |
283 | -o -name '*.lst' -o -name '*.map' -o -name '*.mem' \ | |
284 | -o -name '*.rel' -o -name '*.rst' -o -name '*.sym' ')' \ | |
285 | -exec rm -f '{}' '+' | |
286 | ||
287 | dist-hook: dist-changelog | |
288 | ||
289 | dist-changelog: | |
290 | $(AM_V_at)if test -d '$(top_srcdir)/.git'; then \ | |
291 | if git -C '$(top_srcdir)' log >.ChangeLog.tmp; \ | |
292 | then mv -f .ChangeLog.tmp "$(top_distdir)/ChangeLog"; \ | |
293 | else rm -f .ChangeLog.tmp; exit 1; fi; \ | |
294 | else :; fi | |
295 | ||
296 | # Creates a convenience tarball with just the generated *.fw files, so that | |
297 | # the users don't have to build them manually. | |
298 | dist-bin: $(firmware_binaries) | |
299 | -$(AM_V_at)rm -fr $(distdir_bin) | |
300 | $(AM_V_at)$(MKDIR_P) $(distdir_bin) | |
301 | $(AM_V_at)$(INSTALL_DATA) $(firmware_binaries) $(distdir_bin) | |
302 | $(AM_V_at)$(INSTALL_DATA) $(srcdir)/COPYING $(srcdir)/COPYING.LESSER $(srcdir)/NEWS $(srcdir)/README $(distdir_bin) | |
303 | $(AM_V_at)if test -d '$(top_srcdir)/.git'; \ | |
304 | then git -C '$(top_srcdir)' log > $(distdir_bin)/ChangeLog; \ | |
305 | else $(INSTALL_DATA) $(srcdir)/ChangeLog $(distdir_bin); fi | |
306 | $(AM_V_at)tar -czf $(distdir_bin).tar.gz $(distdir_bin) | |
307 | -$(AM_V_at)rm -fr $(distdir_bin) | |
308 | ||
309 | # List dependencies | |
310 | $(fx2lafw_objects): $(fx2lafw_headers) | |
311 | $(hantek_6022be_objects): $(hantek_6022be_headers) | |
312 | $(fx2lib_objects): fx2lib/lib/$(dirstamp) $(fx2lib_headers) | |
313 | $(fx2lib_ints_objects): fx2lib/lib/interrupts/$(dirstamp) $(fx2lib_headers) | |
314 | ||
315 | hw/braintechnology-usb-lps/dscr.rel: hw/braintechnology-usb-lps/$(dirstamp) include/dscr.inc | |
316 | hw/cwav-usbeeax/dscr.rel: hw/cwav-usbeeax/$(dirstamp) include/dscr.inc | |
317 | hw/cwav-usbeedx/dscr.rel: hw/cwav-usbeedx/$(dirstamp) include/dscr.inc | |
318 | hw/cwav-usbeesx/dscr.rel: hw/cwav-usbeesx/$(dirstamp) include/dscr.inc | |
319 | hw/cwav-usbeezx/dscr.rel: hw/cwav-usbeezx/$(dirstamp) include/dscr.inc | |
320 | hw/cypress-fx2/dscr.rel: hw/cypress-fx2/$(dirstamp) include/dscr.inc | |
321 | hw/saleae-logic/dscr.rel: hw/saleae-logic/$(dirstamp) include/dscr.inc | |
322 | hw/sigrok-fx2-8ch/dscr.rel: hw/sigrok-fx2-8ch/$(dirstamp) include/dscr.inc | |
323 | hw/sigrok-fx2-16ch/dscr.rel: hw/sigrok-fx2-16ch/$(dirstamp) include/dscr.inc | |
324 | hw/hantek-6022be/dscr.rel: hw/hantek-6022be/$(dirstamp) include/dscr_scope.inc | |
325 | hw/hantek-6022bl/dscr.rel: hw/hantek-6022bl/$(dirstamp) include/dscr_scope.inc | |
326 | hw/sainsmart-dds120/dscr.rel: hw/sainsmart-dds120/$(dirstamp) include/dscr_scope.inc | |
327 | hw/yixingdianzi-mdso/dscr.rel: hw/yixingdianzi-mdso/$(dirstamp) include/dscr_scope.inc | |
328 | ||
329 | ||
330 | # Create build subdirectories | |
331 | $(dirstamps): | |
332 | @stamp='$@'; $(MKDIR_P) "$${stamp%/*}" | |
333 | @: > $@ | |
334 | ||
335 | fx2lib/lib/fx2.lib: $(fx2lib_objects) | |
336 | -$(AM_V_at)rm -f $@ | |
337 | $(AM_V_GEN)$(SDAR) -rc $@ $(fx2lib_objects) | |
338 | ||
339 | fx2lib/lib/interrupts/ints.lib: $(fx2lib_ints_objects) | |
340 | -$(AM_V_at)rm -f $@ | |
341 | $(AM_V_GEN)$(SDAR) -rc $@ $(fx2lib_ints_objects) | |
342 | ||
343 | hw/braintechnology-usb-lps/fx2lafw-braintechnology-usb-lps.ihx: hw/braintechnology-usb-lps/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
344 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/braintechnology-usb-lps/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
345 | ||
346 | hw/cwav-usbeeax/fx2lafw-cwav-usbeeax.ihx: hw/cwav-usbeeax/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
347 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/cwav-usbeeax/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
348 | ||
349 | hw/cwav-usbeedx/fx2lafw-cwav-usbeedx.ihx: hw/cwav-usbeedx/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
350 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/cwav-usbeedx/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
351 | ||
352 | hw/cwav-usbeesx/fx2lafw-cwav-usbeesx.ihx: hw/cwav-usbeesx/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
353 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/cwav-usbeesx/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
354 | ||
355 | hw/cwav-usbeezx/fx2lafw-cwav-usbeezx.ihx: hw/cwav-usbeezx/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
356 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/cwav-usbeezx/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
357 | ||
358 | hw/cypress-fx2/fx2lafw-cypress-fx2.ihx: hw/cypress-fx2/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
359 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/cypress-fx2/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
360 | ||
361 | hw/saleae-logic/fx2lafw-saleae-logic.ihx: hw/saleae-logic/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
362 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/saleae-logic/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
363 | ||
364 | hw/sigrok-fx2-8ch/fx2lafw-sigrok-fx2-8ch.ihx: hw/sigrok-fx2-8ch/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
365 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/sigrok-fx2-8ch/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
366 | ||
367 | hw/sigrok-fx2-16ch/fx2lafw-sigrok-fx2-16ch.ihx: hw/sigrok-fx2-16ch/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
368 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/sigrok-fx2-16ch/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
369 | ||
370 | hw/hantek-6022be/fx2lafw-hantek-6022be.ihx: hw/hantek-6022be/dscr.rel $(hantek_6022be_objects) $(fx2lib_libs) | |
371 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS_SCOPE) -o $@ hw/hantek-6022be/dscr.rel $(hantek_6022be_objects) $(fx2lib_libs) | |
372 | ||
373 | hw/hantek-6022bl/fx2lafw-hantek-6022bl.ihx: hw/hantek-6022bl/dscr.rel $(hantek_6022bl_objects) $(fx2lib_libs) | |
374 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS_SCOPE) -o $@ hw/hantek-6022bl/dscr.rel $(hantek_6022bl_objects) $(fx2lib_libs) | |
375 | ||
376 | hw/sainsmart-dds120/fx2lafw-sainsmart-dds120.ihx: hw/sainsmart-dds120/dscr.rel $(sainsmart_dds120_objects) $(fx2lib_libs) | |
377 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS_SCOPE) -o $@ hw/sainsmart-dds120/dscr.rel $(sainsmart_dds120_objects) $(fx2lib_libs) | |
378 | ||
379 | hw/yixingdianzi-mdso/fx2lafw-yixingdianzi-mdso.ihx: hw/yixingdianzi-mdso/dscr.rel $(yixingdianzi_mdso_objects) $(fx2lib_libs) | |
380 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS_SCOPE) -o $@ hw/yixingdianzi-mdso/dscr.rel $(yixingdianzi_mdso_objects) $(fx2lib_libs) | |
381 | ||
382 | .a51.rel: | |
383 | $(SF_V_SDAS)$(SDAS8051) -glos $(as_includes) $@ $< | |
384 | ||
385 | .c.rel: | |
386 | $(SF_V_SDCC)$(SDCC) -mmcs51 $(c_includes) -c $< -o $@ | |
387 | ||
388 | if FOUND_OBJCOPY | |
389 | .ihx.fw: | |
390 | $(AM_V_GEN)$(OBJCOPY) -Iihex $< -Obinary $@ | |
391 | else | |
392 | if FOUND_MAKEBIN | |
393 | .ihx.fw: | |
394 | $(AM_V_GEN)$(MAKEBIN) -p < $< > $@ | |
395 | endif | |
396 | endif | |
397 |