gbdk-2020 | GameBoy Development Kit |
| download: https://git.y1.nz/archives/gbdk.tar.gz | |
| README | Files | Log | Refs | LICENSE |
Makefile
1 # Top level Makefile for GBDK that combines the builds for sdcc,
2 # gbdk-lib, and gbdk-support
3 #
4 # GBDK-2020
5 #
6 TOPDIR = $(shell pwd)
7
8 # Package name, used for tarballs
9 PKG = gbdk
10 # Version, used for tarballs & docs
11 VER = 4.5.0
12
13 PORTS=sm83 z80 mos6502
14 PLATFORMS=gb ap duck gg sms msxdos nes
15 EXAMPLE_DIRS=$(PLATFORMS)
16 EXAMPLE_DIRS+= cross-platform megaduck
17
18 # Prefix to add to the standard tools. Usefull for a standard gcc
19 # cross-compile.
20 TOOLSPREFIX =
21 ifeq ($(OS_TARGET),Win_x32)
22 TOOLSPREFIX = i686-w64-mingw32-
23 endif
24 ifeq ($(OS_TARGET),Win_x64)
25 TOOLSPREFIX = x86_64-w64-mingw32-
26 endif
27
28 TARGETCC = $(TOOLSPREFIX)gcc
29 TARGETRANLIB = $(TOOLSPREFIX)ranlib
30 TARGETAR = $(TOOLSPREFIX)ar
31 TARGETSTRIP = $(TOOLSPREFIX)strip
32
33 # Directory containing the source to gbdk-lib
34 GBDKLIBDIR = $(TOPDIR)/gbdk-lib
35 # Directory containing the source to gbdk-support
36 GBDKSUPPORTDIR = $(TOPDIR)/gbdk-support
37
38 # Directory with docs config and output (via doxygen)
39 GBDKDOCSDIR = $(TOPDIR)/docs
40
41 GBDKLICENSEDIR = $(TOPDIR)/licenses
42
43 # Doxygen command and version check info
44 # Allow overriding doxygen with local explicit path
45 ifndef DOXYGENCMD
46 DOXYGENCMD = doxygen
47 endif
48 DOXYGEN_VER_REQ = 1.9.2
49 DOXYGEN_VER_HAS = $(shell $(DOXYGENCMD) -v)
50
51
52 # Base setup
53 # Extension to add to executables
54 EXEEXTENSION =
55 ifeq ($(TOOLSPREFIX),i686-w64-mingw32-)
56 EXEEXTENSION=.exe
57 endif
58 ifeq ($(TOOLSPREFIX),x86_64-w64-mingw32-)
59 EXEEXTENSION=.exe
60 endif
61 ifeq ($(OS),Windows_NT)
62 EXEEXTENSION=.exe
63 endif
64 # Host operating system identifier.
65 HOSTOS = $(shell uname -s)
66 # Target operating system identifier. Used in the output zip name.
67 TARGETOS ?= $(HOSTOS)
68
69 # Directory that gbdk should finally end up in
70 TARGETDIR = /opt/gbdk
71 # Directory that gbdk for this target is built into.
72 BUILDDIR = $(TOPDIR)/build/gbdk
73
74 NOISELOG = $(TOPDIR)/noise.log
75
76 all: native-build
77
78 clean: gbdk-support-clean gbdk-lib-clean
79
80 distclean: clean build-dir-clean
81 dist-examples-rebuild: gbdk-dist-examples-clean gbdk-dist-examples-build
82
83 docs: doxygen-generate
84 docspdf: doxygen-generate-with-pdf
85 docsclean: doxygen-clean
86 docsreset: doxygen-reset
87 docstools: docs-toolchain-generate
88
89 # Build rule for michaelh's machine to spin a release
90 sapphire-full-build: native-build binary cross-clean cross-linux-mingw32-build
91
92 # Cross-compilation targets
93 FIXUPMASKS = *.c *.h .bat *.s ChangeLog README
94
95 native-build: gbdk-build gbdk-install
96
97 cross-clean: gbdk-support-clean
98
99 cross-build: gbdk-build gbdk-install cross-cleanup
100
101 cross-cleanup:
102 ifdef MSDOSLINEENDS
103 for i in $(FIXUPMASKS); do \
104 find $(BUILDDIR) -name $$i -exec unix2dos {} \; ; \
105 done
106 endif
107
108 cross-linux-mingw32-build:
109 $(MAKE) TARGETOS=i586-mingw32msvc \
110 TOOLSPREFIX=i586-mingw32msvc- \
111 EXEEXTENSION=.exe \
112 CROSSCOMPILING=1 \
113 MSDOSLINEENDS=1 \
114 TARGETDIR=/sdcc \
115 ARCHIVETYPE=zip \
116 cross-build gbdk-lib-examples-makefile binary
117
118 # Source code drop
119 src: clean
120 rm -rf gbdk
121 mkdir -p gbdk
122 cp -r Makefile sdcc gbdk-lib gbdk-support gbdk
123 tar czf gbdk-$(VER).tar.gz gbdk
124
125 # Base rules
126 gbdk-build: gbdk-support-build gbdk-lib-build
127
128 gbdk-install: $(BUILDDIR)/bin gbdk-support-install gbdk-lib-install sdcc-install
129
130 # Directories
131 $(BUILDDIR)/bin:
132 @echo Creating dir $(BUILDDIR)/bin
133 @mkdir -p $@
134
135 build-dir-clean:
136 rm -r $(BUILDDIR)
137
138 # Rules for gbdk-support
139 gbdk-support-build:
140 @echo Building lcc
141 ifdef BINDIR
142 @$(MAKE) -C $(GBDKSUPPORTDIR)/lcc TOOLSPREFIX=$(TOOLSPREFIX) TARGETDIR=$(TARGETDIR)/ BINDIR=$(BINDIR)/ --no-print-directory
143 else
144 @$(MAKE) -C $(GBDKSUPPORTDIR)/lcc TOOLSPREFIX=$(TOOLSPREFIX) TARGETDIR=$(TARGETDIR)/ --no-print-directory
145 endif
146 @echo
147 @echo Building ihxcheck
148 @$(MAKE) -C $(GBDKSUPPORTDIR)/ihxcheck TOOLSPREFIX=$(TOOLSPREFIX) TARGETDIR=$(TARGETDIR)/ --no-print-directory
149 @echo Building bankpack
150 @$(MAKE) -C $(GBDKSUPPORTDIR)/bankpack TOOLSPREFIX=$(TOOLSPREFIX) TARGETDIR=$(TARGETDIR)/ --no-print-directory
151 @echo Building png2asset
152 @$(MAKE) -C $(GBDKSUPPORTDIR)/png2asset TOOLSPREFIX=$(TOOLSPREFIX)
153 @echo Building gbcompress
154 @$(MAKE) -C $(GBDKSUPPORTDIR)/gbcompress TOOLSPREFIX=$(TOOLSPREFIX) TARGETDIR=$(TARGETDIR)/ --no-print-directory
155 @echo Building makecom
156 @$(MAKE) -C $(GBDKSUPPORTDIR)/makecom TOOLSPREFIX=$(TOOLSPREFIX) TARGETDIR=$(TARGETDIR)/ --no-print-directory
157 @echo Building makenes
158 @$(MAKE) -C $(GBDKSUPPORTDIR)/makenes TOOLSPREFIX=$(TOOLSPREFIX) TARGETDIR=$(TARGETDIR)/ --no-print-directory
159 @echo Building makebin
160 @$(MAKE) -C $(GBDKSUPPORTDIR)/makebin TOOLSPREFIX=$(TOOLSPREFIX) TARGETDIR=$(TARGETDIR)/ --no-print-directory
161 @echo Building png2hicolorgb
162 @$(MAKE) -C $(GBDKSUPPORTDIR)/png2hicolorgb TOOLSPREFIX=$(TOOLSPREFIX) TARGETDIR=$(TARGETDIR)/ --no-print-directory
163 @echo Building romusage
164 @$(MAKE) -C $(GBDKSUPPORTDIR)/romusage TOOLSPREFIX=$(TOOLSPREFIX) TARGETDIR=$(TARGETDIR)/ --no-print-directory
165 @echo
166
167 gbdk-support-install: gbdk-support-build $(BUILDDIR)/bin
168 @echo Installing lcc
169 @cp $(GBDKSUPPORTDIR)/lcc/lcc$(EXEEXTENSION) $(BUILDDIR)/bin/lcc$(EXEEXTENSION)
170 @$(TARGETSTRIP) $(BUILDDIR)/bin/lcc$(EXEEXTENSION)
171 @echo
172 @echo Installing docs and licenses
173 @cp $(GBDKDOCSDIR)/ChangeLog $(BUILDDIR)
174 @cp $(GBDKDOCSDIR)/README $(BUILDDIR)
175 @cp $(GBDKDOCSDIR)/gbdk_manual.pdf $(BUILDDIR)
176 @cp $(GBDKDOCSDIR)/sdccman.pdf $(BUILDDIR)
177 @cp $(GBDKDOCSDIR)/asmlnk_manual.txt $(BUILDDIR)
178 @cp -r $(GBDKLICENSEDIR) $(BUILDDIR)
179 @echo
180 @echo Installing ihxcheck
181 @cp $(GBDKSUPPORTDIR)/ihxcheck/ihxcheck$(EXEEXTENSION) $(BUILDDIR)/bin/ihxcheck$(EXEEXTENSION)
182 @$(TARGETSTRIP) $(BUILDDIR)/bin/ihxcheck$(EXEEXTENSION)
183 @echo Installing bankpack
184 @cp $(GBDKSUPPORTDIR)/bankpack/bankpack$(EXEEXTENSION) $(BUILDDIR)/bin/bankpack$(EXEEXTENSION)
185 @$(TARGETSTRIP) $(BUILDDIR)/bin/bankpack$(EXEEXTENSION)
186 @echo Installing png2asset
187 @cp $(GBDKSUPPORTDIR)/png2asset/png2asset$(EXEEXTENSION) $(BUILDDIR)/bin/png2asset$(EXEEXTENSION)
188 @$(TARGETSTRIP) $(BUILDDIR)/bin/png2asset$(EXEEXTENSION)
189 @echo Installing gbcompress
190 @cp $(GBDKSUPPORTDIR)/gbcompress/gbcompress$(EXEEXTENSION) $(BUILDDIR)/bin/gbcompress$(EXEEXTENSION)
191 @$(TARGETSTRIP) $(BUILDDIR)/bin/gbcompress$(EXEEXTENSION)
192 @echo Installing makenes
193 @cp $(GBDKSUPPORTDIR)/makenes/makenes$(EXEEXTENSION) $(BUILDDIR)/bin/makenes$(EXEEXTENSION)
194 @echo Installing makecom
195 @cp $(GBDKSUPPORTDIR)/makecom/makecom$(EXEEXTENSION) $(BUILDDIR)/bin/makecom$(EXEEXTENSION)
196 @$(TARGETSTRIP) $(BUILDDIR)/bin/makecom$(EXEEXTENSION)
197 @echo Installing makebin
198 @cp $(GBDKSUPPORTDIR)/makebin/makebin$(EXEEXTENSION) $(BUILDDIR)/bin/makebin$(EXEEXTENSION)
199 @$(TARGETSTRIP) $(BUILDDIR)/bin/makebin$(EXEEXTENSION)
200 @echo Installing png2hicolorgb
201 @cp $(GBDKSUPPORTDIR)/png2hicolorgb/png2hicolorgb$(EXEEXTENSION) $(BUILDDIR)/bin/png2hicolorgb$(EXEEXTENSION)
202 @$(TARGETSTRIP) $(BUILDDIR)/bin/png2hicolorgb$(EXEEXTENSION)
203 @echo Installing romusage
204 @cp $(GBDKSUPPORTDIR)/romusage/romusage$(EXEEXTENSION) $(BUILDDIR)/bin/romusage$(EXEEXTENSION)
205 @$(TARGETSTRIP) $(BUILDDIR)/bin/romusage$(EXEEXTENSION)
206 @echo
207
208 gbdk-support-clean:
209 @echo Cleaning lcc
210 @$(MAKE) -C $(GBDKSUPPORTDIR)/lcc clean --no-print-directory
211 @echo
212 @echo Cleaning ihxcheck
213 @$(MAKE) -C $(GBDKSUPPORTDIR)/ihxcheck clean --no-print-directory
214 @echo Cleaning bankpack
215 @$(MAKE) -C $(GBDKSUPPORTDIR)/bankpack clean --no-print-directory
216 @echo Cleaning png2asset
217 @$(MAKE) -C $(GBDKSUPPORTDIR)/png2asset clean
218 @echo Cleaning gbcompress
219 @$(MAKE) -C $(GBDKSUPPORTDIR)/gbcompress clean --no-print-directory
220 @echo Cleaning makecom
221 @$(MAKE) -C $(GBDKSUPPORTDIR)/makecom clean
222 @echo Cleaning makebin
223 @$(MAKE) -C $(GBDKSUPPORTDIR)/makebin clean
224 @echo Cleaning png2hicolorgb
225 @$(MAKE) -C $(GBDKSUPPORTDIR)/png2hicolorgb clean
226 @echo Cleaning romusage
227 @$(MAKE) -C $(GBDKSUPPORTDIR)/romusage clean
228 @echo
229
230 # Rules for gbdk-lib
231 gbdk-lib-build: check-SDCCDIR
232 ifndef CROSSCOMPILING
233 @echo Building lib
234 @$(MAKE) -C $(GBDKLIBDIR)/libc PORTS="$(PORTS)" PLATFORMS="$(PLATFORMS)" --no-print-directory
235 @echo
236 endif
237
238
239 gbdk-lib-install: gbdk-lib-build
240 gbdk-lib-install: gbdk-lib-install-prepare
241 gbdk-lib-install: gbdk-lib-install-examples
242 gbdk-lib-install: gbdk-lib-install-ports
243 gbdk-lib-install: gbdk-lib-install-platforms
244
245 gbdk-lib-install-prepare:
246 @rm -rf $(BUILDDIR)/lib
247
248 gbdk-lib-install-ports: gbdk-lib-build
249 @for port in $(PORTS); do \
250 echo Installing lib for port: $$port; \
251 mkdir -p $(BUILDDIR)/lib/$$port/; \
252 cp $(GBDKLIBDIR)/build/$$port/$$port.lib $(BUILDDIR)/lib/$$port/$$port.lib; \
253 done
254 @echo
255
256 # The inner loop copies global.s for platforms from relevant port/platform.
257 # When doing that it expects a given platform to never be present in
258 # multiple ports since the copy destination is not port specific (lacks /$$port/ )
259 #
260 # 'touch' of empty crt0.lst was removed so .rst files do not get generated
261 # in the gbdk install lib folders when people build projects with -debug on.
262 # It caused problems when the user lacked write permissions to the gbdk install folder.
263 gbdk-lib-install-platforms:
264 @for plat in $(PLATFORMS); do \
265 echo Installing lib for platform: $$plat; \
266 mkdir -p $(BUILDDIR)/lib/$$plat; \
267 cp $(GBDKLIBDIR)/build/$$plat/crt0.o $(BUILDDIR)/lib/$$plat/crt0.o; \
268 cp $(GBDKLIBDIR)/build/$$plat/$$plat.lib $(BUILDDIR)/lib/$$plat/$$plat.lib; \
269 for port in $(PORTS); do \
270 if [ -d "$(GBDKLIBDIR)/libc/targets/$$port/$$plat" ]; then \
271 cp $(GBDKLIBDIR)/libc/targets/$$port/$$plat/global.s $(BUILDDIR)/lib/$$plat/global.s; \
272 if [ -f "$(GBDKLIBDIR)/libc/targets/$$port/$$plat/platform_cfg.s" ]; then \
273 cp $(GBDKLIBDIR)/libc/targets/$$port/$$plat/platform_cfg.s $(BUILDDIR)/lib/$$plat/platform_cfg.s; \
274 fi \
275 fi \
276 done \
277 done
278 @echo
279
280
281 gbdk-lib-install-examples:
282 @echo Installing Examples
283 @cp -r $(GBDKLIBDIR)/include $(GBDKLIBDIR)/examples $(BUILDDIR)
284 @for example_dir in $(EXAMPLE_DIRS); do \
285 if [ -d "$(BUILDDIR)/examples/$$example_dir" ]; then \
286 echo Generating Examples compile.bat for $$example_dir; \
287 $(MAKE) -C $(BUILDDIR)/examples/$$example_dir compile.bat --no-print-directory; \
288 echo; \
289 fi \
290 done
291
292
293 gbdk-lib-clean:
294 @echo Cleaning lib
295 @$(MAKE) -C $(GBDKLIBDIR) PORTS="$(PORTS)" PLATFORMS="$(PLATFORMS)" clean
296 @echo
297
298 gbdk-lib-examples-makefile:
299 $(MAKE) -C $(BUILDDIR)/examples/gb compile.bat
300 unix2dos $(BUILDDIR)/examples/gb/compile.bat
301
302 gbdk-dist-examples-build:
303 $(MAKE) -C $(BUILDDIR)/examples/gb
304
305 gbdk-dist-examples-clean:
306 $(MAKE) -C $(BUILDDIR)/examples/gb clean
307
308
309 # Copy SDDC executable files and DLLs
310 # win 32 specific: libgcc_s_dw2-1.dll
311 # win 64 specific: libgcc_s_seh-1.dll
312 SDCC_BINS = packihx sdar sdasgb sdcc sdcpp sdldgb sdnm sdobjcopy sdranlib sdasz80 sdldz80 sdas6500 sdld6808 sdld
313 ifeq ($(OS),Windows_NT)
314
315 # Check for 32 bit Windows target a couple different ways and select the matching SDCC DLL
316 WIN_TARGET = $(firstword $(subst -, ,$(shell $(TARGETCC) -dumpmachine)))
317 ifeq ($(OS_TARGET),Win_x32)
318 SDCC_OS_DLL = libgcc_s_dw2-1.dll
319 else ifeq ($(WIN_TARGET),mingw32)
320 SDCC_OS_DLL = libgcc_s_dw2-1.dll
321 else ifeq ($(WIN_TARGET),i686)
322 SDCC_OS_DLL = libgcc_s_dw2-1.dll
323 else
324 # Otherwise default 64 bit Windows SDCC DLL
325 SDCC_OS_DLL = libgcc_s_seh-1.dll
326 endif
327
328 MINGW64_RUNTIME = \
329 libgcc_s_sjlj-1.dll \
330 libstdc++-6.dll \
331 libwinpthread-1.dll \
332 readline5.dll
333 SDCC_BINS := $(addsuffix .exe, $(SDCC_BINS)) $(MINGW64_RUNTIME) $(SDCC_OS_DLL)
334 endif
335
336 sdcc-install: check-SDCCDIR
337 @echo Installing SDCC
338 @for i in $(SDCC_BINS); do \
339 cp $(SDCCDIR)/bin/$$i $(BUILDDIR)/bin/ && echo "-> $$i" ; \
340 done
341 @cp -r $(SDCCDIR)/libexec $(BUILDDIR) && echo "-> cc1"
342
343 # Final binary
344 binary:
345 ifeq ($(ARCHIVETYPE),zip)
346 rm -f $(TOPDIR)/gbdk-$(VER)-$(TARGETOS).zip
347 cd $(BUILDDIR)/..; zip -9Xrq $(TOPDIR)/gbdk-$(VER)-$(TARGETOS).zip gbdk
348 else
349 rm -f $(TOPDIR)/gbdk-$(VER)-$(TARGETOS).tar.gz
350 cd $(BUILDDIR)/..; tar czf $(TOPDIR)/gbdk-$(VER)-$(TARGETOS).tar.gz gbdk
351 endif
352
353 # Install
354 install: native-build
355 mkdir -p $(TARGETDIR)
356 cp -r $(BUILDDIR)/* $(TARGETDIR)
357
358 # Make sure SDCCDIR is populated
359 # Swap WIN/MSDOS slashes to Unix style for MinGW (prevent some errors with cp)
360 check-SDCCDIR:
361 ifndef SDCCDIR
362 $(error SDCCDIR is undefined)
363 endif
364 ifeq ($(OS),Windows_NT)
365 SDCCDIR := $(subst \,/,$(SDCCDIR))
366 endif
367
368 # First purge doxygen output directory to clear potentially stale output.
369 # Next change working dir so "include" is the root doxygen works in.
370 # That prevents it from including the path leading up to there in the
371 # output, even though it's instructed to only process starting at "include".
372 doxygen-generate:
373 ifeq ($(shell expr "$(DOXYGEN_VER_HAS)" \< "$(DOXYGEN_VER_REQ)"), 1)
374 $(error Doxygen version $(DOXYGEN_VER_HAS) is too old! Minimum version is $(DOXYGEN_VER_REQ))
375 endif
376 #Run Doxygen
377 rm -rf $(GBDKDOCSDIR)/api; \
378 cd "$(GBDKLIBDIR)/include"; \
379 GBDKDOCSDIR="$(GBDKDOCSDIR)" GBDKVERSION=$(VER) GBDKLIBDIR="$(GBDKLIBDIR)" GBDKBASEDIR="$(TOPDIR)" $(DOXYGENCMD) "$(GBDKDOCSDIR)/config/gbdk-2020-doxyfile"
380 @if [ "$(DOCS_PDF_ON)" = "YES" ]; then\
381 $(MAKE) -C $(GBDKDOCSDIR)/latex;\
382 cp $(GBDKDOCSDIR)/latex/refman.pdf $(GBDKDOCSDIR)/gbdk_manual.pdf;\
383 fi
384 rm -rf $(GBDKDOCSDIR)/latex
385 # Patch in improved text search for Doxygen
386 #
387 # Create a combined array of all js search terms instead of the default arrays partitioned by first-letter index
388 echo "var searchData = [" > $(GBDKDOCSDIR)/api/search/combined.js
389 cat $(GBDKDOCSDIR)/api/search/all*.js | sed -e "s/var.*searchData.*//" | sed -e "s/^\[//" | sed -e "s/^\]\;//" | sed -e "s/\]\]\].*/\]\]\],/" >> $(GBDKDOCSDIR)/api/search/combined.js
390 echo "];" >> $(GBDKDOCSDIR)/api/search/combined.js
391 # Override JS search functions to default doxygen search
392 cat $(GBDKDOCSDIR)/doxygen_search_override.js >> $(GBDKDOCSDIR)/api/search/search.js
393 cp $(GBDKDOCSDIR)/doxygen_search_combined.html $(GBDKDOCSDIR)/api/search/combined.html
394
395 # Turn on Latex -> PDF conversion to run run at end of regular docs build
396 # (which includes latex output but deletes it at the end).
397 #
398 # The conversion process requires a Latex install.
399 # For Windows there are various Latex packages to choose from.
400 # For Linux this appears to be the minimum:
401 # sudo apt install texlive-latex-base
402 # sudo apt install texlive-latex-recommended
403 # sudo apt install texlive-latex-extra
404 #
405 doxygen-generate-with-pdf: DOCS_PDF_ON=YES
406 doxygen-generate-with-pdf: doxygen-generate
407
408
409 # Generate toolchain settings markdown file (if possible)
410 docs-toolchain-generate: TOOLCHAIN_DOCS_FILE=$(GBDKDOCSDIR)/pages/20_toolchain_settings.md
411 docs-toolchain-generate:
412 ifneq (,$(wildcard $(BUILDDIR)/bin/))
413 echo \@page docs_toolchain_settings Toolchain settings > $(TOOLCHAIN_DOCS_FILE)
414 # lcc
415 echo \@anchor lcc-settings >> $(TOOLCHAIN_DOCS_FILE);
416 echo \# lcc settings >> $(TOOLCHAIN_DOCS_FILE);
417 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
418 cd "$(BUILDDIR)/bin/"; \
419 ./lcc >> $(TOOLCHAIN_DOCS_FILE) 2>&1
420 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
421 # sdcc
422 echo \@anchor sdcc-settings >> $(TOOLCHAIN_DOCS_FILE);
423 echo \# sdcc settings >> $(TOOLCHAIN_DOCS_FILE);
424 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
425 $(BUILDDIR)/bin/sdcc -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1
426 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
427 # sdasgb
428 echo \@anchor sdasgb-settings >> $(TOOLCHAIN_DOCS_FILE);
429 echo \# sdasgb settings >> $(TOOLCHAIN_DOCS_FILE);
430 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
431 $(BUILDDIR)/bin/sdasgb -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1 || true
432 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
433 # sdasz80
434 echo \@anchor sdasz80-settings >> $(TOOLCHAIN_DOCS_FILE);
435 echo \# sdasz80 settings >> $(TOOLCHAIN_DOCS_FILE);
436 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
437 $(BUILDDIR)/bin/sdasz80 -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1 || true
438 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
439 # sdas6500
440 echo \@anchor sdas6500-settings >> $(TOOLCHAIN_DOCS_FILE);
441 echo \# sdas6500 settings >> $(TOOLCHAIN_DOCS_FILE);
442 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
443 $(BUILDDIR)/bin/sdas6500 -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1 || true
444 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
445 # bankpack
446 echo \@anchor bankpack-settings >> $(TOOLCHAIN_DOCS_FILE);
447 echo \# bankpack settings >> $(TOOLCHAIN_DOCS_FILE);
448 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
449 $(BUILDDIR)/bin/bankpack -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1 || true
450 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
451 # sdldgb
452 echo \@anchor sdldgb-settings >> $(TOOLCHAIN_DOCS_FILE);
453 echo \# sdldgb settings >> $(TOOLCHAIN_DOCS_FILE);
454 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
455 $(BUILDDIR)/bin/sdldgb >> $(TOOLCHAIN_DOCS_FILE) 2>&1 || true
456 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
457 # sdldz80
458 echo \@anchor sdldz80-settings >> $(TOOLCHAIN_DOCS_FILE);
459 echo \# sdldz80 settings >> $(TOOLCHAIN_DOCS_FILE);
460 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
461 $(BUILDDIR)/bin/sdldgb >> $(TOOLCHAIN_DOCS_FILE) 2>&1 || true
462 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
463 # sdld6808
464 echo \@anchor sdld6808-settings >> $(TOOLCHAIN_DOCS_FILE);
465 echo \# sdld6808 settings >> $(TOOLCHAIN_DOCS_FILE);
466 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
467 $(BUILDDIR)/bin/sdldgb >> $(TOOLCHAIN_DOCS_FILE) 2>&1 || true
468 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
469 # ihxcheck
470 echo \@anchor ihxcheck-settings >> $(TOOLCHAIN_DOCS_FILE);
471 echo \# ihxcheck settings >> $(TOOLCHAIN_DOCS_FILE);
472 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
473 $(BUILDDIR)/bin/ihxcheck -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1 || true
474 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
475 # makebin
476 echo \@anchor makebin-settings >> $(TOOLCHAIN_DOCS_FILE);
477 echo \# makebin settings >> $(TOOLCHAIN_DOCS_FILE);
478 echo Also see \@ref setting_mbc_and_rom_ram_banks >> $(TOOLCHAIN_DOCS_FILE);
479 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
480 $(BUILDDIR)/bin/makebin -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1
481 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
482 # makecom
483 echo \@anchor makecom-settings >> $(TOOLCHAIN_DOCS_FILE);
484 echo \# makecom settings >> $(TOOLCHAIN_DOCS_FILE);
485 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
486 $(BUILDDIR)/bin/makecom -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1 || true
487 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
488 # makenes
489 echo \@anchor makenes-settings >> $(TOOLCHAIN_DOCS_FILE);
490 echo \# makenes settings >> $(TOOLCHAIN_DOCS_FILE);
491 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
492 $(BUILDDIR)/bin/makenes -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1
493 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
494 # gbcompress
495 echo \@anchor gbcompress-settings >> $(TOOLCHAIN_DOCS_FILE);
496 echo \# gbcompress settings >> $(TOOLCHAIN_DOCS_FILE);
497 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
498 $(BUILDDIR)/bin/gbcompress -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1 || true
499 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
500 # png2asset
501 echo \@anchor png2asset-settings >> $(TOOLCHAIN_DOCS_FILE);
502 echo \# png2asset settings >> $(TOOLCHAIN_DOCS_FILE);
503 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
504 $(BUILDDIR)/bin/png2asset >> $(TOOLCHAIN_DOCS_FILE) 2>&1 || true
505 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE)
506 # png2hicolorgb
507 echo \@anchor png2hicolorgb-settings >> $(TOOLCHAIN_DOCS_FILE);
508 echo \# png2hicolorgb settings >> $(TOOLCHAIN_DOCS_FILE);
509 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
510 $(BUILDDIR)/bin/png2hicolorgb -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1
511 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE)
512 # romusage
513 echo \@anchor romusage-settings >> $(TOOLCHAIN_DOCS_FILE);
514 echo \# romusage settings >> $(TOOLCHAIN_DOCS_FILE);
515 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
516 $(BUILDDIR)/bin/romusage -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1
517 echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE)
518 endif
519
520
521 doxygen-clean:
522 rm -rf $(GBDKDOCSDIR)/api
523
524 doxygen-reset:
525 rm -rf $(GBDKDOCSDIR)/api
526 git checkout $(GBDKDOCSDIR)/api
527
This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.