SDK installer script - experimental version.

This commit is contained in:
Krystian Bacławski 2014-01-03 00:03:53 +01:00
parent 25b1113d3d
commit 54d575d050
5 changed files with 356 additions and 0 deletions

168
install-sdk.sh Executable file
View File

@ -0,0 +1,168 @@
#!/bin/bash
readonly TOP_DIR="$(pwd)"
function download {
local -r url="$1"
local -r file="${2:-$(basename "${url}")}"
if [ ! -f "${file}" ]; then
wget -O "${file}" "${url}"
fi
}
function list {
echo "Available SDKs:"
for sdk in ${TOP_DIR}/sdk/*.sdk; do
name=$(basename ${sdk})
short=`sed -ne "s/Short: //p" ${sdk}`
ver=`sed -ne "s/Version: //p" ${sdk}`
echo " - ${name%%.sdk} : $short $ver"
done
}
function install_sdk {
local name=$1
local sdk="${TOP_DIR}/sdk/${name}.sdk"
if [ ! -f "${sdk}" ]; then
echo "Unknown SDK - '${name}' !"
echo ""
list
exit 1
fi
echo "Installing '${name}'..."
local url=`sed -ne "s/Url: //p" ${sdk}`
local tmp=`mktemp -d -t "${name}"`
pushd ${tmp}
download "${url}"
lha -xgq `basename ${url}`
sed -ne '5,$p' ${sdk} | while read -a line; do
if [[ ${#line[@]} > 1 ]]; then
case ${line[1]} in
"=")
file=${line[2]}
path=${line[0]}
;;
":")
case ${line[0]} in
"fd2sfd")
sfd="$(basename ${line[2]%%.fd}.sfd)"
fd2sfd -o ${sfd} ${line[2]} ${line[3]}
mkdir -p "${PREFIX}/os-lib/sfd"
cp -v ${sfd} "${PREFIX}/os-lib/sfd/${sfd}"
;;
"sfdc")
path=${line[2]}
file=$(basename ${path})
base=${file%_lib.sfd}
mkdir -p "${PREFIX}/os-include/proto"
mkdir -p "${PREFIX}/os-include/inline"
mkdir -p "${PREFIX}/os-include/lvo"
sfdc --target=m68k-amigaos --mode=proto \
--output="${PREFIX}/os-include/proto/${base}.h" ${path}
sfdc --target=m68k-amigaos --mode=macros \
--output="${PREFIX}/os-include/inline/${base}.h" ${path}
sfdc --target=m68k-amigaos --mode=lvo \
--output="${PREFIX}/os-include/lvo/${base}.i" ${path}
;;
*)
echo "Unknown preprocessor: '${line}'"
exit 1
;;
esac
continue
;;
*)
echo "Syntax error: '${line}'"
exit 1
;;
esac
else
file=$(basename ${line})
path=${line}
fi
lastdir=$(basename $(dirname ${path}))
case ${file} in
*.doc|*.html|*.pdf|*.ps)
mkdir -p "${PREFIX}/doc"
cp -v ${path} ${PREFIX}/doc/${file}
;;
*.guide)
mkdir -p "${PREFIX}/guide"
cp -v ${path} ${PREFIX}/guide/${file}
;;
*.i|*.h)
mkdir -p "${PREFIX}/os-include/${lastdir}"
cp -v ${path} ${PREFIX}/os-include/${lastdir}/${file}
;;
*.fd)
mkdir -p "${PREFIX}/os-lib/fd"
cp -v ${path} ${PREFIX}/os-lib/fd/${file}
;;
*.sfd)
mkdir -p "${PREFIX}/os-lib/sfd"
cp -v ${path} ${PREFIX}/os-lib/sfd/${file}
;;
*)
echo "${path} ???"
;;
esac
done
popd
echo "rm -rf ${tmp}"
}
function main {
PREFIX="${TOP_DIR}/target"
local action
while [ -n "${1:-}" ]; do
case "$1" in
--prefix=*)
PREFIX=${1#*=}
;;
--*)
echo "Unknown option: $1"
exit 1
;;
*)
break
;;
esac
shift
done
if [ -n "${1:-}" ]; then
action="$1"
fi
case "${action}" in
"list")
list
;;
"install")
install_sdk "$2"
;;
*)
echo "Please specify valid action: 'list' or 'install'!"
exit 1
;;
esac
}
main "$@"

29
sdk/ahi.sdk Normal file
View File

@ -0,0 +1,29 @@
Short: retargetable audio library
Version: 6.0
Url: http://aminet.net/driver/audio/m68k-amigaos-ahidev.lha
m68k-amigaos-ahi/Developer/Docs/ahi.doc
m68k-amigaos-ahi/Developer/Docs/ahi.guide
m68k-amigaos-ahi/Developer/Docs/ahi.html
m68k-amigaos-ahi/Developer/Docs/ahi_sub.doc
m68k-amigaos-ahi/Developer/Docs/ahi_sub.guide
m68k-amigaos-ahi/Developer/Docs/ahi_sub.html
m68k-amigaos-ahi/Developer/Docs/ahidev.guide
m68k-amigaos-ahi/Developer/Docs/ahidev.html
m68k-amigaos-ahi/Developer/Docs/ahidev.pdf
m68k-amigaos-ahi/Developer/Include/Asm/devices/ahi.i
m68k-amigaos-ahi/Developer/Include/Asm/libraries/ahi_sub.i
m68k-amigaos-ahi/Developer/Include/C/clib/ahi_protos.h
m68k-amigaos-ahi/Developer/Include/C/clib/ahi_sub_protos.h
m68k-amigaos-ahi/Developer/Include/C/defines/ahi.h
m68k-amigaos-ahi/Developer/Include/C/defines/ahi_sub.h
m68k-amigaos-ahi/Developer/Include/C/devices/ahi.h
m68k-amigaos-ahi/Developer/Include/C/interfaces/ahi.h
m68k-amigaos-ahi/Developer/Include/C/interfaces/ahi_sub.h
m68k-amigaos-ahi/Developer/Include/C/libraries/ahi_sub.h
m68k-amigaos-ahi/Developer/Include/C/pragmas/ahi_pragmas.h
m68k-amigaos-ahi/Developer/Include/C/pragmas/ahi_sub_pragmas.h
m68k-amigaos-ahi/Developer/Include/SFD/ahi_lib.sfd
m68k-amigaos-ahi/Developer/Include/SFD/ahi_sub_lib.sfd
sfdc : m68k-amigaos-ahi/Developer/Include/SFD/ahi_lib.sfd
sfdc : m68k-amigaos-ahi/Developer/Include/SFD/ahi_sub_lib.sfd

13
sdk/cgx.sdk Normal file
View File

@ -0,0 +1,13 @@
Short: CyberGraphX retargetable graphics system
Version: 4.2
Url: http://aminet.net/dev/misc/CGraphX-DevKit.lha
CGraphX/Assembler/Include/cybergraphx/cybergraphics.i
CGraphX/Autodocs/cybergraphics.doc
CGraphX/C/Include/clib/cybergraphics_protos.h
CGraphX/C/Include/cybergraphx/cybergraphics.h
CGraphX/C/Include/pragmas/cybergraphics_pragmas.h
CGraphX/C/Include/proto/cybergraphics.h
CGraphX/FD/cybergraphics_lib.fd
fd2sfd : CGraphX/FD/cybergraphics_lib.fd CGraphX/C/Include/clib/cybergraphics_protos.h
sfdc : cybergraphics_lib.sfd

68
sdk/mmu.sdk Normal file
View File

@ -0,0 +1,68 @@
Short: m68k MMU control library
Version: 43.11
Url: http://aminet.net/docs/misc/MuManual.lha
MuManual/Autodocs/68040 = 68040.guide
MuManual/Autodocs/68040.doc
MuManual/Autodocs/68060 = 68060.guide
MuManual/Autodocs/68060.doc
MuManual/Autodocs/680x0 = 680x0.guide
MuManual/Autodocs/680x0.doc
MuManual/Autodocs/disassembler = disassembler.guide
MuManual/Autodocs/disassembler.doc
MuManual/Autodocs/exceptions.doc
MuManual/Autodocs/fpsp = fpsp.guide
MuManual/Autodocs/fpsp.doc
MuManual/Autodocs/memory.doc
MuManual/Autodocs/mmu = mmu.guide
MuManual/Autodocs/mmu.doc
MuManual/Autodocs/mmuexternals.doc
MuManual/Autodocs/mmures.doc
MuManual/Include/68040_lib.fd
MuManual/Include/68060_lib.fd
MuManual/Include/680x0_lib.fd
MuManual/Include/clib/68040_protos.h
MuManual/Include/clib/68060_protos.h
MuManual/Include/clib/680x0_protos.h
MuManual/Include/clib/disassembler_protos.h
MuManual/Include/clib/mmu_protos.h
MuManual/Include/disassembler_lib.fd
MuManual/Include/libraries/68040.h
MuManual/Include/libraries/68040.i
MuManual/Include/libraries/68060.h
MuManual/Include/libraries/68060.i
MuManual/Include/libraries/680x0.h
MuManual/Include/libraries/680x0.i
MuManual/Include/libraries/disassembler.h
MuManual/Include/libraries/disassembler.i
MuManual/Include/mmu/alerts.h
MuManual/Include/mmu/alerts.i
MuManual/Include/mmu/config.h
MuManual/Include/mmu/config.i
MuManual/Include/mmu/context.h
MuManual/Include/mmu/context.i
MuManual/Include/mmu/descriptor.h
MuManual/Include/mmu/descriptor.i
MuManual/Include/mmu/exceptions.h
MuManual/Include/mmu/exceptions.i
MuManual/Include/mmu/mmubase.h
MuManual/Include/mmu/mmubase.i
MuManual/Include/mmu/mmutags.h
MuManual/Include/mmu/mmutags.i
MuManual/Include/mmu_lib.fd
MuManual/Include/pragmas/68040_pragmas.h
MuManual/Include/pragmas/68060_pragmas.h
MuManual/Include/pragmas/680x0_pragmas.h
MuManual/Include/pragmas/disassembler_pragmas.h
MuManual/Include/pragmas/mmu_pragmas.h
MuManual/Manual/mmudoc_600.ps = mmudoc.ps
fd2sfd : MuManual/Include/68040_lib.fd MuManual/Include/clib/68040_protos.h
fd2sfd : MuManual/Include/68060_lib.fd MuManual/Include/clib/68060_protos.h
fd2sfd : MuManual/Include/680x0_lib.fd MuManual/Include/clib/680x0_protos.h
fd2sfd : MuManual/Include/disassembler_lib.fd MuManual/Include/clib/disassembler_protos.h
fd2sfd : MuManual/Include/mmu_lib.fd MuManual/Include/clib/mmu_protos.h
sfdc : 68040_lib.sfd
sfdc : 68060_lib.sfd
sfdc : 680x0_lib.sfd
sfdc : disassembler_lib.sfd
sfdc : mmu_lib.sfd

78
sdk/mui.sdk Normal file
View File

@ -0,0 +1,78 @@
Short: Magic User Interface
Version: 3.8
Url: http://aminet.net/dev/mui/mui38dev.lha
MUI/Developer/Autodocs/MUI_Aboutmui.doc
MUI/Developer/Autodocs/MUI_Application.doc
MUI/Developer/Autodocs/MUI_Applist.doc
MUI/Developer/Autodocs/MUI_Area.doc
MUI/Developer/Autodocs/MUI_Balance.doc
MUI/Developer/Autodocs/MUI_Bitmap.doc
MUI/Developer/Autodocs/MUI_Bodychunk.doc
MUI/Developer/Autodocs/MUI_Boopsi.doc
MUI/Developer/Autodocs/MUI_Cclist.doc
MUI/Developer/Autodocs/MUI_Coloradjust.doc
MUI/Developer/Autodocs/MUI_Colorfield.doc
MUI/Developer/Autodocs/MUI_Configdata.doc
MUI/Developer/Autodocs/MUI_Cycle.doc
MUI/Developer/Autodocs/MUI_Dataspace.doc
MUI/Developer/Autodocs/MUI_Dirlist.doc
MUI/Developer/Autodocs/MUI_Dtpic.doc
MUI/Developer/Autodocs/MUI_Family.doc
MUI/Developer/Autodocs/MUI_Floattext.doc
MUI/Developer/Autodocs/MUI_Frameadjust.doc
MUI/Developer/Autodocs/MUI_Framedisplay.doc
MUI/Developer/Autodocs/MUI_Gadget.doc
MUI/Developer/Autodocs/MUI_Gauge.doc
MUI/Developer/Autodocs/MUI_Group.doc
MUI/Developer/Autodocs/MUI_Image.doc
MUI/Developer/Autodocs/MUI_Imageadjust.doc
MUI/Developer/Autodocs/MUI_Imagedisplay.doc
MUI/Developer/Autodocs/MUI_Knob.doc
MUI/Developer/Autodocs/MUI_Levelmeter.doc
MUI/Developer/Autodocs/MUI_List.doc
MUI/Developer/Autodocs/MUI_Listview.doc
MUI/Developer/Autodocs/MUI_Mccprefs.doc
MUI/Developer/Autodocs/MUI_Menu.doc
MUI/Developer/Autodocs/MUI_Menuitem.doc
MUI/Developer/Autodocs/MUI_Menustrip.doc
MUI/Developer/Autodocs/MUI_Notify.doc
MUI/Developer/Autodocs/MUI_Numeric.doc
MUI/Developer/Autodocs/MUI_Numericbutton.doc
MUI/Developer/Autodocs/MUI_Palette.doc
MUI/Developer/Autodocs/MUI_Penadjust.doc
MUI/Developer/Autodocs/MUI_Pendisplay.doc
MUI/Developer/Autodocs/MUI_Popasl.doc
MUI/Developer/Autodocs/MUI_Popframe.doc
MUI/Developer/Autodocs/MUI_Popimage.doc
MUI/Developer/Autodocs/MUI_Poplist.doc
MUI/Developer/Autodocs/MUI_Popobject.doc
MUI/Developer/Autodocs/MUI_Poppen.doc
MUI/Developer/Autodocs/MUI_Popscreen.doc
MUI/Developer/Autodocs/MUI_Popstring.doc
MUI/Developer/Autodocs/MUI_Prop.doc
MUI/Developer/Autodocs/MUI_Radio.doc
MUI/Developer/Autodocs/MUI_Rectangle.doc
MUI/Developer/Autodocs/MUI_Register.doc
MUI/Developer/Autodocs/MUI_Scale.doc
MUI/Developer/Autodocs/MUI_Scrmodelist.doc
MUI/Developer/Autodocs/MUI_Scrollbar.doc
MUI/Developer/Autodocs/MUI_Scrollgroup.doc
MUI/Developer/Autodocs/MUI_Semaphore.doc
MUI/Developer/Autodocs/MUI_Settings.doc
MUI/Developer/Autodocs/MUI_Settingsgroup.doc
MUI/Developer/Autodocs/MUI_Slider.doc
MUI/Developer/Autodocs/MUI_String.doc
MUI/Developer/Autodocs/MUI_Text.doc
MUI/Developer/Autodocs/MUI_Virtgroup.doc
MUI/Developer/Autodocs/MUI_Volumelist.doc
MUI/Developer/Autodocs/MUI_Window.doc
MUI/Developer/Autodocs/MUImaster.doc
MUI/Developer/Docs/MUIdev.guide
MUI/Developer/C/Include/clib/muimaster_protos.h
MUI/Developer/C/Include/libraries/mui.h
MUI/Developer/C/Include/pragma/muimaster_lib.h
MUI/Developer/C/Include/pragmas/muimaster_pragmas.h
MUI/Developer/FD/muimaster_lib.fd
fd2sfd : MUI/Developer/FD/muimaster_lib.fd MUI/Developer/C/Include/clib/muimaster_protos.h
sfdc : muimaster_lib.sfd