mirror of https://github.com/zxdos/zxuno.git
sdk: added `extract.sh` script
This commit is contained in:
parent
49e0b1a561
commit
c6e79da2c7
|
@ -29,7 +29,7 @@ endif
|
||||||
|
|
||||||
Z88DK := $(ZXSDK)/src/z88dk
|
Z88DK := $(ZXSDK)/src/z88dk
|
||||||
ZCCCFG := $(Z88DK)/lib/config
|
ZCCCFG := $(Z88DK)/lib/config
|
||||||
PATH := $(ZXSDK_PLATFORM)/bin:$(Z88DK)/bin:$(PATH)
|
PATH := $(ZXSDK_PLATFORM)/bin:$(Z88DK)/bin:$(ZXSDK):$(PATH)
|
||||||
|
|
||||||
ifeq ($(OS),Windows_NT)
|
ifeq ($(OS),Windows_NT)
|
||||||
PATH := $(ZXSDK_PLATFORM)/lib:$(PATH)
|
PATH := $(ZXSDK_PLATFORM)/lib:$(PATH)
|
||||||
|
|
|
@ -0,0 +1,302 @@
|
||||||
|
#!/bin/bash -e
|
||||||
|
# extract.sh - extract contents of an archive.
|
||||||
|
#
|
||||||
|
# SPDX-FileCopyrightText: 2021 Ivan Tatarinov <ivan-tat@ya.ru>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
declare -a errors
|
||||||
|
declare -A tmp_files
|
||||||
|
declare o_input
|
||||||
|
declare o_check=0
|
||||||
|
declare o_sha256
|
||||||
|
declare o_type
|
||||||
|
declare o_subdir=.
|
||||||
|
declare o_output
|
||||||
|
declare o_use_tmp=0
|
||||||
|
|
||||||
|
msg_err_begin() {
|
||||||
|
echo -en '\E[1;31m'
|
||||||
|
}
|
||||||
|
|
||||||
|
msg_err_end() {
|
||||||
|
echo -en '\E[0m'
|
||||||
|
}
|
||||||
|
|
||||||
|
# $1 = message
|
||||||
|
add_error() {
|
||||||
|
errors[${#errors[@]}]="$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
# $1 = argument name, $2 = argument index
|
||||||
|
add_missing_arg_error() {
|
||||||
|
add_error "Missing parameter for '$1' (argument #$2)."
|
||||||
|
}
|
||||||
|
|
||||||
|
exit_on_errors() {
|
||||||
|
local -i i
|
||||||
|
local -i N
|
||||||
|
N=${#errors[@]}
|
||||||
|
if [[ $N -ne 0 ]]; then
|
||||||
|
msg_err_begin >&2
|
||||||
|
i=0
|
||||||
|
while [[ $i -lt $N ]]; do
|
||||||
|
echo "$BASH_SOURCE: Error ($((i+1))): ${errors[$i]}" >&2
|
||||||
|
let i=i+1
|
||||||
|
done
|
||||||
|
echo -n "$BASH_SOURCE: " >&2
|
||||||
|
if [[ $N -eq 1 ]]; then
|
||||||
|
echo -n "$N error occured." >&2
|
||||||
|
else
|
||||||
|
echo -n "$N errors occured." >&2
|
||||||
|
fi
|
||||||
|
echo " Stopped." >&2
|
||||||
|
msg_err_end >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# $1 = message (optional)
|
||||||
|
error_exit() {
|
||||||
|
if [[ -n "$1" ]]; then
|
||||||
|
msg_err_begin >&2
|
||||||
|
echo "$1" >&2
|
||||||
|
msg_err_end >&2
|
||||||
|
fi
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# $1 = temporary file name
|
||||||
|
new_tmp_file() {
|
||||||
|
tmp_files[$1]=f
|
||||||
|
}
|
||||||
|
|
||||||
|
# $1 = temporary directory name
|
||||||
|
new_tmp_dir() {
|
||||||
|
tmp_files[$tmp]=d
|
||||||
|
}
|
||||||
|
|
||||||
|
# $1 = temporary file or directory name
|
||||||
|
free_tmp() {
|
||||||
|
unset tmp_files[$1]
|
||||||
|
}
|
||||||
|
|
||||||
|
# $1 = temporary file name
|
||||||
|
rm_tmp_file() {
|
||||||
|
rm -f "$1"
|
||||||
|
free_tmp "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
# $1 = temporary directory name
|
||||||
|
rm_tmp_dir() {
|
||||||
|
rm -rf "$1"
|
||||||
|
free_tmp "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
rm_all_tmps() {
|
||||||
|
local t
|
||||||
|
if [[ ${#tmp_files[*]} -gt 0 ]]; then
|
||||||
|
OFS="$IFS"
|
||||||
|
IFS=`echo -en "\t"`
|
||||||
|
for t in ${!tmp_files[*]}; do
|
||||||
|
case ${tmp_files[$t]} in
|
||||||
|
f)
|
||||||
|
rm_tmp_file "$t"
|
||||||
|
;;
|
||||||
|
d)
|
||||||
|
rm_tmp_dir "$t"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
IFS="$OFS"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
show_usage() {
|
||||||
|
cat <<EOT
|
||||||
|
Usage:
|
||||||
|
$BASH_SOURCE [--sha256 SHA256] --type TYPE [--subdir SUBDIR] --output DIR [--use-tmp-dir] [--] input_file
|
||||||
|
Where:
|
||||||
|
--sha256 SHA256 check SHA256 message digest of input file
|
||||||
|
--type TYPE type of input archive (.zip, .tar.gz, .tar.bz2, .7z)
|
||||||
|
--subdir SUBDIR specify SUBDIR sub-directory of input file to strip
|
||||||
|
--output DIR specify output directory
|
||||||
|
--use-tmp-dir use temporary directory
|
||||||
|
EOT
|
||||||
|
}
|
||||||
|
|
||||||
|
OnError() {
|
||||||
|
local err=$?
|
||||||
|
msg_err_begin >&2
|
||||||
|
echo "$BASH_SOURCE: Error on line $BASH_LINENO: Exit status $err. Stopped." >&2
|
||||||
|
msg_err_end >&2
|
||||||
|
exit $err
|
||||||
|
}
|
||||||
|
|
||||||
|
OnExit() {
|
||||||
|
rm_all_tmps
|
||||||
|
}
|
||||||
|
|
||||||
|
trap OnError ERR
|
||||||
|
trap OnExit EXIT
|
||||||
|
|
||||||
|
if [[ $# -eq 0 ]]; then
|
||||||
|
show_usage
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
parse_option=1
|
||||||
|
i=1
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
non_option=0
|
||||||
|
if [[ $parse_option -eq 1 ]]; then
|
||||||
|
case "$1" in
|
||||||
|
--sha256)
|
||||||
|
if [[ $# -eq 1 ]]; then
|
||||||
|
add_missing_arg_error $1 $i
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
o_check=1
|
||||||
|
o_sha256=$2
|
||||||
|
shift 2
|
||||||
|
let i=i+1
|
||||||
|
;;
|
||||||
|
--type)
|
||||||
|
if [[ $# -eq 1 ]]; then
|
||||||
|
add_missing_arg_error $1 $i
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
case "$2" in
|
||||||
|
.zip|.tar.gz|.tar.bz2|.7z)
|
||||||
|
o_type=$2
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
add_error "Unknown archive type specified: '$2' (argument #$((i+1)))."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift 2
|
||||||
|
let i=i+1
|
||||||
|
;;
|
||||||
|
--subdir)
|
||||||
|
if [[ $# -eq 1 ]]; then
|
||||||
|
add_missing_arg_error $1 $i
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
o_subdir=$2
|
||||||
|
shift 2
|
||||||
|
let i=i+1
|
||||||
|
;;
|
||||||
|
--output)
|
||||||
|
if [[ $# -eq 1 ]]; then
|
||||||
|
add_missing_arg_error $1 $i
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
o_output=$2
|
||||||
|
shift 2
|
||||||
|
let i=i+1
|
||||||
|
;;
|
||||||
|
--use-tmp-dir)
|
||||||
|
o_use_tmp=1
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
--)
|
||||||
|
parse_option=0
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
-*)
|
||||||
|
add_error "Unknown option '$1' (argument #$i)."
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
non_option=1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
non_option=1
|
||||||
|
fi
|
||||||
|
if [[ $non_option -eq 1 ]]; then
|
||||||
|
if [[ -z "$o_input" ]]; then
|
||||||
|
o_input="$1"
|
||||||
|
else
|
||||||
|
add_error "Extra input file specified: '$1' (argument #$i)."
|
||||||
|
fi
|
||||||
|
shift 1
|
||||||
|
fi
|
||||||
|
let i=i+1
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ -z "$o_input" ]]; then
|
||||||
|
add_error "No input file specified."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "$o_type" ]]; then
|
||||||
|
add_error "No input file type specified."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "$o_output" ]]; then
|
||||||
|
add_error "No output directory specified."
|
||||||
|
fi
|
||||||
|
|
||||||
|
#~ echo "$BASH_SOURCE: o_input: \"$o_input\""
|
||||||
|
#~ echo "$BASH_SOURCE: o_check: $o_check"
|
||||||
|
#~ echo "$BASH_SOURCE: o_sha256: \"$o_sha256\""
|
||||||
|
#~ echo "$BASH_SOURCE: o_type: \"$o_type\""
|
||||||
|
#~ echo "$BASH_SOURCE: o_subdir: \"$o_subdir\""
|
||||||
|
#~ echo "$BASH_SOURCE: o_output: \"$o_output\""
|
||||||
|
#~ echo "$BASH_SOURCE: o_use_tmp: $o_use_tmp"
|
||||||
|
|
||||||
|
exit_on_errors
|
||||||
|
|
||||||
|
tmp=`mktemp`
|
||||||
|
new_tmp_file "$tmp"
|
||||||
|
echo "$o_sha256 $o_input" >"$tmp"
|
||||||
|
sha256sum -c "$tmp"
|
||||||
|
rm_tmp_file "$tmp"
|
||||||
|
|
||||||
|
if [[ $o_use_tmp -eq 0 ]]; then
|
||||||
|
if [[ "$o_subdir" != "$o_output" && "$o_subdir" != '.' ]]; then
|
||||||
|
rm -rf "$o_subdir"
|
||||||
|
fi
|
||||||
|
case "$o_type" in
|
||||||
|
.zip)
|
||||||
|
if [[ "$o_subdir" = '.' ]]; then
|
||||||
|
unzip -nq -d "$o_output" "$o_input"
|
||||||
|
else
|
||||||
|
unzip -nq "$o_input"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
.tar.gz)
|
||||||
|
if [[ "$o_subdir" = '.' ]]; then
|
||||||
|
add_error "Not implemented for '$o_type': subdir='$o_subdir'."
|
||||||
|
exit_on_errors
|
||||||
|
else
|
||||||
|
tar -xzf "$o_input"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
.tar.bz2)
|
||||||
|
if [[ "$o_subdir" = '.' ]]; then
|
||||||
|
add_error "Not implemented for '$o_type': subdir='$o_subdir'."
|
||||||
|
exit_on_errors
|
||||||
|
else
|
||||||
|
tar -xjf "$o_input"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
.7z)
|
||||||
|
if [[ "$o_subdir" = '.' ]]; then
|
||||||
|
7z x -bd -o "$o_output" "$o_input"
|
||||||
|
else
|
||||||
|
7z x -bd "$o_input"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
add_error "Not supported archive type: '$o_type'."
|
||||||
|
exit_on_errors
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
if [[ "$o_subdir" != "$o_output" && "$o_subdir" != '.' ]]; then
|
||||||
|
mv "$o_subdir" "$o_output"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
add_error "Temporary directory usage is not implemented yet."
|
||||||
|
exit_on_errors
|
||||||
|
fi
|
|
@ -12,7 +12,7 @@ if [[ "x$ZXSDK" == x ]]; then
|
||||||
fi
|
fi
|
||||||
Z88DK=$ZXSDK/src/z88dk
|
Z88DK=$ZXSDK/src/z88dk
|
||||||
ZCCCFG=$Z88DK/lib/config
|
ZCCCFG=$Z88DK/lib/config
|
||||||
PATH=$ZXSDK_PLATFORM/bin:$Z88DK/bin:$PATH
|
PATH=$ZXSDK_PLATFORM/bin:$Z88DK/bin:$ZXSDK:$PATH
|
||||||
if [[ x$OS == xWindows_NT ]]; then
|
if [[ x$OS == xWindows_NT ]]; then
|
||||||
PATH=$ZXSDK_PLATFORM/lib:$PATH
|
PATH=$ZXSDK_PLATFORM/lib:$PATH
|
||||||
# Fix paths under Cygwin for z88dk on Windows
|
# Fix paths under Cygwin for z88dk on Windows
|
||||||
|
|
|
@ -22,21 +22,12 @@ build-sjasmplus: | sjasmplus-z00m128/.extracted sjasmplus-z00m128.mk
|
||||||
$(MAKE) -w -C sjasmplus -f ../sjasmplus-z00m128.mk prefix=$(shell realpath --relative-to=sjasmplus-z00m128 $(prefix))
|
$(MAKE) -w -C sjasmplus -f ../sjasmplus-z00m128.mk prefix=$(shell realpath --relative-to=sjasmplus-z00m128 $(prefix))
|
||||||
|
|
||||||
sjasmplus-z00m128/.extracted: $(SJASMPLUS_ARCHIVE)
|
sjasmplus-z00m128/.extracted: $(SJASMPLUS_ARCHIVE)
|
||||||
echo '$(SJASMPLUS_ARCHIVE_SHA256) $<' >$<.sha256
|
|
||||||
sha256sum -c $<.sha256
|
|
||||||
rm -f $<.sha256
|
|
||||||
rm -rf $(@D)
|
rm -rf $(@D)
|
||||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || rm -rf $(SJASMPLUS_ARCHIVE_SUBDIR)
|
extract.sh $<\
|
||||||
ifeq ($(SJASMPLUS_ARCHIVE_TYPE),.tar.gz)
|
--sha256 $(SJASMPLUS_ARCHIVE_SHA256)\
|
||||||
ifeq ($(SJASMPLUS_ARCHIVE_SUBDIR),.)
|
--type $(SJASMPLUS_ARCHIVE_TYPE)\
|
||||||
$(error Not implemented)
|
--subdir $(SJASMPLUS_ARCHIVE_SUBDIR)\
|
||||||
else
|
--output $(@D)
|
||||||
tar -xzf $<
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
$(error Not implemented)
|
|
||||||
endif
|
|
||||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || mv $(SJASMPLUS_ARCHIVE_SUBDIR) $(@D)
|
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
.downloads/sjasmplus-z00m128/v1.18.2.tar.gz: | .downloads/sjasmplus-z00m128
|
.downloads/sjasmplus-z00m128/v1.18.2.tar.gz: | .downloads/sjasmplus-z00m128
|
||||||
|
@ -83,21 +74,12 @@ SJASMPLUS_ARCHIVE_TYPE = .zip
|
||||||
SJASMPLUS_ARCHIVE_SUBDIR = sjasmplus-1.18.2.win
|
SJASMPLUS_ARCHIVE_SUBDIR = sjasmplus-1.18.2.win
|
||||||
|
|
||||||
sjasmplus-z00m128/.extracted: $(SJASMPLUS_ARCHIVE)
|
sjasmplus-z00m128/.extracted: $(SJASMPLUS_ARCHIVE)
|
||||||
echo '$(SJASMPLUS_ARCHIVE_SHA256) $<' >$<.sha256
|
|
||||||
sha256sum -c $<.sha256
|
|
||||||
rm -f $<.sha256
|
|
||||||
rm -rf $(@D)
|
rm -rf $(@D)
|
||||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || rm -rf $(SJASMPLUS_ARCHIVE_SUBDIR)
|
extract.sh $<\
|
||||||
ifeq ($(SJASMPLUS_ARCHIVE_TYPE),.zip)
|
--sha256 $(SJASMPLUS_ARCHIVE_SHA256)\
|
||||||
ifeq ($(SJASMPLUS_ARCHIVE_SUBDIR),.)
|
--type $(SJASMPLUS_ARCHIVE_TYPE)\
|
||||||
unzip -nq -d $(@D) $<
|
--subdir $(SJASMPLUS_ARCHIVE_SUBDIR)\
|
||||||
else
|
--output $(@D)
|
||||||
unzip -nq $<
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
$(error Not implemented)
|
|
||||||
endif
|
|
||||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || mv $(SJASMPLUS_ARCHIVE_SUBDIR) $(@D)
|
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
.downloads/sjasmplus-z00m128/sjasmplus-1.18.2.win.zip: | .downloads/sjasmplus-z00m128
|
.downloads/sjasmplus-z00m128/sjasmplus-1.18.2.win.zip: | .downloads/sjasmplus-z00m128
|
||||||
|
|
|
@ -22,21 +22,12 @@ build-sjasmplus: | sjasmplus/.extracted sjasmplus.mk
|
||||||
$(MAKE) -w -C sjasmplus -f ../sjasmplus.mk prefix=$(shell realpath --relative-to=sjasmplus $(prefix))
|
$(MAKE) -w -C sjasmplus -f ../sjasmplus.mk prefix=$(shell realpath --relative-to=sjasmplus $(prefix))
|
||||||
|
|
||||||
sjasmplus/.extracted: $(SJASMPLUS_ARCHIVE)
|
sjasmplus/.extracted: $(SJASMPLUS_ARCHIVE)
|
||||||
echo '$(SJASMPLUS_SHA256) $<' >$<.sha256
|
|
||||||
sha256sum -c $<.sha256
|
|
||||||
rm -f $<.sha256
|
|
||||||
rm -rf $(@D)
|
rm -rf $(@D)
|
||||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || rm -rf $(SJASMPLUS_ARCHIVE_SUBDIR)
|
extract.sh $<\
|
||||||
ifeq ($(SJASMPLUS_ARCHIVE_TYPE),.tar.gz)
|
--sha256 $(SJASMPLUS_ARCHIVE_SHA256)\
|
||||||
ifeq ($(SJASMPLUS_ARCHIVE_SUBDIR),.)
|
--type $(SJASMPLUS_ARCHIVE_TYPE)\
|
||||||
$(error Not implemented)
|
--subdir $(SJASMPLUS_ARCHIVE_SUBDIR)\
|
||||||
else
|
--output $(@D)
|
||||||
tar -xzf $<
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
$(error Not implemented)
|
|
||||||
endif
|
|
||||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || mv $(SJASMPLUS_ARCHIVE_SUBDIR) $(@D)
|
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
.downloads/sjasmplus/20190306.1.tar.gz: | .downloads/sjasmplus
|
.downloads/sjasmplus/20190306.1.tar.gz: | .downloads/sjasmplus
|
||||||
|
@ -94,21 +85,12 @@ else
|
||||||
endif
|
endif
|
||||||
|
|
||||||
sjasmplus/.extracted: $(SJASMPLUS_ARCHIVE)
|
sjasmplus/.extracted: $(SJASMPLUS_ARCHIVE)
|
||||||
echo '$(SJASMPLUS_ARCHIVE_SHA256) $<' >$<.sha256
|
|
||||||
sha256sum -c $<.sha256
|
|
||||||
rm -f $<.sha256
|
|
||||||
rm -rf $(@D)
|
rm -rf $(@D)
|
||||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || rm -rf $(SJASMPLUS_ARCHIVE_SUBDIR)
|
extract.sh $<\
|
||||||
ifeq ($(SJASMPLUS_ARCHIVE_TYPE),.7z)
|
--sha256 $(SJASMPLUS_ARCHIVE_SHA256)\
|
||||||
ifeq ($(SJASMPLUS_ARCHIVE_SUBDIR),.)
|
--type $(SJASMPLUS_ARCHIVE_TYPE)\
|
||||||
7z x -bd -o$(@D) $<
|
--subdir $(SJASMPLUS_ARCHIVE_SUBDIR)\
|
||||||
else
|
--output $(@D)
|
||||||
7z x -bd $<
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
$(error Not implemented)
|
|
||||||
endif
|
|
||||||
test '$(@D)' = '$(SJASMPLUS_ARCHIVE_SUBDIR)' -o '$(SJASMPLUS_ARCHIVE_SUBDIR)' = . || mv $(SJASMPLUS_ARCHIVE_SUBDIR) $(@D)
|
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
.downloads/sjasmplus/sjasmplus-win32-20190306.1.7z: | .downloads/sjasmplus
|
.downloads/sjasmplus/sjasmplus-win32-20190306.1.7z: | .downloads/sjasmplus
|
||||||
|
|
|
@ -53,21 +53,12 @@ z88dk/.done: | z88dk/.extracted z88dk.mk
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
z88dk/.extracted: $(Z88DK_ARCHIVE) | z88dk.patch
|
z88dk/.extracted: $(Z88DK_ARCHIVE) | z88dk.patch
|
||||||
echo '$(Z88DK_ARCHIVE_SHA256) $<' >$<.sha256
|
|
||||||
sha256sum -c $<.sha256
|
|
||||||
rm -f $<.sha256
|
|
||||||
rm -rf $(@D)
|
rm -rf $(@D)
|
||||||
test '$(@D)' = '$(Z88DK_ARCHIVE_SUBDIR)' -o '$(Z88DK_ARCHIVE_SUBDIR)' = . || rm -rf $(Z88DK_ARCHIVE_SUBDIR)
|
extract.sh $<\
|
||||||
ifeq ($(Z88DK_ARCHIVE_TYPE),.tar.gz)
|
--sha256 $(Z88DK_ARCHIVE_SHA256)\
|
||||||
ifeq ($(Z88DK_ARCHIVE_SUBDIR),.)
|
--type $(Z88DK_ARCHIVE_TYPE)\
|
||||||
$(error Not implemented)
|
--subdir $(Z88DK_ARCHIVE_SUBDIR)\
|
||||||
else
|
--output $(@D)
|
||||||
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
|
patch -N -p0 -s <$| || true
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
|
@ -106,21 +97,12 @@ Z88DK_ARCHIVE_TYPE = .zip
|
||||||
Z88DK_ARCHIVE_SUBDIR = z88dk
|
Z88DK_ARCHIVE_SUBDIR = z88dk
|
||||||
|
|
||||||
z88dk/.done: $(Z88DK_ARCHIVE)
|
z88dk/.done: $(Z88DK_ARCHIVE)
|
||||||
echo '$(Z88DK_ARCHIVE_SHA256) $<' >$<.sha256
|
|
||||||
sha256sum -c $<.sha256
|
|
||||||
rm -f $<.sha256
|
|
||||||
rm -rf $(@D)
|
rm -rf $(@D)
|
||||||
test '$(@D)' = '$(Z88DK_ARCHIVE_SUBDIR)' -o '$(Z88DK_ARCHIVE_SUBDIR)' = . || rm -rf $(Z88DK_ARCHIVE_SUBDIR)
|
extract.sh $<\
|
||||||
ifeq ($(Z88DK_ARCHIVE_TYPE),.zip)
|
--sha256 $(Z88DK_ARCHIVE_SHA256)\
|
||||||
ifeq ($(Z88DK_ARCHIVE_SUBDIR),.)
|
--type $(Z88DK_ARCHIVE_TYPE)\
|
||||||
unzip -nq -d $(@D) $<
|
--subdir $(Z88DK_ARCHIVE_SUBDIR)\
|
||||||
else
|
--output $(@D)
|
||||||
unzip -nq $<
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
$(error Not implemented)
|
|
||||||
endif
|
|
||||||
test '$(@D)' = '$(Z88DK_ARCHIVE_SUBDIR)' -o '$(Z88DK_ARCHIVE_SUBDIR)' = . || mv $(Z88DK_ARCHIVE_SUBDIR) $(@D)
|
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
.downloads/z88dk/z88dk-win32-2.1.zip: | .downloads/z88dk
|
.downloads/z88dk/z88dk-win32-2.1.zip: | .downloads/z88dk
|
||||||
|
|
Loading…
Reference in New Issue