mirror of https://github.com/zxdos/zxuno.git
sdk/src/Makefile: divided into smaller individual files
This commit is contained in:
parent
d8e514db6c
commit
4b215ee998
526
sdk/src/Makefile
526
sdk/src/Makefile
|
|
@ -65,532 +65,18 @@ ifeq ($(OS),Windows_NT)
|
|||
endif
|
||||
endif # $(OS)==Windows_NT
|
||||
|
||||
# sjasmplus
|
||||
|
||||
.PHONY: $(foreach a,build install uninstall clean distclean,$(a)-sjasmplus)
|
||||
|
||||
.downloads\
|
||||
.downloads/sjasmplus\
|
||||
.downloads/sjasmplus-z00m128\
|
||||
.downloads/z88dk\
|
||||
$(DESTDIR)$(bindir):
|
||||
mkdir -p $@
|
||||
|
||||
ifeq ($(USE_SJASMPLUS_VERSION),sjasmplus)
|
||||
|
||||
ifeq ($(_DoBuild),1)
|
||||
|
||||
SJASMPLUS_ARCHIVE = .downloads/sjasmplus/20190306.1.tar.gz
|
||||
SJASMPLUS_ARCHIVE_SHA256 = f3f6d28af19880ed2cb427b6b427e9bd42371929c7d263dac840fb71de1302d6
|
||||
SJASMPLUS_ARCHIVE_TYPE = .tar.gz
|
||||
SJASMPLUS_ARCHIVE_SUBDIR = sjasmplus-20190306.1
|
||||
|
||||
build-sjasmplus: | sjasmplus/.extracted sjasmplus.mk
|
||||
$(MAKE) -w -C sjasmplus -f ../sjasmplus.mk prefix=$(shell realpath --relative-to=sjasmplus $(prefix))
|
||||
|
||||
sjasmplus/.extracted: $(SJASMPLUS_ARCHIVE)
|
||||
echo '$(SJASMPLUS_SHA256) $<' >$<.sha256
|
||||
sha256sum -c $<.sha256
|
||||
rm -f $<.sha256
|
||||
rm -rf $(@D)
|
||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || rm -rf $(SJASMPLUS_ARCHIVE_SUBDIR)
|
||||
ifeq ($(SJASMPLUS_ARCHIVE_TYPE),.tar.gz)
|
||||
ifeq ($(SJASMPLUS_ARCHIVE_SUBDIR),.)
|
||||
$(error Not implemented)
|
||||
else
|
||||
tar -xzf $<
|
||||
endif
|
||||
else
|
||||
$(error Not implemented)
|
||||
endif
|
||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || mv $(SJASMPLUS_ARCHIVE_SUBDIR) $(@D)
|
||||
touch $@
|
||||
|
||||
.downloads/sjasmplus/20190306.1.tar.gz: | .downloads/sjasmplus
|
||||
wget -c https://github.com/sjasmplus/sjasmplus/archive/refs/tags/$(@F) -O $@
|
||||
|
||||
install-sjasmplus: | sjasmplus/.extracted sjasmplus.mk
|
||||
$(MAKE) -w -C sjasmplus -f ../sjasmplus.mk prefix=$(shell realpath --relative-to=sjasmplus $(prefix)) install
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
uninstall-sjasmplus: | sjasmplus.mk
|
||||
if test -d sjasmplus; then\
|
||||
$(MAKE) -w -C sjasmplus -f ../sjasmplus.mk prefix=$(shell realpath --relative-to=sjasmplus $(prefix)) uninstall;\
|
||||
else\
|
||||
rm -f $(DESTDIR)$(bindir)/sjasmplus$(EXESUFFIX);\
|
||||
fi
|
||||
|
||||
clean-sjasmplus: | sjasmplus.mk
|
||||
if test -d sjasmplus; then $(MAKE) -w -C sjasmplus -f ../sjasmplus.mk clean; fi
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
uninstall-sjasmplus clean-sjasmplus:;
|
||||
|
||||
endif # !_DoClean
|
||||
endif # _DoBuild
|
||||
|
||||
ifeq ($(_UsePrecompiledOnWindows),1)
|
||||
|
||||
build-sjasmplus: sjasmplus/sjasmplus$(EXESUFFIX)
|
||||
|
||||
sjasmplus/sjasmplus$(EXESUFFIX): | sjasmplus/.extracted
|
||||
|
||||
ifeq ($(PROCESSOR_ARCHITECTURE),X86)
|
||||
SJASMPLUS_ARCHIVE = .downloads/sjasmplus/sjasmplus-win32-20190306.1.7z
|
||||
SJASMPLUS_ARCHIVE_SHA256 = c84731640930afc4f4cc3c0f30f891916b9b77d63dc0e4cfdcd226682b8545b1
|
||||
SJASMPLUS_ARCHIVE_TYPE = .7z
|
||||
SJASMPLUS_ARCHIVE_SUBDIR = .
|
||||
else ifeq ($(PROCESSOR_ARCHITECTURE),AMD64)
|
||||
SJASMPLUS_ARCHIVE = .downloads/sjasmplus/sjasmplus-win64-20190306.1.7z
|
||||
SJASMPLUS_ARCHIVE_SHA256 = ef352b50ce7c9e9971c6fc3143e378d3e9f4069f11eb0c33022195c6e9b34fcb
|
||||
SJASMPLUS_ARCHIVE_TYPE = .7z
|
||||
SJASMPLUS_ARCHIVE_SUBDIR = .
|
||||
else ifeq ($(PROCESSOR_ARCHITECTURE),EM64T)
|
||||
SJASMPLUS_ARCHIVE = .downloads/sjasmplus/sjasmplus-win64-20190306.1.7z
|
||||
SJASMPLUS_ARCHIVE_SHA256 = ef352b50ce7c9e9971c6fc3143e378d3e9f4069f11eb0c33022195c6e9b34fcb
|
||||
SJASMPLUS_ARCHIVE_TYPE = .7z
|
||||
SJASMPLUS_ARCHIVE_SUBDIR = .
|
||||
else
|
||||
$(warning Unsupported platform: "$(PROCESSOR_ARCHITECTURE)")
|
||||
SJASMPLUS_ARCHIVE = .downloads/sjasmplus/sjasmplus-win32-20190306.1.7z
|
||||
SJASMPLUS_ARCHIVE_SHA256 = c84731640930afc4f4cc3c0f30f891916b9b77d63dc0e4cfdcd226682b8545b1
|
||||
SJASMPLUS_ARCHIVE_TYPE = .7z
|
||||
SJASMPLUS_ARCHIVE_SUBDIR = .
|
||||
endif
|
||||
|
||||
sjasmplus/.extracted: $(SJASMPLUS_ARCHIVE)
|
||||
echo '$(SJASMPLUS_ARCHIVE_SHA256) $<' >$<.sha256
|
||||
sha256sum -c $<.sha256
|
||||
rm -f $<.sha256
|
||||
rm -rf $(@D)
|
||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || rm -rf $(SJASMPLUS_ARCHIVE_SUBDIR)
|
||||
ifeq ($(SJASMPLUS_ARCHIVE_TYPE),.7z)
|
||||
ifeq ($(SJASMPLUS_ARCHIVE_SUBDIR),.)
|
||||
7z x -bd -o$(@D) $<
|
||||
else
|
||||
7z x -bd $<
|
||||
endif
|
||||
else
|
||||
$(error Not implemented)
|
||||
endif
|
||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || mv $(SJASMPLUS_ARCHIVE_SUBDIR) $(@D)
|
||||
touch $@
|
||||
|
||||
.downloads/sjasmplus/sjasmplus-win32-20190306.1.7z: | .downloads/sjasmplus
|
||||
wget -c https://github.com/sjasmplus/sjasmplus/releases/download/20190306.1/$(@F) -O $@
|
||||
|
||||
.downloads/sjasmplus/sjasmplus-win64-20190306.1.7z: | .downloads/sjasmplus
|
||||
wget -c https://github.com/sjasmplus/sjasmplus/releases/download/20190306.1/$(@F) -O $@
|
||||
|
||||
install-sjasmplus: $(DESTDIR)$(bindir)/sjasmplus$(EXESUFFIX)
|
||||
|
||||
$(DESTDIR)$(bindir)/sjasmplus$(EXESUFFIX): sjasmplus/sjasmplus$(EXESUFFIX) | $(DESTDIR)$(bindir)
|
||||
$(INSTALL_PROGRAM) $< $@
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
uninstall-sjasmplus:
|
||||
rm -f $(DESTDIR)$(bindir)/sjasmplus$(EXESUFFIX)
|
||||
|
||||
clean-sjasmplus:
|
||||
rm -rf sjasmplus
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
uninstall-sjasmplus clean-sjasmplus:;
|
||||
|
||||
endif # !_DoClean
|
||||
endif # _UsePrecompiledOnWindows
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
distclean-sjasmplus: clean-sjasmplus
|
||||
rm -rf .downloads/sjasmplus
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
distclean-sjasmplus:;
|
||||
|
||||
endif # !_DoClean
|
||||
|
||||
include sjasmplus.inc.mk
|
||||
else ifeq ($(USE_SJASMPLUS_VERSION),z00m128)
|
||||
|
||||
ifeq ($(_DoBuild),1)
|
||||
|
||||
SJASMPLUS_ARCHIVE = .downloads/sjasmplus-z00m128/v1.18.2.tar.gz
|
||||
SJASMPLUS_ARCHIVE_SHA256 = 114807bf53d3526b4d1ae7d40f3050b9ee98220df74931efc1e6d1fe5aba3d02
|
||||
SJASMPLUS_ARCHIVE_TYPE = .tar.gz
|
||||
SJASMPLUS_ARCHIVE_SUBDIR = sjasmplus-1.18.2
|
||||
|
||||
build-sjasmplus: | sjasmplus-z00m128/.extracted sjasmplus-z00m128.mk
|
||||
$(MAKE) -w -C sjasmplus -f ../sjasmplus-z00m128.mk prefix=$(shell realpath --relative-to=sjasmplus-z00m128 $(prefix))
|
||||
|
||||
sjasmplus-z00m128/.extracted: $(SJASMPLUS_ARCHIVE)
|
||||
echo '$(SJASMPLUS_ARCHIVE_SHA256) $<' >$<.sha256
|
||||
sha256sum -c $<.sha256
|
||||
rm -f $<.sha256
|
||||
rm -rf $(@D)
|
||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || rm -rf $(SJASMPLUS_ARCHIVE_SUBDIR)
|
||||
ifeq ($(SJASMPLUS_ARCHIVE_TYPE),.tar.gz)
|
||||
ifeq ($(SJASMPLUS_ARCHIVE_SUBDIR),.)
|
||||
$(error Not implemented)
|
||||
else
|
||||
tar -xzf $<
|
||||
endif
|
||||
include sjasmplus-z00m128.inc.mk
|
||||
else
|
||||
$(error Not implemented)
|
||||
endif
|
||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || mv $(SJASMPLUS_ARCHIVE_SUBDIR) $(@D)
|
||||
touch $@
|
||||
|
||||
.downloads/sjasmplus-z00m128/v1.18.2.tar.gz: | .downloads/sjasmplus-z00m128
|
||||
wget -c https://github.com/z00m128/sjasmplus/archive/refs/tags/$(@F) -O $@
|
||||
|
||||
install-sjasmplus: | sjasmplus-z00m128/.extracted sjasmplus-z00m128.mk
|
||||
$(MAKE) -w -C sjasmplus-z00m128 -f ../sjasmplus-z00m128.mk prefix=$(shell realpath --relative-to=sjasmplus-z00m128 $(prefix)) install
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
uninstall-sjasmplus: | sjasmplus-z00m128.mk
|
||||
if test -d sjasmplus-z00m128; then\
|
||||
$(MAKE) -w -C sjasmplus-z00m128 -f ../sjasmplus-z00m128.mk prefix=$(shell realpath --relative-to=sjasmplus-z00m128 $(prefix)) uninstall;\
|
||||
else\
|
||||
rm -f $(DESTDIR)$(bindir)/sjasmplus$(EXESUFFIX);\
|
||||
fi
|
||||
|
||||
clean-sjasmplus: | sjasmplus-z00m128.mk
|
||||
if test -d sjasmplus-z00m128; then $(MAKE) -w -C sjasmplus-z00m128 -f ../sjasmplus-z00m128.mk clean; fi
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
uninstall-sjasmplus clean-sjasmplus:;
|
||||
|
||||
endif # !_DoClean
|
||||
endif # _DoBuild
|
||||
|
||||
ifeq ($(_UsePrecompiledOnWindows),1)
|
||||
|
||||
build-sjasmplus: sjasmplus-z00m128/sjasmplus$(EXESUFFIX)
|
||||
|
||||
sjasmplus-z00m128/sjasmplus$(EXESUFFIX): | sjasmplus-z00m128/.extracted
|
||||
|
||||
ifeq ($(PROCESSOR_ARCHITECTURE),X86)
|
||||
else ifeq ($(PROCESSOR_ARCHITECTURE),AMD64)
|
||||
else ifeq ($(PROCESSOR_ARCHITECTURE),EM64T)
|
||||
else
|
||||
$(warning Unsupported platform: "$(PROCESSOR_ARCHITECTURE)")
|
||||
$(error Unknown SJAsmPlus version selected: `$(USE_SJASMPLUS_VERSION)')
|
||||
endif
|
||||
|
||||
SJASMPLUS_ARCHIVE = .downloads/sjasmplus-z00m128/sjasmplus-1.18.2.win.zip
|
||||
SJASMPLUS_ARCHIVE_SHA256 = 848bca2522d6febbf3e3c48c634731ecd61899166f5922ed15857e8063c3dc4b
|
||||
SJASMPLUS_ARCHIVE_TYPE = .zip
|
||||
SJASMPLUS_ARCHIVE_SUBDIR = sjasmplus-1.18.2.win
|
||||
|
||||
sjasmplus-z00m128/.extracted: $(SJASMPLUS_ARCHIVE)
|
||||
echo '$(SJASMPLUS_ARCHIVE_SHA256) $<' >$<.sha256
|
||||
sha256sum -c $<.sha256
|
||||
rm -f $<.sha256
|
||||
rm -rf $(@D)
|
||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || rm -rf $(SJASMPLUS_ARCHIVE_SUBDIR)
|
||||
ifeq ($(SJASMPLUS_ARCHIVE_TYPE),.zip)
|
||||
ifeq ($(SJASMPLUS_ARCHIVE_SUBDIR),.)
|
||||
unzip -nq -d $(@D) $<
|
||||
else
|
||||
unzip -nq $<
|
||||
endif
|
||||
else
|
||||
$(error Not implemented)
|
||||
endif
|
||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || mv $(SJASMPLUS_ARCHIVE_SUBDIR) $(@D)
|
||||
touch $@
|
||||
|
||||
.downloads/sjasmplus-z00m128/sjasmplus-1.18.2.win.zip: | .downloads/sjasmplus-z00m128
|
||||
wget -c https://github.com/z00m128/sjasmplus/releases/download/v1.18.2/$(@F) -O $@
|
||||
|
||||
install-sjasmplus: $(DESTDIR)$(bindir)/sjasmplus$(EXESUFFIX)
|
||||
|
||||
$(DESTDIR)$(bindir)/sjasmplus$(EXESUFFIX): sjasmplus-z00m128/sjasmplus$(EXESUFFIX) | $(DESTDIR)$(bindir)
|
||||
$(INSTALL_PROGRAM) $< $@
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
uninstall-sjasmplus:
|
||||
rm -f $(DESTDIR)$(bindir)/sjasmplus$(EXESUFFIX)
|
||||
|
||||
clean-sjasmplus:
|
||||
rm -rf sjasmplus-z00m128
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
uninstall-sjasmplus clean-sjasmplus:;
|
||||
|
||||
endif # !_DoClean
|
||||
endif # _UsePrecompiledOnWindows
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
distclean-sjasmplus:
|
||||
rm -rf\
|
||||
.downloads/sjasmplus-z00m128\
|
||||
sjasmplus-z00m128
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
distclean-sjasmplus:;
|
||||
|
||||
endif # !_DoClean
|
||||
|
||||
else
|
||||
$(error Unknown SJAsmPlus version selected: `$(USE_SJASMPLUS_VERSION)')
|
||||
endif
|
||||
|
||||
# z88dk
|
||||
|
||||
.PHONY: $(foreach a,build install uninstall clean distclean,$(a)-z88dk)
|
||||
|
||||
Z88DK_BINS:=\
|
||||
asmpp.pl\
|
||||
sccz80$(EXESUFFIX)\
|
||||
z80asm$(EXESUFFIX)\
|
||||
z88dk-appmake$(EXESUFFIX)\
|
||||
z88dk-basck$(EXESUFFIX)\
|
||||
z88dk-copt$(EXESUFFIX)\
|
||||
z88dk-dis$(EXESUFFIX)\
|
||||
z88dk-dzx7$(EXESUFFIX)\
|
||||
z88dk-font2pv1000$(EXESUFFIX)\
|
||||
z88dk-lib$(EXESUFFIX)\
|
||||
z88dk-ticks$(EXESUFFIX)\
|
||||
z88dk-ucpp$(EXESUFFIX)\
|
||||
z88dk-z80asm$(EXESUFFIX)\
|
||||
z88dk-z80nm$(EXESUFFIX)\
|
||||
z88dk-z80svg$(EXESUFFIX)\
|
||||
z88dk-zcpp$(EXESUFFIX)\
|
||||
z88dk-zobjcopy$(EXESUFFIX)\
|
||||
z88dk-zpragma$(EXESUFFIX)\
|
||||
z88dk-zx7$(EXESUFFIX)\
|
||||
zcc$(EXESUFFIX)
|
||||
|
||||
build-z88dk install-z88dk: z88dk/.done
|
||||
|
||||
ifeq ($(_DoBuild),1)
|
||||
|
||||
Z88DK_ARCHIVE = .downloads/z88dk/z88dk-src-2.1.tgz
|
||||
Z88DK_ARCHIVE_SHA256 = f3579ee59b4af552721173165af38223b115ccb67179e79d2f3c0ae64338dc7c
|
||||
Z88DK_ARCHIVE_TYPE = .tar.gz
|
||||
Z88DK_ARCHIVE_SUBDIR = z88dk
|
||||
|
||||
# Force Win32 build for Windows
|
||||
ifeq ($(OS),Windows_NT)
|
||||
export CC=i686-w64-mingw32-gcc
|
||||
endif
|
||||
|
||||
z88dk/.done: | z88dk/.extracted z88dk.mk
|
||||
$(MAKE) -w -C z88dk -f ../z88dk.mk
|
||||
cd z88dk/bin && test x $(patsubst %,-a -x %,$(Z88DK_BINS))
|
||||
touch $@
|
||||
|
||||
z88dk/.extracted: $(Z88DK_ARCHIVE) | z88dk.patch
|
||||
echo '$(Z88DK_ARCHIVE_SHA256) $<' >$<.sha256
|
||||
sha256sum -c $<.sha256
|
||||
rm -f $<.sha256
|
||||
rm -rf $(@D)
|
||||
test '$(@D)' = '$(Z88DK_ARCHIVE_SUBDIR)' -o '$(Z88DK_ARCHIVE_SUBDIR)' = . || rm -rf $(Z88DK_ARCHIVE_SUBDIR)
|
||||
ifeq ($(Z88DK_ARCHIVE_TYPE),.tar.gz)
|
||||
ifeq ($(Z88DK_ARCHIVE_SUBDIR),.)
|
||||
$(error Not implemented)
|
||||
else
|
||||
tar -xzf $<
|
||||
endif
|
||||
else
|
||||
$(error Not implemented)
|
||||
endif
|
||||
test '$(@D)' = '$(Z88DK_ARCHIVE_SUBDIR)' -o '$(Z88DK_ARCHIVE_SUBDIR)' = . || mv $(Z88DK_ARCHIVE_SUBDIR) $(@D)
|
||||
patch -N -p0 -s <$| || true
|
||||
touch $@
|
||||
|
||||
.downloads/z88dk/z88dk-src-2.1.tgz: | .downloads/z88dk
|
||||
wget -c https://github.com/z88dk/z88dk/releases/download/v2.1/$(@F) -O $@
|
||||
|
||||
uninstall-z88dk:;
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
# This does not work:
|
||||
#clean-z88dk: | z88dk.mk
|
||||
# if test -d z88dk; then $(MAKE) -w -C z88dk -f ../z88dk.mk clean && rm -f z88dk/.done; fi
|
||||
clean-z88dk:
|
||||
rm -rf z88dk
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
clean-z88dk:;
|
||||
|
||||
endif # !_DoClean
|
||||
endif # _DoBuild
|
||||
|
||||
ifeq ($(_UsePrecompiledOnWindows),1)
|
||||
|
||||
ifeq ($(PROCESSOR_ARCHITECTURE),X86)
|
||||
else ifeq ($(PROCESSOR_ARCHITECTURE),AMD64)
|
||||
else ifeq ($(PROCESSOR_ARCHITECTURE),EM64T)
|
||||
else
|
||||
$(warning Unsupported platform: "$(PROCESSOR_ARCHITECTURE)")
|
||||
endif
|
||||
|
||||
Z88DK_ARCHIVE = .downloads/z88dk/z88dk-win32-2.1.zip
|
||||
Z88DK_ARCHIVE_SHA256 = f4abedfae429ea159e388b5c76758ace4dcb86e9a00dbd928862b0a30f6874d6
|
||||
Z88DK_ARCHIVE_TYPE = .zip
|
||||
Z88DK_ARCHIVE_SUBDIR = z88dk
|
||||
|
||||
z88dk/.done: $(Z88DK_ARCHIVE)
|
||||
echo '$(Z88DK_ARCHIVE_SHA256) $<' >$<.sha256
|
||||
sha256sum -c $<.sha256
|
||||
rm -f $<.sha256
|
||||
rm -rf $(@D)
|
||||
test '$(@D)' = '$(Z88DK_ARCHIVE_SUBDIR)' -o '$(Z88DK_ARCHIVE_SUBDIR)' = . || rm -rf $(Z88DK_ARCHIVE_SUBDIR)
|
||||
ifeq ($(Z88DK_ARCHIVE_TYPE),.zip)
|
||||
ifeq ($(Z88DK_ARCHIVE_SUBDIR),.)
|
||||
unzip -nq -d $(@D) $<
|
||||
else
|
||||
unzip -nq $<
|
||||
endif
|
||||
else
|
||||
$(error Not implemented)
|
||||
endif
|
||||
test '$(@D)' = '$(Z88DK_ARCHIVE_SUBDIR)' -o '$(Z88DK_ARCHIVE_SUBDIR)' = . || mv $(Z88DK_ARCHIVE_SUBDIR) $(@D)
|
||||
touch $@
|
||||
|
||||
.downloads/z88dk/z88dk-win32-2.1.zip: | .downloads/z88dk
|
||||
wget -c https://github.com/z88dk/z88dk/releases/download/v2.1/$(@F) -O $@
|
||||
|
||||
uninstall-z88dk:;
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
clean-z88dk:
|
||||
rm -rf z88dk
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
clean-z88dk:;
|
||||
|
||||
endif # !_DoClean
|
||||
endif # _UsePrecompiledOnWindows
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
distclean-z88dk: clean-z88dk
|
||||
rm -rf .downloads/z88dk
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
distclean-z88dk:;
|
||||
|
||||
endif # !_DoClean
|
||||
|
||||
# lodepng
|
||||
|
||||
.PHONY: $(foreach a,build install uninstall clean distclean,$(a)-lodepng)
|
||||
|
||||
ifeq ($(_DoBuild),1)
|
||||
|
||||
build-lodepng: | lodepng
|
||||
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix))
|
||||
|
||||
install-lodepng: | lodepng
|
||||
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix)) install
|
||||
|
||||
else # !_DoBuild
|
||||
|
||||
build-lodepng install-lodepng:;
|
||||
|
||||
endif # !_DoBuild
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
uninstall-lodepng: | lodepng
|
||||
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix)) uninstall
|
||||
|
||||
clean-lodepng: | lodepng
|
||||
$(MAKE) -w -C $| clean
|
||||
|
||||
distclean-lodepng: | lodepng
|
||||
$(MAKE) -w -C $| distclean
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
uninstall-lodepng clean-lodepng distclean-lodepng:;
|
||||
|
||||
endif # !_DoClean
|
||||
|
||||
# zx7b
|
||||
|
||||
.PHONY: $(foreach a,build install uninstall clean distclean,$(a)-zx7b)
|
||||
|
||||
ifeq ($(_DoBuild),1)
|
||||
|
||||
build-zx7b: | zx7b
|
||||
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix))
|
||||
|
||||
install-zx7b: | zx7b
|
||||
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix)) install
|
||||
|
||||
else # !_DoBuild
|
||||
|
||||
build-zx7b install-zx7b:;
|
||||
|
||||
endif # !_DoBuild
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
uninstall-zx7b: | zx7b
|
||||
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix)) uninstall
|
||||
|
||||
clean-zx7b: | zx7b
|
||||
$(MAKE) -w -C $| clean
|
||||
|
||||
distclean-zx7b: | zx7b
|
||||
$(MAKE) -w -C $| distclean
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
uninstall-zx7b clean-zx7b distclean-zx7b:;
|
||||
|
||||
endif # !_DoClean
|
||||
|
||||
# tools
|
||||
|
||||
.PHONY: $(foreach a,build install uninstall clean distclean,$(a)-tools)
|
||||
|
||||
ifeq ($(_DoBuild),1)
|
||||
|
||||
build-tools: | tools
|
||||
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix))
|
||||
|
||||
install-tools: | tools
|
||||
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix)) install
|
||||
|
||||
else # !_DoBuild
|
||||
|
||||
build-tools install-tools:;
|
||||
|
||||
endif # !_DoBuild
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
uninstall-tools: | tools
|
||||
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix)) uninstall
|
||||
|
||||
clean-tools: | tools
|
||||
$(MAKE) -w -C $| clean
|
||||
|
||||
distclean-tools: | tools
|
||||
$(MAKE) -w -C $| distclean
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
uninstall-tools clean-tools distclean-tools:;
|
||||
|
||||
endif # !_DoClean
|
||||
include z88dk.inc.mk
|
||||
include lodepng.inc.mk
|
||||
include tools.inc.mk
|
||||
|
|
|
|||
|
|
@ -0,0 +1,75 @@
|
|||
# lodepng.inc.mk - script to build LodePNG.
|
||||
#
|
||||
# This file is a part of main Makefile.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2021 Ivan Tatarinov <ivan-tat@ya.ru>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
.PHONY: $(foreach t,build install uninstall clean distclean,$(t)-lodepng)
|
||||
|
||||
ifeq ($(_DoBuild),1)
|
||||
|
||||
build-lodepng: | lodepng
|
||||
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix))
|
||||
|
||||
install-lodepng: | lodepng
|
||||
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix)) install
|
||||
|
||||
else # !_DoBuild
|
||||
|
||||
build-lodepng install-lodepng:;
|
||||
|
||||
endif # !_DoBuild
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
uninstall-lodepng: | lodepng
|
||||
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix)) uninstall
|
||||
|
||||
clean-lodepng: | lodepng
|
||||
$(MAKE) -w -C $| clean
|
||||
|
||||
distclean-lodepng: | lodepng
|
||||
$(MAKE) -w -C $| distclean
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
uninstall-lodepng clean-lodepng distclean-lodepng:;
|
||||
|
||||
endif # !_DoClean
|
||||
|
||||
# zx7b
|
||||
|
||||
.PHONY: $(foreach a,build install uninstall clean distclean,$(a)-zx7b)
|
||||
|
||||
ifeq ($(_DoBuild),1)
|
||||
|
||||
build-zx7b: | zx7b
|
||||
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix))
|
||||
|
||||
install-zx7b: | zx7b
|
||||
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix)) install
|
||||
|
||||
else # !_DoBuild
|
||||
|
||||
build-zx7b install-zx7b:;
|
||||
|
||||
endif # !_DoBuild
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
uninstall-zx7b: | zx7b
|
||||
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix)) uninstall
|
||||
|
||||
clean-zx7b: | zx7b
|
||||
$(MAKE) -w -C $| clean
|
||||
|
||||
distclean-zx7b: | zx7b
|
||||
$(MAKE) -w -C $| distclean
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
uninstall-zx7b clean-zx7b distclean-zx7b:;
|
||||
|
||||
endif # !_DoClean
|
||||
|
|
@ -0,0 +1,137 @@
|
|||
# sjasmplus-z00m128.inc.mk - script to download and build SJAsmPlus by aprisobal.
|
||||
#
|
||||
# This file is a part of main Makefile.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2021 Ivan Tatarinov <ivan-tat@ya.ru>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
.downloads/sjasmplus-z00m128:
|
||||
mkdir -p $@
|
||||
|
||||
.PHONY: $(foreach t,build install uninstall clean distclean,$(t)-sjasmplus)
|
||||
|
||||
ifeq ($(_DoBuild),1)
|
||||
|
||||
SJASMPLUS_ARCHIVE = .downloads/sjasmplus-z00m128/v1.18.2.tar.gz
|
||||
SJASMPLUS_ARCHIVE_SHA256 = 114807bf53d3526b4d1ae7d40f3050b9ee98220df74931efc1e6d1fe5aba3d02
|
||||
SJASMPLUS_ARCHIVE_TYPE = .tar.gz
|
||||
SJASMPLUS_ARCHIVE_SUBDIR = sjasmplus-1.18.2
|
||||
|
||||
build-sjasmplus: | sjasmplus-z00m128/.extracted sjasmplus-z00m128.mk
|
||||
$(MAKE) -w -C sjasmplus -f ../sjasmplus-z00m128.mk prefix=$(shell realpath --relative-to=sjasmplus-z00m128 $(prefix))
|
||||
|
||||
sjasmplus-z00m128/.extracted: $(SJASMPLUS_ARCHIVE)
|
||||
echo '$(SJASMPLUS_ARCHIVE_SHA256) $<' >$<.sha256
|
||||
sha256sum -c $<.sha256
|
||||
rm -f $<.sha256
|
||||
rm -rf $(@D)
|
||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || rm -rf $(SJASMPLUS_ARCHIVE_SUBDIR)
|
||||
ifeq ($(SJASMPLUS_ARCHIVE_TYPE),.tar.gz)
|
||||
ifeq ($(SJASMPLUS_ARCHIVE_SUBDIR),.)
|
||||
$(error Not implemented)
|
||||
else
|
||||
tar -xzf $<
|
||||
endif
|
||||
else
|
||||
$(error Not implemented)
|
||||
endif
|
||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || mv $(SJASMPLUS_ARCHIVE_SUBDIR) $(@D)
|
||||
touch $@
|
||||
|
||||
.downloads/sjasmplus-z00m128/v1.18.2.tar.gz: | .downloads/sjasmplus-z00m128
|
||||
wget -c https://github.com/z00m128/sjasmplus/archive/refs/tags/$(@F) -O $@
|
||||
|
||||
install-sjasmplus: | sjasmplus-z00m128/.extracted sjasmplus-z00m128.mk
|
||||
$(MAKE) -w -C sjasmplus-z00m128 -f ../sjasmplus-z00m128.mk prefix=$(shell realpath --relative-to=sjasmplus-z00m128 $(prefix)) install
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
uninstall-sjasmplus: | sjasmplus-z00m128.mk
|
||||
if test -d sjasmplus-z00m128; then\
|
||||
$(MAKE) -w -C sjasmplus-z00m128 -f ../sjasmplus-z00m128.mk prefix=$(shell realpath --relative-to=sjasmplus-z00m128 $(prefix)) uninstall;\
|
||||
else\
|
||||
rm -f $(DESTDIR)$(bindir)/sjasmplus$(EXESUFFIX);\
|
||||
fi
|
||||
|
||||
clean-sjasmplus: | sjasmplus-z00m128.mk
|
||||
if test -d sjasmplus-z00m128; then $(MAKE) -w -C sjasmplus-z00m128 -f ../sjasmplus-z00m128.mk clean; fi
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
uninstall-sjasmplus clean-sjasmplus:;
|
||||
|
||||
endif # !_DoClean
|
||||
endif # _DoBuild
|
||||
|
||||
ifeq ($(_UsePrecompiledOnWindows),1)
|
||||
|
||||
build-sjasmplus: sjasmplus-z00m128/sjasmplus$(EXESUFFIX)
|
||||
|
||||
sjasmplus-z00m128/sjasmplus$(EXESUFFIX): | sjasmplus-z00m128/.extracted
|
||||
|
||||
ifeq ($(PROCESSOR_ARCHITECTURE),X86)
|
||||
else ifeq ($(PROCESSOR_ARCHITECTURE),AMD64)
|
||||
else ifeq ($(PROCESSOR_ARCHITECTURE),EM64T)
|
||||
else
|
||||
$(warning Unsupported platform: "$(PROCESSOR_ARCHITECTURE)")
|
||||
endif
|
||||
|
||||
SJASMPLUS_ARCHIVE = .downloads/sjasmplus-z00m128/sjasmplus-1.18.2.win.zip
|
||||
SJASMPLUS_ARCHIVE_SHA256 = 848bca2522d6febbf3e3c48c634731ecd61899166f5922ed15857e8063c3dc4b
|
||||
SJASMPLUS_ARCHIVE_TYPE = .zip
|
||||
SJASMPLUS_ARCHIVE_SUBDIR = sjasmplus-1.18.2.win
|
||||
|
||||
sjasmplus-z00m128/.extracted: $(SJASMPLUS_ARCHIVE)
|
||||
echo '$(SJASMPLUS_ARCHIVE_SHA256) $<' >$<.sha256
|
||||
sha256sum -c $<.sha256
|
||||
rm -f $<.sha256
|
||||
rm -rf $(@D)
|
||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || rm -rf $(SJASMPLUS_ARCHIVE_SUBDIR)
|
||||
ifeq ($(SJASMPLUS_ARCHIVE_TYPE),.zip)
|
||||
ifeq ($(SJASMPLUS_ARCHIVE_SUBDIR),.)
|
||||
unzip -nq -d $(@D) $<
|
||||
else
|
||||
unzip -nq $<
|
||||
endif
|
||||
else
|
||||
$(error Not implemented)
|
||||
endif
|
||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || mv $(SJASMPLUS_ARCHIVE_SUBDIR) $(@D)
|
||||
touch $@
|
||||
|
||||
.downloads/sjasmplus-z00m128/sjasmplus-1.18.2.win.zip: | .downloads/sjasmplus-z00m128
|
||||
wget -c https://github.com/z00m128/sjasmplus/releases/download/v1.18.2/$(@F) -O $@
|
||||
|
||||
install-sjasmplus: $(DESTDIR)$(bindir)/sjasmplus$(EXESUFFIX)
|
||||
|
||||
$(DESTDIR)$(bindir)/sjasmplus$(EXESUFFIX): sjasmplus-z00m128/sjasmplus$(EXESUFFIX) | $(DESTDIR)$(bindir)
|
||||
$(INSTALL_PROGRAM) $< $@
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
uninstall-sjasmplus:
|
||||
rm -f $(DESTDIR)$(bindir)/sjasmplus$(EXESUFFIX)
|
||||
|
||||
clean-sjasmplus:
|
||||
rm -rf sjasmplus-z00m128
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
uninstall-sjasmplus clean-sjasmplus:;
|
||||
|
||||
endif # !_DoClean
|
||||
endif # _UsePrecompiledOnWindows
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
distclean-sjasmplus:
|
||||
rm -rf\
|
||||
.downloads/sjasmplus-z00m128\
|
||||
sjasmplus-z00m128
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
distclean-sjasmplus:;
|
||||
|
||||
endif # !_DoClean
|
||||
|
|
@ -0,0 +1,149 @@
|
|||
# sjasmplus.inc.mk - script to download and build original SJAsmPlus.
|
||||
#
|
||||
# This file is a part of main Makefile.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2021 Ivan Tatarinov <ivan-tat@ya.ru>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
.downloads/sjasmplus:
|
||||
mkdir -p $@
|
||||
|
||||
.PHONY: $(foreach t,build install uninstall clean distclean,$(t)-sjasmplus)
|
||||
|
||||
ifeq ($(_DoBuild),1)
|
||||
|
||||
SJASMPLUS_ARCHIVE = .downloads/sjasmplus/20190306.1.tar.gz
|
||||
SJASMPLUS_ARCHIVE_SHA256 = f3f6d28af19880ed2cb427b6b427e9bd42371929c7d263dac840fb71de1302d6
|
||||
SJASMPLUS_ARCHIVE_TYPE = .tar.gz
|
||||
SJASMPLUS_ARCHIVE_SUBDIR = sjasmplus-20190306.1
|
||||
|
||||
build-sjasmplus: | sjasmplus/.extracted sjasmplus.mk
|
||||
$(MAKE) -w -C sjasmplus -f ../sjasmplus.mk prefix=$(shell realpath --relative-to=sjasmplus $(prefix))
|
||||
|
||||
sjasmplus/.extracted: $(SJASMPLUS_ARCHIVE)
|
||||
echo '$(SJASMPLUS_SHA256) $<' >$<.sha256
|
||||
sha256sum -c $<.sha256
|
||||
rm -f $<.sha256
|
||||
rm -rf $(@D)
|
||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || rm -rf $(SJASMPLUS_ARCHIVE_SUBDIR)
|
||||
ifeq ($(SJASMPLUS_ARCHIVE_TYPE),.tar.gz)
|
||||
ifeq ($(SJASMPLUS_ARCHIVE_SUBDIR),.)
|
||||
$(error Not implemented)
|
||||
else
|
||||
tar -xzf $<
|
||||
endif
|
||||
else
|
||||
$(error Not implemented)
|
||||
endif
|
||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || mv $(SJASMPLUS_ARCHIVE_SUBDIR) $(@D)
|
||||
touch $@
|
||||
|
||||
.downloads/sjasmplus/20190306.1.tar.gz: | .downloads/sjasmplus
|
||||
wget -c https://github.com/sjasmplus/sjasmplus/archive/refs/tags/$(@F) -O $@
|
||||
|
||||
install-sjasmplus: | sjasmplus/.extracted sjasmplus.mk
|
||||
$(MAKE) -w -C sjasmplus -f ../sjasmplus.mk prefix=$(shell realpath --relative-to=sjasmplus $(prefix)) install
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
uninstall-sjasmplus: | sjasmplus.mk
|
||||
if test -d sjasmplus; then\
|
||||
$(MAKE) -w -C sjasmplus -f ../sjasmplus.mk prefix=$(shell realpath --relative-to=sjasmplus $(prefix)) uninstall;\
|
||||
else\
|
||||
rm -f $(DESTDIR)$(bindir)/sjasmplus$(EXESUFFIX);\
|
||||
fi
|
||||
|
||||
clean-sjasmplus: | sjasmplus.mk
|
||||
if test -d sjasmplus; then $(MAKE) -w -C sjasmplus -f ../sjasmplus.mk clean; fi
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
uninstall-sjasmplus clean-sjasmplus:;
|
||||
|
||||
endif # !_DoClean
|
||||
endif # _DoBuild
|
||||
|
||||
ifeq ($(_UsePrecompiledOnWindows),1)
|
||||
|
||||
build-sjasmplus: sjasmplus/sjasmplus$(EXESUFFIX)
|
||||
|
||||
sjasmplus/sjasmplus$(EXESUFFIX): | sjasmplus/.extracted
|
||||
|
||||
ifeq ($(PROCESSOR_ARCHITECTURE),X86)
|
||||
SJASMPLUS_ARCHIVE = .downloads/sjasmplus/sjasmplus-win32-20190306.1.7z
|
||||
SJASMPLUS_ARCHIVE_SHA256 = c84731640930afc4f4cc3c0f30f891916b9b77d63dc0e4cfdcd226682b8545b1
|
||||
SJASMPLUS_ARCHIVE_TYPE = .7z
|
||||
SJASMPLUS_ARCHIVE_SUBDIR = .
|
||||
else ifeq ($(PROCESSOR_ARCHITECTURE),AMD64)
|
||||
SJASMPLUS_ARCHIVE = .downloads/sjasmplus/sjasmplus-win64-20190306.1.7z
|
||||
SJASMPLUS_ARCHIVE_SHA256 = ef352b50ce7c9e9971c6fc3143e378d3e9f4069f11eb0c33022195c6e9b34fcb
|
||||
SJASMPLUS_ARCHIVE_TYPE = .7z
|
||||
SJASMPLUS_ARCHIVE_SUBDIR = .
|
||||
else ifeq ($(PROCESSOR_ARCHITECTURE),EM64T)
|
||||
SJASMPLUS_ARCHIVE = .downloads/sjasmplus/sjasmplus-win64-20190306.1.7z
|
||||
SJASMPLUS_ARCHIVE_SHA256 = ef352b50ce7c9e9971c6fc3143e378d3e9f4069f11eb0c33022195c6e9b34fcb
|
||||
SJASMPLUS_ARCHIVE_TYPE = .7z
|
||||
SJASMPLUS_ARCHIVE_SUBDIR = .
|
||||
else
|
||||
$(warning Unsupported platform: "$(PROCESSOR_ARCHITECTURE)")
|
||||
SJASMPLUS_ARCHIVE = .downloads/sjasmplus/sjasmplus-win32-20190306.1.7z
|
||||
SJASMPLUS_ARCHIVE_SHA256 = c84731640930afc4f4cc3c0f30f891916b9b77d63dc0e4cfdcd226682b8545b1
|
||||
SJASMPLUS_ARCHIVE_TYPE = .7z
|
||||
SJASMPLUS_ARCHIVE_SUBDIR = .
|
||||
endif
|
||||
|
||||
sjasmplus/.extracted: $(SJASMPLUS_ARCHIVE)
|
||||
echo '$(SJASMPLUS_ARCHIVE_SHA256) $<' >$<.sha256
|
||||
sha256sum -c $<.sha256
|
||||
rm -f $<.sha256
|
||||
rm -rf $(@D)
|
||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || rm -rf $(SJASMPLUS_ARCHIVE_SUBDIR)
|
||||
ifeq ($(SJASMPLUS_ARCHIVE_TYPE),.7z)
|
||||
ifeq ($(SJASMPLUS_ARCHIVE_SUBDIR),.)
|
||||
7z x -bd -o$(@D) $<
|
||||
else
|
||||
7z x -bd $<
|
||||
endif
|
||||
else
|
||||
$(error Not implemented)
|
||||
endif
|
||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || mv $(SJASMPLUS_ARCHIVE_SUBDIR) $(@D)
|
||||
touch $@
|
||||
|
||||
.downloads/sjasmplus/sjasmplus-win32-20190306.1.7z: | .downloads/sjasmplus
|
||||
wget -c https://github.com/sjasmplus/sjasmplus/releases/download/20190306.1/$(@F) -O $@
|
||||
|
||||
.downloads/sjasmplus/sjasmplus-win64-20190306.1.7z: | .downloads/sjasmplus
|
||||
wget -c https://github.com/sjasmplus/sjasmplus/releases/download/20190306.1/$(@F) -O $@
|
||||
|
||||
install-sjasmplus: $(DESTDIR)$(bindir)/sjasmplus$(EXESUFFIX)
|
||||
|
||||
$(DESTDIR)$(bindir)/sjasmplus$(EXESUFFIX): sjasmplus/sjasmplus$(EXESUFFIX) | $(DESTDIR)$(bindir)
|
||||
$(INSTALL_PROGRAM) $< $@
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
uninstall-sjasmplus:
|
||||
rm -f $(DESTDIR)$(bindir)/sjasmplus$(EXESUFFIX)
|
||||
|
||||
clean-sjasmplus:
|
||||
rm -rf sjasmplus
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
uninstall-sjasmplus clean-sjasmplus:;
|
||||
|
||||
endif # !_DoClean
|
||||
endif # _UsePrecompiledOnWindows
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
distclean-sjasmplus: clean-sjasmplus
|
||||
rm -rf .downloads/sjasmplus
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
distclean-sjasmplus:;
|
||||
|
||||
endif # !_DoClean
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
# tools.inc.mk - script to build tools.
|
||||
#
|
||||
# This file is a part of main Makefile.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2021 Ivan Tatarinov <ivan-tat@ya.ru>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
.PHONY: $(foreach t,build install uninstall clean distclean,$(t)-tools)
|
||||
|
||||
ifeq ($(_DoBuild),1)
|
||||
|
||||
build-tools: | tools
|
||||
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix))
|
||||
|
||||
install-tools: | tools
|
||||
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix)) install
|
||||
|
||||
else # !_DoBuild
|
||||
|
||||
build-tools install-tools:;
|
||||
|
||||
endif # !_DoBuild
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
uninstall-tools: | tools
|
||||
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix)) uninstall
|
||||
|
||||
clean-tools: | tools
|
||||
$(MAKE) -w -C $| clean
|
||||
|
||||
distclean-tools: | tools
|
||||
$(MAKE) -w -C $| distclean
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
uninstall-tools clean-tools distclean-tools:;
|
||||
|
||||
endif # !_DoClean
|
||||
|
|
@ -0,0 +1,152 @@
|
|||
# z88dk.inc.mk - script to download and build original Z88DK.
|
||||
#
|
||||
# This file is a part of main Makefile.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2021 Ivan Tatarinov <ivan-tat@ya.ru>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
.downloads/z88dk:
|
||||
mkdir -p $@
|
||||
|
||||
.PHONY: $(foreach t,build install uninstall clean distclean,$(t)-z88dk)
|
||||
|
||||
Z88DK_BINS:=\
|
||||
asmpp.pl\
|
||||
sccz80$(EXESUFFIX)\
|
||||
z80asm$(EXESUFFIX)\
|
||||
z88dk-appmake$(EXESUFFIX)\
|
||||
z88dk-basck$(EXESUFFIX)\
|
||||
z88dk-copt$(EXESUFFIX)\
|
||||
z88dk-dis$(EXESUFFIX)\
|
||||
z88dk-dzx7$(EXESUFFIX)\
|
||||
z88dk-font2pv1000$(EXESUFFIX)\
|
||||
z88dk-lib$(EXESUFFIX)\
|
||||
z88dk-ticks$(EXESUFFIX)\
|
||||
z88dk-ucpp$(EXESUFFIX)\
|
||||
z88dk-z80asm$(EXESUFFIX)\
|
||||
z88dk-z80nm$(EXESUFFIX)\
|
||||
z88dk-z80svg$(EXESUFFIX)\
|
||||
z88dk-zcpp$(EXESUFFIX)\
|
||||
z88dk-zobjcopy$(EXESUFFIX)\
|
||||
z88dk-zpragma$(EXESUFFIX)\
|
||||
z88dk-zx7$(EXESUFFIX)\
|
||||
zcc$(EXESUFFIX)
|
||||
|
||||
build-z88dk install-z88dk: z88dk/.done
|
||||
|
||||
ifeq ($(_DoBuild),1)
|
||||
|
||||
Z88DK_ARCHIVE = .downloads/z88dk/z88dk-src-2.1.tgz
|
||||
Z88DK_ARCHIVE_SHA256 = f3579ee59b4af552721173165af38223b115ccb67179e79d2f3c0ae64338dc7c
|
||||
Z88DK_ARCHIVE_TYPE = .tar.gz
|
||||
Z88DK_ARCHIVE_SUBDIR = z88dk
|
||||
|
||||
# Force Win32 build for Windows
|
||||
ifeq ($(OS),Windows_NT)
|
||||
export CC=i686-w64-mingw32-gcc
|
||||
endif
|
||||
|
||||
z88dk/.done: | z88dk/.extracted z88dk.mk
|
||||
$(MAKE) -w -C z88dk -f ../z88dk.mk
|
||||
cd z88dk/bin && test x $(patsubst %,-a -x %,$(Z88DK_BINS))
|
||||
touch $@
|
||||
|
||||
z88dk/.extracted: $(Z88DK_ARCHIVE) | z88dk.patch
|
||||
echo '$(Z88DK_ARCHIVE_SHA256) $<' >$<.sha256
|
||||
sha256sum -c $<.sha256
|
||||
rm -f $<.sha256
|
||||
rm -rf $(@D)
|
||||
test '$(@D)' = '$(Z88DK_ARCHIVE_SUBDIR)' -o '$(Z88DK_ARCHIVE_SUBDIR)' = . || rm -rf $(Z88DK_ARCHIVE_SUBDIR)
|
||||
ifeq ($(Z88DK_ARCHIVE_TYPE),.tar.gz)
|
||||
ifeq ($(Z88DK_ARCHIVE_SUBDIR),.)
|
||||
$(error Not implemented)
|
||||
else
|
||||
tar -xzf $<
|
||||
endif
|
||||
else
|
||||
$(error Not implemented)
|
||||
endif
|
||||
test '$(@D)' = '$(Z88DK_ARCHIVE_SUBDIR)' -o '$(Z88DK_ARCHIVE_SUBDIR)' = . || mv $(Z88DK_ARCHIVE_SUBDIR) $(@D)
|
||||
patch -N -p0 -s <$| || true
|
||||
touch $@
|
||||
|
||||
.downloads/z88dk/z88dk-src-2.1.tgz: | .downloads/z88dk
|
||||
wget -c https://github.com/z88dk/z88dk/releases/download/v2.1/$(@F) -O $@
|
||||
|
||||
uninstall-z88dk:;
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
# This does not work:
|
||||
#clean-z88dk: | z88dk.mk
|
||||
# if test -d z88dk; then $(MAKE) -w -C z88dk -f ../z88dk.mk clean && rm -f z88dk/.done; fi
|
||||
clean-z88dk:
|
||||
rm -rf z88dk
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
clean-z88dk:;
|
||||
|
||||
endif # !_DoClean
|
||||
endif # _DoBuild
|
||||
|
||||
ifeq ($(_UsePrecompiledOnWindows),1)
|
||||
|
||||
ifeq ($(PROCESSOR_ARCHITECTURE),X86)
|
||||
else ifeq ($(PROCESSOR_ARCHITECTURE),AMD64)
|
||||
else ifeq ($(PROCESSOR_ARCHITECTURE),EM64T)
|
||||
else
|
||||
$(warning Unsupported platform: "$(PROCESSOR_ARCHITECTURE)")
|
||||
endif
|
||||
|
||||
Z88DK_ARCHIVE = .downloads/z88dk/z88dk-win32-2.1.zip
|
||||
Z88DK_ARCHIVE_SHA256 = f4abedfae429ea159e388b5c76758ace4dcb86e9a00dbd928862b0a30f6874d6
|
||||
Z88DK_ARCHIVE_TYPE = .zip
|
||||
Z88DK_ARCHIVE_SUBDIR = z88dk
|
||||
|
||||
z88dk/.done: $(Z88DK_ARCHIVE)
|
||||
echo '$(Z88DK_ARCHIVE_SHA256) $<' >$<.sha256
|
||||
sha256sum -c $<.sha256
|
||||
rm -f $<.sha256
|
||||
rm -rf $(@D)
|
||||
test '$(@D)' = '$(Z88DK_ARCHIVE_SUBDIR)' -o '$(Z88DK_ARCHIVE_SUBDIR)' = . || rm -rf $(Z88DK_ARCHIVE_SUBDIR)
|
||||
ifeq ($(Z88DK_ARCHIVE_TYPE),.zip)
|
||||
ifeq ($(Z88DK_ARCHIVE_SUBDIR),.)
|
||||
unzip -nq -d $(@D) $<
|
||||
else
|
||||
unzip -nq $<
|
||||
endif
|
||||
else
|
||||
$(error Not implemented)
|
||||
endif
|
||||
test '$(@D)' = '$(Z88DK_ARCHIVE_SUBDIR)' -o '$(Z88DK_ARCHIVE_SUBDIR)' = . || mv $(Z88DK_ARCHIVE_SUBDIR) $(@D)
|
||||
touch $@
|
||||
|
||||
.downloads/z88dk/z88dk-win32-2.1.zip: | .downloads/z88dk
|
||||
wget -c https://github.com/z88dk/z88dk/releases/download/v2.1/$(@F) -O $@
|
||||
|
||||
uninstall-z88dk:;
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
clean-z88dk:
|
||||
rm -rf z88dk
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
clean-z88dk:;
|
||||
|
||||
endif # !_DoClean
|
||||
endif # _UsePrecompiledOnWindows
|
||||
|
||||
ifeq ($(_DoClean),1)
|
||||
|
||||
distclean-z88dk: clean-z88dk
|
||||
rm -rf .downloads/z88dk
|
||||
|
||||
else # !_DoClean
|
||||
|
||||
distclean-z88dk:;
|
||||
|
||||
endif # !_DoClean
|
||||
Loading…
Reference in New Issue