mirror of
https://github.com/gbdk-2020/gbdk-2020.git
synced 2026-02-20 00:32:21 +01:00
- Works around issue where the sdld linker tries to create matching .rst files in the gbdk install dir where it finds the empty crt0.lst, causing builds to fail if the user lacks permissions for that directory
520 lines
18 KiB
Makefile
520 lines
18 KiB
Makefile
# Top level Makefile for GBDK that combines the builds for sdcc,
|
|
# gbdk-lib, and gbdk-support
|
|
#
|
|
# GBDK-2020
|
|
#
|
|
TOPDIR = $(shell pwd)
|
|
|
|
# Package name, used for tarballs
|
|
PKG = gbdk
|
|
# Version, used for tarballs & docs
|
|
VER = 4.3.0
|
|
|
|
PORTS=sm83 z80 mos6502
|
|
PLATFORMS=gb ap duck gg sms msxdos nes
|
|
|
|
# Prefix to add to the standard tools. Usefull for a standard gcc
|
|
# cross-compile.
|
|
TOOLSPREFIX =
|
|
ifeq ($(OS_TARGET),Win_x32)
|
|
TOOLSPREFIX = i686-w64-mingw32-
|
|
endif
|
|
ifeq ($(OS_TARGET),Win_x64)
|
|
TOOLSPREFIX = x86_64-w64-mingw32-
|
|
endif
|
|
|
|
TARGETCC = $(TOOLSPREFIX)gcc
|
|
TARGETRANLIB = $(TOOLSPREFIX)ranlib
|
|
TARGETAR = $(TOOLSPREFIX)ar
|
|
TARGETSTRIP = $(TOOLSPREFIX)strip
|
|
|
|
# Directory containing the source to gbdk-lib
|
|
GBDKLIBDIR = $(TOPDIR)/gbdk-lib
|
|
# Directory containing the source to gbdk-support
|
|
GBDKSUPPORTDIR = $(TOPDIR)/gbdk-support
|
|
|
|
# Directory with docs config and output (via doxygen)
|
|
GBDKDOCSDIR = $(TOPDIR)/docs
|
|
|
|
GBDKLICENSEDIR = $(TOPDIR)/licenses
|
|
|
|
# Doxygen command and version check info
|
|
DOXYGENCMD = doxygen
|
|
DOXYGEN_VER_REQ = 1.8.17
|
|
DOXYGEN_VER_HAS = $(shell doxygen -v)
|
|
|
|
|
|
# Base setup
|
|
# Extension to add to executables
|
|
EXEEXTENSION =
|
|
ifeq ($(TOOLSPREFIX),i686-w64-mingw32-)
|
|
EXEEXTENSION=.exe
|
|
endif
|
|
ifeq ($(TOOLSPREFIX),x86_64-w64-mingw32-)
|
|
EXEEXTENSION=.exe
|
|
endif
|
|
ifeq ($(OS),Windows_NT)
|
|
EXEEXTENSION=.exe
|
|
endif
|
|
# Host operating system identifier.
|
|
HOSTOS = $(shell uname -s)
|
|
# Target operating system identifier. Used in the output zip name.
|
|
TARGETOS ?= $(HOSTOS)
|
|
|
|
# Directory that gbdk should finally end up in
|
|
TARGETDIR = /opt/gbdk
|
|
# Directory that gbdk for this target is built into.
|
|
BUILDDIR = $(TOPDIR)/build/gbdk
|
|
|
|
NOISELOG = $(TOPDIR)/noise.log
|
|
|
|
all: native-build
|
|
|
|
clean: gbdk-support-clean gbdk-lib-clean
|
|
|
|
distclean: clean build-dir-clean
|
|
dist-examples-rebuild: gbdk-dist-examples-clean gbdk-dist-examples-build
|
|
|
|
docs: doxygen-generate
|
|
docspdf: doxygen-generate-with-pdf
|
|
docsclean: doxygen-clean
|
|
docsreset: doxygen-reset
|
|
docstools: docs-toolchain-generate
|
|
|
|
# Build rule for michaelh's machine to spin a release
|
|
sapphire-full-build: native-build binary cross-clean cross-linux-mingw32-build
|
|
|
|
# Cross-compilation targets
|
|
FIXUPMASKS = *.c *.h .bat *.s ChangeLog README
|
|
|
|
native-build: gbdk-build gbdk-install
|
|
|
|
cross-clean: gbdk-support-clean
|
|
|
|
cross-build: gbdk-build gbdk-install cross-cleanup
|
|
|
|
cross-cleanup:
|
|
ifdef MSDOSLINEENDS
|
|
for i in $(FIXUPMASKS); do \
|
|
find $(BUILDDIR) -name $$i -exec unix2dos {} \; ; \
|
|
done
|
|
endif
|
|
|
|
cross-linux-mingw32-build:
|
|
$(MAKE) TARGETOS=i586-mingw32msvc \
|
|
TOOLSPREFIX=i586-mingw32msvc- \
|
|
EXEEXTENSION=.exe \
|
|
CROSSCOMPILING=1 \
|
|
MSDOSLINEENDS=1 \
|
|
TARGETDIR=/sdcc \
|
|
ARCHIVETYPE=zip \
|
|
cross-build gbdk-lib-examples-makefile binary
|
|
|
|
# Source code drop
|
|
src: clean
|
|
rm -rf gbdk
|
|
mkdir -p gbdk
|
|
cp -r Makefile sdcc gbdk-lib gbdk-support gbdk
|
|
tar czf gbdk-$(VER).tar.gz gbdk
|
|
|
|
# Base rules
|
|
gbdk-build: gbdk-support-build gbdk-lib-build
|
|
|
|
gbdk-install: $(BUILDDIR)/bin gbdk-support-install gbdk-lib-install sdcc-install
|
|
|
|
# Directories
|
|
$(BUILDDIR)/bin:
|
|
@echo Creating dir $(BUILDDIR)/bin
|
|
@mkdir -p $@
|
|
|
|
build-dir-clean:
|
|
rm -r $(BUILDDIR)
|
|
|
|
# Rules for gbdk-support
|
|
gbdk-support-build:
|
|
@echo Building lcc
|
|
ifdef BINDIR
|
|
@$(MAKE) -C $(GBDKSUPPORTDIR)/lcc TOOLSPREFIX=$(TOOLSPREFIX) TARGETDIR=$(TARGETDIR)/ BINDIR=$(BINDIR)/ --no-print-directory
|
|
else
|
|
@$(MAKE) -C $(GBDKSUPPORTDIR)/lcc TOOLSPREFIX=$(TOOLSPREFIX) TARGETDIR=$(TARGETDIR)/ --no-print-directory
|
|
endif
|
|
@echo
|
|
@echo Building ihxcheck
|
|
@$(MAKE) -C $(GBDKSUPPORTDIR)/ihxcheck TOOLSPREFIX=$(TOOLSPREFIX) TARGETDIR=$(TARGETDIR)/ --no-print-directory
|
|
@echo Building bankpack
|
|
@$(MAKE) -C $(GBDKSUPPORTDIR)/bankpack TOOLSPREFIX=$(TOOLSPREFIX) TARGETDIR=$(TARGETDIR)/ --no-print-directory
|
|
@echo Building png2asset
|
|
@$(MAKE) -C $(GBDKSUPPORTDIR)/png2asset TOOLSPREFIX=$(TOOLSPREFIX)
|
|
@echo Building gbcompress
|
|
@$(MAKE) -C $(GBDKSUPPORTDIR)/gbcompress TOOLSPREFIX=$(TOOLSPREFIX) TARGETDIR=$(TARGETDIR)/ --no-print-directory
|
|
@echo Building makecom
|
|
@$(MAKE) -C $(GBDKSUPPORTDIR)/makecom TOOLSPREFIX=$(TOOLSPREFIX) TARGETDIR=$(TARGETDIR)/ --no-print-directory
|
|
@echo Building makenes
|
|
@$(MAKE) -C $(GBDKSUPPORTDIR)/makenes TOOLSPREFIX=$(TOOLSPREFIX) TARGETDIR=$(TARGETDIR)/ --no-print-directory
|
|
@echo Building makebin
|
|
@$(MAKE) -C $(GBDKSUPPORTDIR)/makebin TOOLSPREFIX=$(TOOLSPREFIX) TARGETDIR=$(TARGETDIR)/ --no-print-directory
|
|
@echo Building png2hicolorgb
|
|
@$(MAKE) -C $(GBDKSUPPORTDIR)/png2hicolorgb TOOLSPREFIX=$(TOOLSPREFIX) TARGETDIR=$(TARGETDIR)/ --no-print-directory
|
|
@echo Building romusage
|
|
@$(MAKE) -C $(GBDKSUPPORTDIR)/romusage TOOLSPREFIX=$(TOOLSPREFIX) TARGETDIR=$(TARGETDIR)/ --no-print-directory
|
|
@echo
|
|
|
|
gbdk-support-install: gbdk-support-build $(BUILDDIR)/bin
|
|
@echo Installing lcc
|
|
@cp $(GBDKSUPPORTDIR)/lcc/lcc$(EXEEXTENSION) $(BUILDDIR)/bin/lcc$(EXEEXTENSION)
|
|
@$(TARGETSTRIP) $(BUILDDIR)/bin/lcc$(EXEEXTENSION)
|
|
@echo
|
|
@echo Installing docs and licenses
|
|
@cp $(GBDKDOCSDIR)/ChangeLog $(BUILDDIR)
|
|
@cp $(GBDKDOCSDIR)/README $(BUILDDIR)
|
|
@cp $(GBDKDOCSDIR)/gbdk_manual.pdf $(BUILDDIR)
|
|
@cp $(GBDKDOCSDIR)/sdccman.pdf $(BUILDDIR)
|
|
@cp $(GBDKDOCSDIR)/asmlnk_manual.txt $(BUILDDIR)
|
|
@cp -r $(GBDKLICENSEDIR) $(BUILDDIR)
|
|
@echo
|
|
@echo Installing ihxcheck
|
|
@cp $(GBDKSUPPORTDIR)/ihxcheck/ihxcheck$(EXEEXTENSION) $(BUILDDIR)/bin/ihxcheck$(EXEEXTENSION)
|
|
@$(TARGETSTRIP) $(BUILDDIR)/bin/ihxcheck$(EXEEXTENSION)
|
|
@echo Installing bankpack
|
|
@cp $(GBDKSUPPORTDIR)/bankpack/bankpack$(EXEEXTENSION) $(BUILDDIR)/bin/bankpack$(EXEEXTENSION)
|
|
@$(TARGETSTRIP) $(BUILDDIR)/bin/bankpack$(EXEEXTENSION)
|
|
@echo Installing png2asset
|
|
@cp $(GBDKSUPPORTDIR)/png2asset/png2asset$(EXEEXTENSION) $(BUILDDIR)/bin/png2asset$(EXEEXTENSION)
|
|
@$(TARGETSTRIP) $(BUILDDIR)/bin/png2asset$(EXEEXTENSION)
|
|
@echo Installing gbcompress
|
|
@cp $(GBDKSUPPORTDIR)/gbcompress/gbcompress$(EXEEXTENSION) $(BUILDDIR)/bin/gbcompress$(EXEEXTENSION)
|
|
@$(TARGETSTRIP) $(BUILDDIR)/bin/gbcompress$(EXEEXTENSION)
|
|
@echo Installing makenes
|
|
@cp $(GBDKSUPPORTDIR)/makenes/makenes$(EXEEXTENSION) $(BUILDDIR)/bin/makenes$(EXEEXTENSION)
|
|
@echo Installing makecom
|
|
@cp $(GBDKSUPPORTDIR)/makecom/makecom$(EXEEXTENSION) $(BUILDDIR)/bin/makecom$(EXEEXTENSION)
|
|
@$(TARGETSTRIP) $(BUILDDIR)/bin/makecom$(EXEEXTENSION)
|
|
@echo Installing makebin
|
|
@cp $(GBDKSUPPORTDIR)/makebin/makebin$(EXEEXTENSION) $(BUILDDIR)/bin/makebin$(EXEEXTENSION)
|
|
@$(TARGETSTRIP) $(BUILDDIR)/bin/makebin$(EXEEXTENSION)
|
|
@echo Installing png2hicolorgb
|
|
@cp $(GBDKSUPPORTDIR)/png2hicolorgb/png2hicolorgb$(EXEEXTENSION) $(BUILDDIR)/bin/png2hicolorgb$(EXEEXTENSION)
|
|
@$(TARGETSTRIP) $(BUILDDIR)/bin/png2hicolorgb$(EXEEXTENSION)
|
|
@echo Installing romusage
|
|
@cp $(GBDKSUPPORTDIR)/romusage/romusage$(EXEEXTENSION) $(BUILDDIR)/bin/romusage$(EXEEXTENSION)
|
|
@$(TARGETSTRIP) $(BUILDDIR)/bin/romusage$(EXEEXTENSION)
|
|
@echo
|
|
|
|
gbdk-support-clean:
|
|
@echo Cleaning lcc
|
|
@$(MAKE) -C $(GBDKSUPPORTDIR)/lcc clean --no-print-directory
|
|
@echo
|
|
@echo Cleaning ihxcheck
|
|
@$(MAKE) -C $(GBDKSUPPORTDIR)/ihxcheck clean --no-print-directory
|
|
@echo Cleaning bankpack
|
|
@$(MAKE) -C $(GBDKSUPPORTDIR)/bankpack clean --no-print-directory
|
|
@echo Cleaning png2asset
|
|
@$(MAKE) -C $(GBDKSUPPORTDIR)/png2asset clean
|
|
@echo Cleaning gbcompress
|
|
@$(MAKE) -C $(GBDKSUPPORTDIR)/gbcompress clean --no-print-directory
|
|
@echo Cleaning makecom
|
|
@$(MAKE) -C $(GBDKSUPPORTDIR)/makecom clean
|
|
@echo Cleaning makebin
|
|
@$(MAKE) -C $(GBDKSUPPORTDIR)/makebin clean
|
|
@echo Cleaning png2hicolorgb
|
|
@$(MAKE) -C $(GBDKSUPPORTDIR)/png2hicolorgb clean
|
|
@echo Cleaning romusage
|
|
@$(MAKE) -C $(GBDKSUPPORTDIR)/romusage clean
|
|
@echo
|
|
|
|
# Rules for gbdk-lib
|
|
gbdk-lib-build: check-SDCCDIR
|
|
ifndef CROSSCOMPILING
|
|
@echo Building lib
|
|
@$(MAKE) -C $(GBDKLIBDIR)/libc PORTS="$(PORTS)" PLATFORMS="$(PLATFORMS)" --no-print-directory
|
|
@echo
|
|
endif
|
|
|
|
|
|
gbdk-lib-install: gbdk-lib-build
|
|
gbdk-lib-install: gbdk-lib-install-prepare
|
|
gbdk-lib-install: gbdk-lib-install-examples
|
|
gbdk-lib-install: gbdk-lib-install-ports
|
|
gbdk-lib-install: gbdk-lib-install-platforms
|
|
|
|
gbdk-lib-install-prepare:
|
|
@rm -rf $(BUILDDIR)/lib
|
|
|
|
gbdk-lib-install-ports: gbdk-lib-build
|
|
@for port in $(PORTS); do \
|
|
echo Installing lib for port: $$port; \
|
|
mkdir -p $(BUILDDIR)/lib/$$port/; \
|
|
cp $(GBDKLIBDIR)/build/$$port/$$port.lib $(BUILDDIR)/lib/$$port/$$port.lib; \
|
|
done
|
|
@echo
|
|
|
|
# The inner loop copies global.s for platforms from relevant port/platform.
|
|
# When doing that it expects a given platform to never be present in
|
|
# multiple ports since the copy destination is not port specific (lacks /$$port/ )
|
|
#
|
|
# 'touch' of empty crt0.lst was removed so .rst files do not get generated
|
|
# in the gbdk install lib folders when people build projects with -debug on.
|
|
# It caused problems when the user lacked write permissions to the gbdk install folder.
|
|
gbdk-lib-install-platforms:
|
|
@for plat in $(PLATFORMS); do \
|
|
echo Installing lib for platform: $$plat; \
|
|
mkdir -p $(BUILDDIR)/lib/$$plat; \
|
|
cp $(GBDKLIBDIR)/build/$$plat/crt0.o $(BUILDDIR)/lib/$$plat/crt0.o; \
|
|
cp $(GBDKLIBDIR)/build/$$plat/$$plat.lib $(BUILDDIR)/lib/$$plat/$$plat.lib; \
|
|
for port in $(PORTS); do \
|
|
if [ -d "$(GBDKLIBDIR)/libc/targets/$$port/$$plat" ]; then \
|
|
cp $(GBDKLIBDIR)/libc/targets/$$port/$$plat/global.s $(BUILDDIR)/lib/$$plat/global.s; \
|
|
fi \
|
|
done \
|
|
done
|
|
@echo
|
|
|
|
|
|
gbdk-lib-install-examples:
|
|
@echo Installing Examples
|
|
@cp -r $(GBDKLIBDIR)/include $(GBDKLIBDIR)/examples $(BUILDDIR)
|
|
@for plat in $(PLATFORMS); do \
|
|
if [ -d "$(BUILDDIR)/examples/$$plat" ]; then \
|
|
echo Generating Examples compile.bat for $$plat; \
|
|
$(MAKE) -C $(BUILDDIR)/examples/$$plat compile.bat --no-print-directory; \
|
|
echo; \
|
|
fi \
|
|
done
|
|
|
|
|
|
gbdk-lib-clean:
|
|
@echo Cleaning lib
|
|
@$(MAKE) -C $(GBDKLIBDIR) PORTS="$(PORTS)" PLATFORMS="$(PLATFORMS)" clean
|
|
@echo
|
|
|
|
gbdk-lib-examples-makefile:
|
|
$(MAKE) -C $(BUILDDIR)/examples/gb compile.bat
|
|
unix2dos $(BUILDDIR)/examples/gb/compile.bat
|
|
|
|
gbdk-dist-examples-build:
|
|
$(MAKE) -C $(BUILDDIR)/examples/gb
|
|
|
|
gbdk-dist-examples-clean:
|
|
$(MAKE) -C $(BUILDDIR)/examples/gb clean
|
|
|
|
|
|
# Copy SDDC executable files and DLLs
|
|
# win 32 specific: libgcc_s_dw2-1.dll
|
|
# win 64 specific: libgcc_s_seh-1.dll
|
|
SDCC_BINS = packihx sdar sdasgb sdcc sdcpp sdldgb sdnm sdobjcopy sdranlib sdasz80 sdldz80 sdas6500 sdld6808 sdld
|
|
ifeq ($(OS),Windows_NT)
|
|
|
|
# Check for 32 bit Windows target a couple different ways and select the matching SDCC DLL
|
|
WIN_TARGET = $(firstword $(subst -, ,$(shell $(TARGETCC) -dumpmachine)))
|
|
ifeq ($(OS_TARGET),Win_x32)
|
|
SDCC_OS_DLL = libgcc_s_dw2-1.dll
|
|
else ifeq ($(WIN_TARGET),mingw32)
|
|
SDCC_OS_DLL = libgcc_s_dw2-1.dll
|
|
else ifeq ($(WIN_TARGET),i686)
|
|
SDCC_OS_DLL = libgcc_s_dw2-1.dll
|
|
else
|
|
# Otherwise default 64 bit Windows SDCC DLL
|
|
SDCC_OS_DLL = libgcc_s_seh-1.dll
|
|
endif
|
|
|
|
MINGW64_RUNTIME = \
|
|
libgcc_s_sjlj-1.dll \
|
|
libstdc++-6.dll \
|
|
libwinpthread-1.dll \
|
|
readline5.dll
|
|
SDCC_BINS := $(addsuffix .exe, $(SDCC_BINS)) $(MINGW64_RUNTIME) $(SDCC_OS_DLL)
|
|
endif
|
|
|
|
sdcc-install: check-SDCCDIR
|
|
@echo Installing SDCC
|
|
@for i in $(SDCC_BINS); do \
|
|
cp $(SDCCDIR)/bin/$$i $(BUILDDIR)/bin/ && echo "-> $$i" ; \
|
|
done
|
|
@cp -r $(SDCCDIR)/libexec $(BUILDDIR) && echo "-> cc1"
|
|
|
|
# Final binary
|
|
binary:
|
|
ifeq ($(ARCHIVETYPE),zip)
|
|
rm -f $(TOPDIR)/gbdk-$(VER)-$(TARGETOS).zip
|
|
cd $(BUILDDIR)/..; zip -9Xrq $(TOPDIR)/gbdk-$(VER)-$(TARGETOS).zip gbdk
|
|
else
|
|
rm -f $(TOPDIR)/gbdk-$(VER)-$(TARGETOS).tar.gz
|
|
cd $(BUILDDIR)/..; tar czf $(TOPDIR)/gbdk-$(VER)-$(TARGETOS).tar.gz gbdk
|
|
endif
|
|
|
|
# Install
|
|
install: native-build
|
|
mkdir -p $(TARGETDIR)
|
|
cp -r $(BUILDDIR)/* $(TARGETDIR)
|
|
|
|
# Make sure SDCCDIR is populated
|
|
# Swap WIN/MSDOS slashes to Unix style for MinGW (prevent some errors with cp)
|
|
check-SDCCDIR:
|
|
ifndef SDCCDIR
|
|
$(error SDCCDIR is undefined)
|
|
endif
|
|
ifeq ($(OS),Windows_NT)
|
|
SDCCDIR := $(subst \,/,$(SDCCDIR))
|
|
endif
|
|
|
|
# First purge doxygen output directory to clear potentially stale output.
|
|
# Next change working dir so "include" is the root doxygen works in.
|
|
# That prevents it from including the path leading up to there in the
|
|
# output, even though it's instructed to only process starting at "include".
|
|
doxygen-generate:
|
|
ifeq ($(shell expr "$(DOXYGEN_VER_HAS)" \< "$(DOXYGEN_VER_REQ)"), 1)
|
|
$(error Doxygen version $(DOXYGEN_VER_HAS) is too old! Minimum version is $(DOXYGEN_VER_REQ))
|
|
endif
|
|
#Run Doxygen
|
|
rm -rf $(GBDKDOCSDIR)/api; \
|
|
cd "$(GBDKLIBDIR)/include"; \
|
|
GBDKDOCSDIR="$(GBDKDOCSDIR)" GBDKVERSION=$(VER) GBDKLIBDIR="$(GBDKLIBDIR)" GBDKBASEDIR="$(TOPDIR)" $(DOXYGENCMD) "$(GBDKDOCSDIR)/config/gbdk-2020-doxyfile"
|
|
@if [ "$(DOCS_PDF_ON)" = "YES" ]; then\
|
|
$(MAKE) -C $(GBDKDOCSDIR)/latex;\
|
|
cp $(GBDKDOCSDIR)/latex/refman.pdf $(GBDKDOCSDIR)/gbdk_manual.pdf;\
|
|
fi
|
|
rm -rf $(GBDKDOCSDIR)/latex
|
|
# Patch in improved text search for Doxygen
|
|
#
|
|
# Create a combined array of all js search terms instead of the default arrays partitioned by first-letter index
|
|
echo "var searchData = [" > $(GBDKDOCSDIR)/api/search/combined.js
|
|
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
|
|
echo "];" >> $(GBDKDOCSDIR)/api/search/combined.js
|
|
# Override JS search functions to default doxygen search
|
|
cat $(GBDKDOCSDIR)/doxygen_search_override.js >> $(GBDKDOCSDIR)/api/search/search.js
|
|
cp $(GBDKDOCSDIR)/doxygen_search_combined.html $(GBDKDOCSDIR)/api/search/combined.html
|
|
|
|
# Turn on Latex -> PDF conversion to run run at end of regular docs build
|
|
# (which includes latex output but deletes it at the end).
|
|
#
|
|
# The conversion process requires a Latex install.
|
|
# For Windows there are various Latex packages to choose from.
|
|
# For Linux this appears to be the minimum:
|
|
# sudo apt install texlive-latex-base
|
|
# sudo apt install texlive-latex-recommended
|
|
# sudo apt install texlive-latex-extra
|
|
#
|
|
doxygen-generate-with-pdf: DOCS_PDF_ON=YES
|
|
doxygen-generate-with-pdf: doxygen-generate
|
|
|
|
|
|
# Generate toolchain settings markdown file (if possible)
|
|
docs-toolchain-generate: TOOLCHAIN_DOCS_FILE=$(GBDKDOCSDIR)/pages/20_toolchain_settings.md
|
|
docs-toolchain-generate:
|
|
ifneq (,$(wildcard $(BUILDDIR)/bin/))
|
|
echo \@page docs_toolchain_settings Toolchain settings > $(TOOLCHAIN_DOCS_FILE)
|
|
# lcc
|
|
echo \@anchor lcc-settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \# lcc settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
cd "$(BUILDDIR)/bin/"; \
|
|
./lcc >> $(TOOLCHAIN_DOCS_FILE) 2>&1
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
# sdcc
|
|
echo \@anchor sdcc-settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \# sdcc settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
$(BUILDDIR)/bin/sdcc -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
# sdasgb
|
|
echo \@anchor sdasgb-settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \# sdasgb settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
$(BUILDDIR)/bin/sdasgb -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1 || true
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
# sdasz80
|
|
echo \@anchor sdasz80-settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \# sdasz80 settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
$(BUILDDIR)/bin/sdasz80 -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1 || true
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
# sdas6500
|
|
echo \@anchor sdas6500-settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \# sdas6500 settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
$(BUILDDIR)/bin/sdas6500 -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1 || true
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
# bankpack
|
|
echo \@anchor bankpack-settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \# bankpack settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
$(BUILDDIR)/bin/bankpack -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1 || true
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
# sdldgb
|
|
echo \@anchor sdldgb-settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \# sdldgb settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
$(BUILDDIR)/bin/sdldgb >> $(TOOLCHAIN_DOCS_FILE) 2>&1 || true
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
# sdldz80
|
|
echo \@anchor sdldz80-settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \# sdldz80 settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
$(BUILDDIR)/bin/sdldgb >> $(TOOLCHAIN_DOCS_FILE) 2>&1 || true
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
# sdld6808
|
|
echo \@anchor sdld6808-settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \# sdld6808 settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
$(BUILDDIR)/bin/sdldgb >> $(TOOLCHAIN_DOCS_FILE) 2>&1 || true
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
# ihxcheck
|
|
echo \@anchor ihxcheck-settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \# ihxcheck settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
$(BUILDDIR)/bin/ihxcheck -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1 || true
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
# makebin
|
|
echo \@anchor makebin-settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \# makebin settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo Also see \@ref setting_mbc_and_rom_ram_banks >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
$(BUILDDIR)/bin/makebin -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
# makecom
|
|
echo \@anchor makecom-settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \# makecom settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
$(BUILDDIR)/bin/makecom -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1 || true
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
# makenes
|
|
echo \@anchor makenes-settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \# makenes settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
$(BUILDDIR)/bin/makenes -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
# gbcompress
|
|
echo \@anchor gbcompress-settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \# gbcompress settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
$(BUILDDIR)/bin/gbcompress -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1 || true
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
# png2asset
|
|
echo \@anchor png2asset-settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \# png2asset settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
$(BUILDDIR)/bin/png2asset >> $(TOOLCHAIN_DOCS_FILE) 2>&1 || true
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE)
|
|
# png2hicolorgb
|
|
echo \@anchor png2hicolorgb-settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \# png2hicolorgb settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
$(BUILDDIR)/bin/png2hicolorgb -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE)
|
|
# romusage
|
|
echo \@anchor romusage-settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \# romusage settings >> $(TOOLCHAIN_DOCS_FILE);
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE);
|
|
$(BUILDDIR)/bin/romusage -h >> $(TOOLCHAIN_DOCS_FILE) 2>&1
|
|
echo \`\`\` >> $(TOOLCHAIN_DOCS_FILE)
|
|
endif
|
|
|
|
|
|
doxygen-clean:
|
|
rm -rf $(GBDKDOCSDIR)/api
|
|
|
|
doxygen-reset:
|
|
rm -rf $(GBDKDOCSDIR)/api
|
|
git checkout $(GBDKDOCSDIR)/api
|
|
|