software: added `esxdos` with ESXDOS 0.8.9

This commit is contained in:
Ivan Tatarinov 2021-06-04 18:05:36 +03:00
parent ef38818344
commit de7180d967
4 changed files with 210 additions and 10 deletions

View File

@ -27,8 +27,6 @@ include sdk/common.mk
# Use uppercase for FAT filesystem
prefix ?= SD
exec_prefix ?= $(prefix)
bindir ?= $(exec_prefix)/BIN
TARGETS=\
utils\
@ -46,11 +44,11 @@ build-utils: | utils
.PHONY: install-utils
install-utils: | utils
$(MAKE) -w -C $| bindir=$(shell realpath --relative-to=$| $(bindir)) install
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix)) install
.PHONY: uninstall-utils
uninstall-utils: | utils
$(MAKE) -w -C $| bindir=$(shell realpath --relative-to=$| $(bindir)) uninstall
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix)) uninstall
.PHONY: clean-utils
clean-utils: | utils
@ -68,11 +66,11 @@ build-software: | software
.PHONY: install-software
install-software: | software
$(MAKE) -w -C $| bindir=$(shell realpath --relative-to=$| $(bindir)) install
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix)) install
.PHONY: uninstall-software
uninstall-software: | software
$(MAKE) -w -C $| bindir=$(shell realpath --relative-to=$| $(bindir)) uninstall
$(MAKE) -w -C $| prefix=$(shell realpath --relative-to=$| $(prefix)) uninstall
.PHONY: clean-software
clean-software: | software

View File

@ -25,10 +25,9 @@ include ../sdk/common.mk
# Use uppercase for FAT filesystem
prefix ?= .
exec_prefix ?= $(prefix)
bindir ?= $(exec_prefix)/BIN
SUBDIRS=\
esxdos\
esprst\
iwconfig
@ -49,7 +48,7 @@ $(foreach d,$(SUBDIRS),$(eval $(call build_rule,$(d))))
define install_rule=
install-$1: | $1
$$(MAKE) -w -C $$| bindir=$$(shell realpath --relative-to=$$| $$(bindir)) install
$$(MAKE) -w -C $$| prefix=$$(shell realpath --relative-to=$$| $$(prefix)) install
endef
$(foreach d,$(SUBDIRS),$(eval $(call install_rule,$(d))))
@ -58,7 +57,7 @@ $(foreach d,$(SUBDIRS),$(eval $(call install_rule,$(d))))
define uninstall_rule=
uninstall-$1: | $1
$$(MAKE) -w -C $$| bindir=$$(shell realpath --relative-to=$$| $$(bindir)) uninstall
$$(MAKE) -w -C $$| prefix=$$(shell realpath --relative-to=$$| $$(prefix)) uninstall
endef
$(foreach d,$(SUBDIRS),$(eval $(call uninstall_rule,$(d))))

6
software/esxdos/.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
# SPDX-FileCopyrightText: 2021 Ivan Tatarinov <ivan-tat@ya.ru>
#
# SPDX-License-Identifier: CC0-1.0
build
cache

197
software/esxdos/Makefile Normal file
View File

