]>
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_HANTEK_6022BE = --code-size 0x3c00 --xram-size 0x0100 --xram-loc 0x3c00 -Wl"-b DSCR_AREA=0x3d00" -Wl"-b INT2JT=0x3f00" | |
27 | SDCC_LINK_FLAGS_HANTEK_6022BL = $(SDCC_LINK_FLAGS_HANTEK_6022BE) | |
28 | SDCC_LINK_FLAGS_SAINSMART_DDS120 = $(SDCC_LINK_FLAGS_HANTEK_6022BE) | |
29 | ||
30 | # Include paths | |
31 | as_includes = -I$(srcdir)/include | |
32 | c_includes = -I$(srcdir)/include -I$(srcdir)/fx2lib/include | |
33 | ||
34 | # Binary firmware tarball basename | |
35 | distdir_bin = $(PACKAGE)-bin-$(VERSION) | |
36 | ||
37 | # Basename of directory stamp files | |
38 | dirstamp = .dirstamp | |
39 | ||
40 | dirstamps = \ | |
41 | fx2lib/lib/$(dirstamp) \ | |
42 | fx2lib/lib/interrupts/$(dirstamp) \ | |
43 | hw/braintechnology-usb-lps/$(dirstamp) \ | |
44 | hw/cwav-usbeeax/$(dirstamp) \ | |
45 | hw/cwav-usbeedx/$(dirstamp) \ | |
46 | hw/cwav-usbeesx/$(dirstamp) \ | |
47 | hw/cwav-usbeezx/$(dirstamp) \ | |
48 | hw/cypress-fx2/$(dirstamp) \ | |
49 | hw/saleae-logic/$(dirstamp) \ | |
50 | hw/sigrok-fx2-8ch/$(dirstamp) \ | |
51 | hw/sigrok-fx2-16ch/$(dirstamp) \ | |
52 | hw/hantek-6022be/$(dirstamp) \ | |
53 | hw/hantek-6022bl/$(dirstamp) \ | |
54 | hw/sainsmart-dds120/$(dirstamp) | |
55 | ||
56 | # Final firmware files | |
57 | firmware_binaries = \ | |
58 | hw/braintechnology-usb-lps/fx2lafw-braintechnology-usb-lps.fw \ | |
59 | hw/cwav-usbeeax/fx2lafw-cwav-usbeeax.fw \ | |
60 | hw/cwav-usbeedx/fx2lafw-cwav-usbeedx.fw \ | |
61 | hw/cwav-usbeesx/fx2lafw-cwav-usbeesx.fw \ | |
62 | hw/cwav-usbeezx/fx2lafw-cwav-usbeezx.fw \ | |
63 | hw/cypress-fx2/fx2lafw-cypress-fx2.fw \ | |
64 | hw/saleae-logic/fx2lafw-saleae-logic.fw \ | |
65 | hw/sigrok-fx2-8ch/fx2lafw-sigrok-fx2-8ch.fw \ | |
66 | hw/sigrok-fx2-16ch/fx2lafw-sigrok-fx2-16ch.fw \ | |
67 | hw/hantek-6022be/fx2lafw-hantek-6022be.fw \ | |
68 | hw/hantek-6022bl/fx2lafw-hantek-6022bl.fw \ | |
69 | hw/sainsmart-dds120/fx2lafw-sainsmart-dds120.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 | hantek_6022be_headers = \ | |
87 | include/dscr_hantek_6022be.inc \ | |
88 | include/common.inc | |
89 | ||
90 | hantek_6022be_sources = \ | |
91 | hantek_6022be.c | |
92 | ||
93 | hantek_6022be_objects = \ | |
94 | hantek_6022be.rel | |
95 | ||
96 | hantek_6022bl_headers = \ | |
97 | include/dscr_hantek_6022be.inc \ | |
98 | include/common.inc | |
99 | ||
100 | hantek_6022bl_sources = \ | |
101 | hantek_6022bl.c | |
102 | ||
103 | hantek_6022bl_objects = \ | |
104 | hantek_6022bl.rel | |
105 | ||
106 | sainsmart_dds120_headers = \ | |
107 | include/dscr_hantek_6022be.inc \ | |
108 | include/common.inc | |
109 | ||
110 | sainsmart_dds120_sources = \ | |
111 | sainsmart_dds120.c | |
112 | ||
113 | sainsmart_dds120_objects = \ | |
114 | sainsmart_dds120.rel | |
115 | ||
116 | fx2lib_headers = \ | |
117 | fx2lib/include/autovector.h \ | |
118 | fx2lib/include/delay.h \ | |
119 | fx2lib/include/eputils.h \ | |
120 | fx2lib/include/fx2ints.h \ | |
121 | fx2lib/include/fx2macros.h \ | |
122 | fx2lib/include/fx2regs.h \ | |
123 | fx2lib/include/fx2types.h \ | |
124 | fx2lib/include/gpif.h \ | |
125 | fx2lib/include/i2c.h \ | |
126 | fx2lib/include/lights.h \ | |
127 | fx2lib/include/serial.h \ | |
128 | fx2lib/include/setupdat.h | |
129 | ||
130 | fx2lib_sources = \ | |
131 | fx2lib/lib/delay.c \ | |
132 | fx2lib/lib/eputils.c \ | |
133 | fx2lib/lib/gpif.c \ | |
134 | fx2lib/lib/i2c.c \ | |
135 | fx2lib/lib/int4av.a51 \ | |
136 | fx2lib/lib/serial.c \ | |
137 | fx2lib/lib/delay.c \ | |
138 | fx2lib/lib/setupdat.c \ | |
139 | fx2lib/lib/usbav.a51 | |
140 | ||
141 | fx2lib_objects = \ | |
142 | fx2lib/lib/delay.rel \ | |
143 | fx2lib/lib/eputils.rel \ | |
144 | fx2lib/lib/gpif.rel \ | |
145 | fx2lib/lib/i2c.rel \ | |
146 | fx2lib/lib/int4av.rel \ | |
147 | fx2lib/lib/serial.rel \ | |
148 | fx2lib/lib/delay.rel \ | |
149 | fx2lib/lib/setupdat.rel \ | |
150 | fx2lib/lib/usbav.rel | |
151 | ||
152 | fx2lib_ints_sources = \ | |
153 | fx2lib/lib/interrupts/ep0ack_isr.c \ | |
154 | fx2lib/lib/interrupts/ep0in_isr.c \ | |
155 | fx2lib/lib/interrupts/ep0out_isr.c \ | |
156 | fx2lib/lib/interrupts/ep0ping_isr.c \ | |
157 | fx2lib/lib/interrupts/ep1in_isr.c \ | |
158 | fx2lib/lib/interrupts/ep1out_isr.c \ | |
159 | fx2lib/lib/interrupts/ep1ping_isr.c \ | |
160 | fx2lib/lib/interrupts/ep2ef_isr.c \ | |
161 | fx2lib/lib/interrupts/ep2ff_isr.c \ | |
162 | fx2lib/lib/interrupts/ep2isoerr_isr.c \ | |
163 | fx2lib/lib/interrupts/ep2_isr.c \ | |
164 | fx2lib/lib/interrupts/ep2pf_isr.c \ | |
165 | fx2lib/lib/interrupts/ep2ping_isr.c \ | |
166 | fx2lib/lib/interrupts/ep4ef_isr.c \ | |
167 | fx2lib/lib/interrupts/ep4ff_isr.c \ | |
168 | fx2lib/lib/interrupts/ep4isoerr_isr.c \ | |
169 | fx2lib/lib/interrupts/ep4_isr.c \ | |
170 | fx2lib/lib/interrupts/ep4pf_isr.c \ | |
171 | fx2lib/lib/interrupts/ep4ping_isr.c \ | |
172 | fx2lib/lib/interrupts/ep6ef_isr.c \ | |
173 | fx2lib/lib/interrupts/ep6ff_isr.c \ | |
174 | fx2lib/lib/interrupts/ep6isoerr_isr.c \ | |
175 | fx2lib/lib/interrupts/ep6_isr.c \ | |
176 | fx2lib/lib/interrupts/ep6pf_isr.c \ | |
177 | fx2lib/lib/interrupts/ep6ping_isr.c \ | |
178 | fx2lib/lib/interrupts/ep8ef_isr.c \ | |
179 | fx2lib/lib/interrupts/ep8ff_isr.c \ | |
180 | fx2lib/lib/interrupts/ep8isoerr_isr.c \ | |
181 | fx2lib/lib/interrupts/ep8_isr.c \ | |
182 | fx2lib/lib/interrupts/ep8pf_isr.c \ | |
183 | fx2lib/lib/interrupts/ep8ping_isr.c \ | |
184 | fx2lib/lib/interrupts/errlimit_isr.c \ | |
185 | fx2lib/lib/interrupts/gpifdone_isr.c \ | |
186 | fx2lib/lib/interrupts/gpifwf_isr.c \ | |
187 | fx2lib/lib/interrupts/hispeed_isr.c \ | |
188 | fx2lib/lib/interrupts/ibn_isr.c \ | |
189 | fx2lib/lib/interrupts/sof_isr.c \ | |
190 | fx2lib/lib/interrupts/spare_isr.c \ | |
191 | fx2lib/lib/interrupts/sudav_isr.c \ | |
192 | fx2lib/lib/interrupts/suspend_isr.c \ | |
193 | fx2lib/lib/interrupts/sutok_isr.c \ | |
194 | fx2lib/lib/interrupts/usbreset_isr.c | |
195 | ||
196 | fx2lib_ints_objects = \ | |
197 | fx2lib/lib/interrupts/ep0ack_isr.rel \ | |
198 | fx2lib/lib/interrupts/ep0in_isr.rel \ | |
199 | fx2lib/lib/interrupts/ep0out_isr.rel \ | |
200 | fx2lib/lib/interrupts/ep0ping_isr.rel \ | |
201 | fx2lib/lib/interrupts/ep1in_isr.rel \ | |
202 | fx2lib/lib/interrupts/ep1out_isr.rel \ | |
203 | fx2lib/lib/interrupts/ep1ping_isr.rel \ | |
204 | fx2lib/lib/interrupts/ep2ef_isr.rel \ | |
205 | fx2lib/lib/interrupts/ep2ff_isr.rel \ | |
206 | fx2lib/lib/interrupts/ep2isoerr_isr.rel \ | |
207 | fx2lib/lib/interrupts/ep2_isr.rel \ | |
208 | fx2lib/lib/interrupts/ep2pf_isr.rel \ | |
209 | fx2lib/lib/interrupts/ep2ping_isr.rel \ | |
210 | fx2lib/lib/interrupts/ep4ef_isr.rel \ | |
211 | fx2lib/lib/interrupts/ep4ff_isr.rel \ | |
212 | fx2lib/lib/interrupts/ep4isoerr_isr.rel \ | |
213 | fx2lib/lib/interrupts/ep4_isr.rel \ | |
214 | fx2lib/lib/interrupts/ep4pf_isr.rel \ | |
215 | fx2lib/lib/interrupts/ep4ping_isr.rel \ | |
216 | fx2lib/lib/interrupts/ep6ef_isr.rel \ | |
217 | fx2lib/lib/interrupts/ep6ff_isr.rel \ | |
218 | fx2lib/lib/interrupts/ep6isoerr_isr.rel \ | |
219 | fx2lib/lib/interrupts/ep6_isr.rel \ | |
220 | fx2lib/lib/interrupts/ep6pf_isr.rel \ | |
221 | fx2lib/lib/interrupts/ep6ping_isr.rel \ | |
222 | fx2lib/lib/interrupts/ep8ef_isr.rel \ | |
223 | fx2lib/lib/interrupts/ep8ff_isr.rel \ | |
224 | fx2lib/lib/interrupts/ep8isoerr_isr.rel \ | |
225 | fx2lib/lib/interrupts/ep8_isr.rel \ | |
226 | fx2lib/lib/interrupts/ep8pf_isr.rel \ | |
227 | fx2lib/lib/interrupts/ep8ping_isr.rel \ | |
228 | fx2lib/lib/interrupts/errlimit_isr.rel \ | |
229 | fx2lib/lib/interrupts/gpifdone_isr.rel \ | |
230 | fx2lib/lib/interrupts/gpifwf_isr.rel \ | |
231 | fx2lib/lib/interrupts/hispeed_isr.rel \ | |
232 | fx2lib/lib/interrupts/ibn_isr.rel \ | |
233 | fx2lib/lib/interrupts/sof_isr.rel \ | |
234 | fx2lib/lib/interrupts/spare_isr.rel \ | |
235 | fx2lib/lib/interrupts/sudav_isr.rel \ | |
236 | fx2lib/lib/interrupts/suspend_isr.rel \ | |
237 | fx2lib/lib/interrupts/sutok_isr.rel \ | |
238 | fx2lib/lib/interrupts/usbreset_isr.rel | |
239 | ||
240 | fx2lib_libs = \ | |
241 | fx2lib/lib/fx2.lib \ | |
242 | fx2lib/lib/interrupts/ints.lib | |
243 | ||
244 | hw_sources = \ | |
245 | hw/braintechnology-usb-lps/dscr.a51 \ | |
246 | hw/cwav-usbeeax/dscr.a51 \ | |
247 | hw/cwav-usbeedx/dscr.a51 \ | |
248 | hw/cwav-usbeesx/dscr.a51 \ | |
249 | hw/cwav-usbeezx/dscr.a51 \ | |
250 | hw/cypress-fx2/dscr.a51 \ | |
251 | hw/saleae-logic/dscr.a51 \ | |
252 | hw/sigrok-fx2-8ch/dscr.a51 \ | |
253 | hw/sigrok-fx2-16ch/dscr.a51 \ | |
254 | hw/hantek-6022be/dscr.a51 \ | |
255 | hw/hantek-6022bl/dscr.a51 \ | |
256 | hw/sainsmart-dds120/dscr.a51 | |
257 | ||
258 | firmwaredir = $(datadir)/sigrok-firmware | |
259 | firmware_DATA = $(firmware_binaries) | |
260 | ||
261 | dist_noinst_DATA = $(fx2lafw_headers) $(fx2lafw_sources) $(hantek_6022be_headers) $(hantek_6022be_sources) $(hantek_6022bl_headers) $(hantek_6022bl_sources) $(sainsmart_dds120_sources) $(sainsmart_dds120_headers) $(fx2lib_headers) $(fx2lib_sources) $(fx2lib_ints_sources) $(hw_sources) | |
262 | dist_noinst_SCRIPTS = autogen.sh | |
263 | ||
264 | MOSTLYCLEANFILES = *.asm fx2lib/lib/*.asm fx2lib/lib/*.lib fx2lib/lib/interrupts/*.asm fx2lib/lib/interrupts/*.lib | |
265 | CLEANFILES = $(firmware_binaries) | |
266 | DISTCLEANFILES = $(dirstamps) | |
267 | ||
268 | # Custom silent rules prefixes | |
269 | SF_V_SDAS = $(sf_v_SDAS_@AM_V@) | |
270 | sf_v_SDAS_ = $(sf_v_SDAS_@AM_DEFAULT_V@) | |
271 | sf_v_SDAS_0 = @echo " SDAS " $@; | |
272 | sf_v_SDAS_1 = | |
273 | ||
274 | SF_V_SDCC = $(sf_v_SDCC_@AM_V@) | |
275 | sf_v_SDCC_ = $(sf_v_SDCC_@AM_DEFAULT_V@) | |
276 | sf_v_SDCC_0 = @echo " SDCC " $@; | |
277 | sf_v_SDCC_1 = | |
278 | ||
279 | .PHONY: dist-bin dist-changelog | |
280 | ||
281 | all-local: $(firmware_binaries) | |
282 | ||
283 | mostlyclean-local: | |
284 | -$(AM_V_at)find . -type f '(' -name '*.ihx' -o -name '*.lk' \ | |
285 | -o -name '*.lst' -o -name '*.map' -o -name '*.mem' \ | |
286 | -o -name '*.rel' -o -name '*.rst' -o -name '*.sym' ')' \ | |
287 | -exec rm -f '{}' '+' | |
288 | ||
289 | dist-hook: dist-changelog | |
290 | ||
291 | dist-changelog: | |
292 | $(AM_V_at)if test -d '$(top_srcdir)/.git'; then \ | |
293 | if git -C '$(top_srcdir)' log >.ChangeLog.tmp; \ | |
294 | then mv -f .ChangeLog.tmp "$(top_distdir)/ChangeLog"; \ | |
295 | else rm -f .ChangeLog.tmp; exit 1; fi; \ | |
296 | else :; fi | |
297 | ||
298 | # Creates a convenience tarball with just the generated *.fw files, so that | |
299 | # the users don't have to build them manually. | |
300 | dist-bin: $(firmware_binaries) | |
301 | -$(AM_V_at)rm -fr $(distdir_bin) | |
302 | $(AM_V_at)$(MKDIR_P) $(distdir_bin) | |
303 | $(AM_V_at)$(INSTALL_DATA) $(firmware_binaries) $(distdir_bin) | |
304 | $(AM_V_at)$(INSTALL_DATA) $(srcdir)/COPYING $(srcdir)/COPYING.LESSER $(srcdir)/NEWS $(srcdir)/README $(distdir_bin) | |
305 | $(AM_V_at)if test -d '$(top_srcdir)/.git'; \ | |
306 | then git -C '$(top_srcdir)' log > $(distdir_bin)/ChangeLog; \ | |
307 | else $(INSTALL_DATA) $(srcdir)/ChangeLog $(distdir_bin); fi | |
308 | $(AM_V_at)tar -czf $(distdir_bin).tar.gz $(distdir_bin) | |
309 | -$(AM_V_at)rm -fr $(distdir_bin) | |
310 | ||
311 | # List dependencies | |
312 | $(fx2lafw_objects): $(fx2lafw_headers) | |
313 | $(hantek_6022be_objects): $(hantek_6022be_headers) | |
314 | $(fx2lib_objects): fx2lib/lib/$(dirstamp) $(fx2lib_headers) | |
315 | $(fx2lib_ints_objects): fx2lib/lib/interrupts/$(dirstamp) $(fx2lib_headers) | |
316 | ||
317 | hw/braintechnology-usb-lps/dscr.rel: hw/braintechnology-usb-lps/$(dirstamp) include/dscr.inc | |
318 | hw/cwav-usbeeax/dscr.rel: hw/cwav-usbeeax/$(dirstamp) include/dscr.inc | |
319 | hw/cwav-usbeedx/dscr.rel: hw/cwav-usbeedx/$(dirstamp) include/dscr.inc | |
320 | hw/cwav-usbeesx/dscr.rel: hw/cwav-usbeesx/$(dirstamp) include/dscr.inc | |
321 | hw/cwav-usbeezx/dscr.rel: hw/cwav-usbeezx/$(dirstamp) include/dscr.inc | |
322 | hw/cypress-fx2/dscr.rel: hw/cypress-fx2/$(dirstamp) include/dscr.inc | |
323 | hw/saleae-logic/dscr.rel: hw/saleae-logic/$(dirstamp) include/dscr.inc | |
324 | hw/sigrok-fx2-8ch/dscr.rel: hw/sigrok-fx2-8ch/$(dirstamp) include/dscr.inc | |
325 | hw/sigrok-fx2-16ch/dscr.rel: hw/sigrok-fx2-16ch/$(dirstamp) include/dscr.inc | |
326 | hw/hantek-6022be/dscr.rel: hw/hantek-6022be/$(dirstamp) include/dscr_hantek_6022be.inc | |
327 | hw/hantek-6022bl/dscr.rel: hw/hantek-6022bl/$(dirstamp) include/dscr_hantek_6022be.inc | |
328 | hw/sainsmart-dds120/dscr.rel: hw/sainsmart-dds120/$(dirstamp) include/dscr_hantek_6022be.inc | |
329 | ||
330 | ||
331 | # Create build subdirectories | |
332 | $(dirstamps): | |
333 | @stamp='$@'; $(MKDIR_P) "$${stamp%/*}" | |
334 | @: > $@ | |
335 | ||
336 | fx2lib/lib/fx2.lib: $(fx2lib_objects) | |
337 | -$(AM_V_at)rm -f $@ | |
338 | $(AM_V_GEN)$(SDCCLIB) $@ $(fx2lib_objects) | |
339 | ||
340 | fx2lib/lib/interrupts/ints.lib: $(fx2lib_ints_objects) | |
341 | -$(AM_V_at)rm -f $@ | |
342 | $(AM_V_GEN)$(SDCCLIB) $@ $(fx2lib_ints_objects) | |
343 | ||
344 | hw/braintechnology-usb-lps/fx2lafw-braintechnology-usb-lps.ihx: hw/braintechnology-usb-lps/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
345 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/braintechnology-usb-lps/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
346 | ||
347 | hw/cwav-usbeeax/fx2lafw-cwav-usbeeax.ihx: hw/cwav-usbeeax/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
348 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/cwav-usbeeax/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
349 | ||
350 | hw/cwav-usbeedx/fx2lafw-cwav-usbeedx.ihx: hw/cwav-usbeedx/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
351 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/cwav-usbeedx/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
352 | ||
353 | hw/cwav-usbeesx/fx2lafw-cwav-usbeesx.ihx: hw/cwav-usbeesx/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
354 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/cwav-usbeesx/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
355 | ||
356 | hw/cwav-usbeezx/fx2lafw-cwav-usbeezx.ihx: hw/cwav-usbeezx/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
357 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/cwav-usbeezx/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
358 | ||
359 | hw/cypress-fx2/fx2lafw-cypress-fx2.ihx: hw/cypress-fx2/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
360 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/cypress-fx2/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
361 | ||
362 | hw/saleae-logic/fx2lafw-saleae-logic.ihx: hw/saleae-logic/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
363 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/saleae-logic/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
364 | ||
365 | hw/sigrok-fx2-8ch/fx2lafw-sigrok-fx2-8ch.ihx: hw/sigrok-fx2-8ch/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
366 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/sigrok-fx2-8ch/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
367 | ||
368 | hw/sigrok-fx2-16ch/fx2lafw-sigrok-fx2-16ch.ihx: hw/sigrok-fx2-16ch/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
369 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS) -o $@ hw/sigrok-fx2-16ch/dscr.rel $(fx2lafw_objects) $(fx2lib_libs) | |
370 | ||
371 | hw/hantek-6022be/fx2lafw-hantek-6022be.ihx: hw/hantek-6022be/dscr.rel $(hantek_6022be_objects) $(fx2lib_libs) | |
372 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS_HANTEK_6022BE) -o $@ hw/hantek-6022be/dscr.rel $(hantek_6022be_objects) $(fx2lib_libs) | |
373 | ||
374 | hw/hantek-6022bl/fx2lafw-hantek-6022bl.ihx: hw/hantek-6022bl/dscr.rel $(hantek_6022bl_objects) $(fx2lib_libs) | |
375 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS_HANTEK_6022BL) -o $@ hw/hantek-6022bl/dscr.rel $(hantek_6022bl_objects) $(fx2lib_libs) | |
376 | ||
377 | hw/sainsmart-dds120/fx2lafw-sainsmart-dds120.ihx: hw/sainsmart-dds120/dscr.rel $(sainsmart_dds120_objects) $(fx2lib_libs) | |
378 | $(AM_V_GEN)$(SDCC) -mmcs51 $(SDCC_LINK_FLAGS_SAINSMART_DDS120) -o $@ hw/sainsmart-dds120/dscr.rel $(sainsmart_dds120_objects) $(fx2lib_libs) | |
379 | ||
380 | .a51.rel: | |
381 | $(SF_V_SDAS)$(SDAS8051) -glos $(as_includes) $@ $< | |
382 | ||
383 | .c.rel: | |
384 | $(SF_V_SDCC)$(SDCC) -mmcs51 $(c_includes) -c $< -o $@ | |
385 | ||
386 | if FOUND_OBJCOPY | |
387 | .ihx.fw: | |
388 | $(AM_V_GEN)$(OBJCOPY) -Iihex $< -Obinary $@ | |
389 | else | |
390 | if FOUND_MAKEBIN | |
391 | .ihx.fw: | |
392 | $(AM_V_GEN)$(MAKEBIN) -p < $< > $@ | |
393 | endif | |
394 | endif | |
395 |