From 54d575d0507db5071be98532c55e6a75cf185b41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krystian=20Bac=C5=82awski?= Date: Fri, 3 Jan 2014 00:03:53 +0100 Subject: [PATCH] SDK installer script - experimental version. --- install-sdk.sh | 168 +++++++++++++++++++++++++++++++++++++++++++++++++ sdk/ahi.sdk | 29 +++++++++ sdk/cgx.sdk | 13 ++++ sdk/mmu.sdk | 68 ++++++++++++++++++++ sdk/mui.sdk | 78 +++++++++++++++++++++++ 5 files changed, 356 insertions(+) create mode 100755 install-sdk.sh create mode 100644 sdk/ahi.sdk create mode 100644 sdk/cgx.sdk create mode 100644 sdk/mmu.sdk create mode 100644 sdk/mui.sdk diff --git a/install-sdk.sh b/install-sdk.sh new file mode 100755 index 0000000..7bf7b50 --- /dev/null +++ b/install-sdk.sh @@ -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 "$@" diff --git a/sdk/ahi.sdk b/sdk/ahi.sdk new file mode 100644 index 0000000..918b7a6 --- /dev/null +++ b/sdk/ahi.sdk @@ -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 diff --git a/sdk/cgx.sdk b/sdk/cgx.sdk new file mode 100644 index 0000000..655b192 --- /dev/null +++ b/sdk/cgx.sdk @@ -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 diff --git a/sdk/mmu.sdk b/sdk/mmu.sdk new file mode 100644 index 0000000..8ebd5aa --- /dev/null +++ b/sdk/mmu.sdk @@ -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 diff --git a/sdk/mui.sdk b/sdk/mui.sdk new file mode 100644 index 0000000..b302683 --- /dev/null +++ b/sdk/mui.sdk @@ -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