@ -0,0 +1,197 @@
# SPDX-FileCopyrightText: 2021 Ivan Tatarinov <ivan-tat@ya.ru>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# Supported environments:
# * GNU on Linux, FreeBSD etc.
# * GNU on Windows NT (using MinGW/MSYS/Cygwin/WSL)
#
# Build:
# make [all]
# Install / Uninstall:
# make [prefix=<PREFIX>] install | uninstall
# Clean:
# make clean | distclean
include ../../sdk/common.mk
# Use uppercase for FAT filesystem
prefix ?= .
exec_prefix ?= $(prefix)
bindir ?= $(exec_prefix)/BIN
docdir ?= $(prefix)/DOCS
sysdir ?= $(exec_prefix)/SYS
sysconfdir ?= ${sysdir}/CONFIG
tmpdir ?= $(prefix)/TMP
# Disable execution mode for FAT filesystem
INSTALL ?= install -m 644
INSTALL_PROGRAM ?= $(INSTALL)
RM ?= rm -f
ESXDOSNAME = esxdos089
ROOT_FILES=\
ESX089.NFO\
ESXMMC.BIN\
README.TXT
BIN_FILES=\
128\
CAL\
CD\
CHMOD\
CP\
DATE\
DFWLOAD\
DIVIDEO\
DRIVES\
DSKPROBE\
DUMPMEM\
FILE\
GRAMON\
GSC\
HEXDUMP\
HEXVIEW\
LAUNCHER\
LS\
LSTAP\
MKDIR\
MKTRD\
MORE\
MV\
PARTINFO\
PLAYPT3\
PLAYSQT\
PLAYSTC\
PLAYTFM\
PLAYWAV\
RM\
SCL2TRD\
SERCP\
SNAPLOAD\
SPEAKCZ\
STRINGS\
TAPEIN\
TAPEOUT\
TAR\
TE\
TSPLAY\
VDISK
DOC_FILES=\
DIVIDEO.TXT\
GRAMON.TXT\
PLAYWAV.TXT\
SNAPLOAD.TXT\
SPEAKCZ.TXT\
TEINFO.TXT\
TRKPLAY.TXT
SYS_FILES=\
BDIR.KO\
BETADISK.SYS\
BFILE.KO\
ERRMSG.KO\
ESXDOS.SYS\
NMI_HELP.SCR\
NMI.SYS\
TAPE.KO\
TRDBOOT.BIN\
TRDOS54T.KO\
VDISK.KO
SYSCONF_FILES=\
ESXDOS.CFG\
TRDOS.CFG
.PHONY: all
all: install
build\
cache\
$(DESTDIR)$(prefix)\
$(DESTDIR)$(bindir)\
$(DESTDIR)$(docdir)\
$(DESTDIR)$(sysdir)\
$(DESTDIR)$(sysconfdir)\
$(DESTDIR)$(tmpdir):
mkdir -p $@
cache/$(ESXDOSNAME).extracted: cache/$(ESXDOSNAME).zip | cache build
echo 'd455888361cd13d455e362a4c841452b6f4568d30f9069443044affdd40de9a4 $<' >$<.sha256
sha256sum -c $<.sha256
rm -f $<.sha256
rm -rf cache/esxdos
unzip -nq $< -d cache/esxdos
mv cache/esxdos/* build
rmdir cache/esxdos
touch $@
cache/$(ESXDOSNAME).zip: | cache
wget -c http://www.esxdos.org/files/$(ESXDOSNAME).zip -O $@
define install_root_rule =
$$(DESTDIR)$$(prefix)/$1: build/$1 | $$(DESTDIR)$$(prefix)
$$(INSTALL) $$< $$@
endef
$(foreach f,$(ROOT_FILES),$(eval $(call install_root_rule,$(f))))
define install_bin_rule =
$$(DESTDIR)$$(bindir)/$1: build/BIN/$1 | $$(DESTDIR)$$(bindir)
$$(INSTALL_PROGRAM) $$< $$@
endef
$(foreach f,$(BIN_FILES),$(eval $(call install_bin_rule,$(f))))
define install_doc_rule =
$$(DESTDIR)$$(docdir)/$1: build/DOCS/$1 | $$(DESTDIR)$$(docdir)
$$(INSTALL) $$< $$@
endef
$(foreach f,$(DOC_FILES),$(eval $(call install_doc_rule,$(f))))
define install_sys_rule =
$$(DESTDIR)$$(sysdir)/$1: build/SYS/$1 | $$(DESTDIR)$$(sysdir)
$$(INSTALL) $$< $$@
endef
$(foreach f,$(SYS_FILES),$(eval $(call install_sys_rule,$(f))))
define install_sysconf_rule =
$$(DESTDIR)$$(sysconfdir)/$1: build/SYS/CONFIG/$1 | $$(DESTDIR)$$(sysconfdir)
$$(INSTALL) $$< $$@
endef
$(foreach f,$(SYSCONF_FILES),$(eval $(call install_sysconf_rule,$(f))))
.PHONY: install
install:\
cache/$(ESXDOSNAME).extracted\
$(foreach f,$(ROOT_FILES),$(DESTDIR)$(prefix)/$(f))\
$(foreach f,$(BIN_FILES),$(DESTDIR)$(bindir)/$(f))\
$(foreach f,$(DOC_FILES),$(DESTDIR)$(docdir)/$(f))\
$(foreach f,$(SYS_FILES),$(DESTDIR)$(sysdir)/$(f))\
$(foreach f,$(SYSCONF_FILES),$(DESTDIR)$(sysconfdir)/$(f))
mkdir -p $(DESTDIR)$(tmpdir)
.PHONY: uninstall
uninstall:
$(RM)\
$(foreach f,$(ROOT_FILES),$(DESTDIR)$(prefix)/$(f))\
$(foreach f,$(BIN_FILES),$(DESTDIR)$(bindir)/$(f))\
$(foreach f,$(DOC_FILES),$(DESTDIR)$(docdir)/$(f))\
$(foreach f,$(SYS_FILES),$(DESTDIR)$(sysdir)/$(f))\
$(foreach f,$(SYSCONF_FILES),$(DESTDIR)$(sysconfdir)/$(f))
.PHONY: clean
clean:
rm -f\
cache/$(ESXDOSNAME).sha256\
cache/$(ESXDOSNAME).extracted
rm -rf cache/esxdos build/*
.PHONY: distclean
distclean:
rm -rf cache build