diff --git a/.gitignore b/.gitignore
index a3f0b1b..c780c5b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
*.lst
+.*.sw?
diff --git a/Makefile b/Makefile
index 5dba2b2..3e480d0 100644
--- a/Makefile
+++ b/Makefile
@@ -28,6 +28,22 @@ PGM=___PACKAGENAME___
# TARGETTYPE=nda
# TARGETTYPE=xcmd
+# Uncomment one of the following lines to force a particular GS emulator.
+# By default, specific paths are tested for these emulators in the below
+# order and the first found is what will be used. You can overrride that
+# here:
+#
+# EMULATOR=gsplus
+# EMULATOR=mame
+# EMULATOR=gsport
+
+# By default, the build provides a single boot environment to test with.
+# You can put other .2mg files into the make directory and override this
+# variable to change what boot disk you want to use when you launch the
+# emulator. The disk image you specify must be found in the make directory:
+#
+# BOOTIMAGE=system601.2mg
+
# Add any other directories where you are putting C or assembly source
# files to this list:
# SRCDIRS+=
@@ -65,7 +81,7 @@ LDFLAGS+=
# Uncomment the following line if you want to build against the GNO libraries
# export ORCA=$(ORCA_BINDIR)/gno
-# If you want to copy one or more files or directories to the target disk
+# If you want to copy one or more files or directories to the distribution disk
# image, add the root directory to this variable. Any directories under
# the source directory which don't exist in the target disk image will be
# created. All files will be copied from the source to the target using
@@ -73,23 +89,61 @@ LDFLAGS+=
#
# For example, if you set COPYDIRS to dir and in your project you have
# the following files:
+# dir/Icons/myIconFile
+# dir/newDir/anotherFile
+# Then, during the copy phase, myIconFile will be copied into the Icons
+# folder and a folder newDir will be created and anotherFile will be copied
+# into there.
+COPYDIRS=
+
+# If you want to copy one or more files or directories to the boot disk
+# image, add the root directory to this variable. Any directories under
+# the source directory which don't exist in the boot disk image will be
+# created. All files will be copied from the source to the target using
+# the same path from the source.
+#
+# For example, if you set COPYBOOTDIRS to dir and in your project you have
+# the following files:
# dir/System/mySystemFile
# dir/newDir/anotherFile
# Then, during the copy phase, mySystemFile will be copied into the System
# folder and a folder newDir will be created and anotherFile will be copied
# into there.
-COPYDIRS=
+COPYBOOTDIRS=
# By default, the build expects that you have GSplus in the path:
# /Applications/GSplus.app/Contents/MacOS/gsplus
# If you have it in a different location, specify that here.
# GSPLUS=/Applications/GSplus.app/Contents/MacOS/gsplus
+# By default, the build uses no arguments with GSplus. If you would like to
+# use different arguments, specify that here.
+# GSPLUSARGS=
+
# By default, the build expects that you have GSport in the path:
# /Applications/GSport/GSport.app/Contents/MacOS/GSport
# If you have it in a different location, specify that here.
# GSPORT=/Applications/GSport/GSport.app/Contents/MacOS/GSport
+# By default, the build uses no arguments with GSport. If you would like to
+# use different arguments, specify that here.
+# GSPORTARGS=
+
+# By default, the build expects that you have Ample/mame in the path:
+# /Applications/Ample.app/Contents/MacOS/mame64
+# If you have it in a different location, specify that here.
+# MAME=/Applications/Ample.app/Contents/MacOS/mame64
+
+# By default, the build expects that you have the mame ROMs/libs in the path:
+# $(HOME)/Library/Application Support/Ample
+# If you have it in a different location, specify that here.
+# MAMELIB=$(HOME)/Library/Application Support/Ample
+
+# By default, the build uses these arguments with mame:
+# apple2gs -skip_gameinfo -mouse -window -resolution 1408x1056 -ramsize 4M -sl7 cffa202
+# If you would like to use different arguments, specify that here.
+# MAMEARGS=apple2gs -skip_gameinfo -mouse -window -resolution 1408x1056 -ramsize 4M -sl7 cffa202
+
# For a desktop application, it can operate in 640x200 or 320x200
# resolution. This setting is used to define which horizontal
# resolution you want to use for a desktop application. Other
diff --git a/Makefile.merlin b/Makefile.merlin
index 765915a..4bfba0c 100644
--- a/Makefile.merlin
+++ b/Makefile.merlin
@@ -33,6 +33,22 @@ ASSEMBLER=merlin
# TARGETTYPE=nda
# TARGETTYPE=xcmd
+# Uncomment one of the following lines to force a particular GS emulator.
+# By default, specific paths are tested for these emulators in the below
+# order and the first found is what will be used. You can overrride that
+# here:
+#
+# EMULATOR=gsplus
+# EMULATOR=mame
+# EMULATOR=gsport
+
+# By default, the build provides a single boot environment to test with.
+# You can put other .2mg files into the make directory and override this
+# variable to change what boot disk you want to use when you launch the
+# emulator. The disk image you specify must be found in the make directory:
+#
+# BOOTIMAGE=system601.2mg
+
# Add any other directories where you are putting C or assembly source
# files to this list. Note that you must manually add all source files
# to the linkscript.s file. All this does is help the build system
@@ -50,7 +66,7 @@ REZFLAGS+=
# put the rlint somewhere weird, you can set this to the correct path
# RLINT_PATH=rlint
-# If you want to copy one or more files or directories to the target disk
+# If you want to copy one or more files or directories to the distribution disk
# image, add the root directory to this variable. Any directories under
# the source directory which don't exist in the target disk image will be
# created. All files will be copied from the source to the target using
@@ -58,23 +74,61 @@ REZFLAGS+=
#
# For example, if you set COPYDIRS to dir and in your project you have
# the following files:
+# dir/Icons/myIconFile
+# dir/newDir/anotherFile
+# Then, during the copy phase, myIconFile will be copied into the Icons
+# folder and a folder newDir will be created and anotherFile will be copied
+# into there.
+COPYDIRS=
+
+# If you want to copy one or more files or directories to the boot disk
+# image, add the root directory to this variable. Any directories under
+# the source directory which don't exist in the boot disk image will be
+# created. All files will be copied from the source to the target using
+# the same path from the source.
+#
+# For example, if you set COPYBOOTDIRS to dir and in your project you have
+# the following files:
# dir/System/mySystemFile
# dir/newDir/anotherFile
# Then, during the copy phase, mySystemFile will be copied into the System
# folder and a folder newDir will be created and anotherFile will be copied
# into there.
-COPYDIRS=
+COPYBOOTDIRS=
# By default, the build expects that you have GSplus in the path:
# /Applications/GSplus.app/Contents/MacOS/gsplus
# If you have it in a different location, specify that here.
# GSPLUS=/Applications/GSplus.app/Contents/MacOS/gsplus
+# By default, the build uses no arguments with GSplus. If you would like to
+# use different arguments, specify that here.
+# GSPLUSARGS=
+
# By default, the build expects that you have GSport in the path:
# /Applications/GSport/GSport.app/Contents/MacOS/GSport
# If you have it in a different location, specify that here.
# GSPORT=/Applications/GSport/GSport.app/Contents/MacOS/GSport
+# By default, the build uses no arguments with GSport. If you would like to
+# use different arguments, specify that here.
+# GSPORTARGS=
+
+# By default, the build expects that you have Ample/mame in the path:
+# /Applications/Ample.app/Contents/MacOS/mame64
+# If you have it in a different location, specify that here.
+# MAME=/Applications/Ample.app/Contents/MacOS/mame64
+
+# By default, the build expects that you have the mame ROMs/libs in the path:
+# $(HOME)/Library/Application Support/Ample
+# If you have it in a different location, specify that here.
+# MAMELIB=$(HOME)/Library/Application Support/Ample
+
+# By default, the build uses these arguments with mame:
+# apple2gs -skip_gameinfo -mouse -window -resolution 1408x1056 -ramsize 4M -sl7 cffa202
+# If you would like to use different arguments, specify that here.
+# MAMEARGS=apple2gs -skip_gameinfo -mouse -window -resolution 1408x1056 -ramsize 4M -sl7 cffa202
+
# For a desktop application, it can operate in 640x200 or 320x200
# resolution. This setting is used to define which horizontal
# resolution you want to use for a desktop application. Other
diff --git a/make/config.txt b/make/config.txt
index ee25a72..76d0ff9 100644
--- a/make/config.txt
+++ b/make/config.txt
@@ -6,7 +6,7 @@ s5d2 =
s6d1 =
s6d2 =
-s7d1 = ../___PACKAGENAME___.2mg
+s7d1 =
g_joystick_type = 0
g_limit_speed = 0
diff --git a/make/createDiskImage b/make/createDiskImage
index 17146eb..21e3758 100755
--- a/make/createDiskImage
+++ b/make/createDiskImage
@@ -1,27 +1,31 @@
#!/bin/sh
-
-MOUNTDIR=/tmp/a2gs_mount.$$
-TMPDISKIMAGE=/tmp/a2gs_diskimage_$$.2mg
-TEMPLATEDISKIMAGE=make/system601.2mg
-
if [ $# -lt 3 ]
then
- echo USAGE: $0 diskimage file directory
+ echo USAGE: $0 diskimage bootimage file [bootdest]
exit 1
fi
DISKIMAGE="$1"
shift
+DESTBOOTIMAGE="$1"
+shift
+
FILE="$1"
shift
-DISKIMAGEDEST="$1"
-shift
-DEST="${MOUNTDIR}/${DISKIMAGEDEST}"
+BOOTCOPYPATH="$1"
-COPYDIRS=$*
+PROGRAM=`basename "$FILE"`
+TMPDIR=/tmp/a2gs_mount.$$
+MOUNTDIR="${TMPDIR}/$PROGRAM"
+TMPDISKIMAGE=/tmp/a2gs_diskimage_$$.2mg
+TMPBOOTIMAGE=/tmp/a2gs_bootimage_$$.2mg
+TMPARCHIVE=/tmp/s2gs_archive_$$.shk
+TEMPLATEDISKIMAGE="make/empty.2mg"
+TEMPLATEBOOTIMAGE="make/$BOOTIMAGE"
+ARCHIVE=`dirname "$DISKIMAGE"`/"${PROGRAM}.shk"
# It looks like on Linux, the cp command needs a special argument to preserve the resource fork. This isn't ideal
# but for now, if uname is Darwin, then this is MacOS and we don't need any cp args. If not Darwin, then assume
@@ -41,8 +45,11 @@ cleanupAndExit()
{
umount "$MOUNTDIR" 2> /dev/null
rm -f "$TMPDISKIMAGE" 2> /dev/null
+ rm -f "$TMPBOOTIMAGE" 2> /dev/null
+ rm -f "$TMPARCHIVE" 2> /dev/null
rm -f "$DISKIMAGE" 2> /dev/null
- rmdir "$MOUNTDIR" 2> /dev/null
+ rm -f "$DESTBOOTIMAGE" 2> /dev/null
+ rm -rf "$TMPDIR" 2> /dev/null
exit 1
}
@@ -52,10 +59,16 @@ then
cleanupAndExit
fi
-cp "$TEMPLATEDISKIMAGE" "$TMPDISKIMAGE"
+if [ ! -f "$TEMPLATEBOOTIMAGE" ]
+then
+ echo Unable to find the template boot image, $TEMPLATEBOOTIMAGE
+ cleanupAndExit
+fi
+
+mkdir "$TMPDIR"
if [ $? != 0 ]
then
- echo Unable to copy template disk image.
+ echo Unable to create the mount directory.
cleanupAndExit
fi
@@ -66,6 +79,81 @@ then
cleanupAndExit
fi
+cp "$TEMPLATEBOOTIMAGE" "$TMPBOOTIMAGE"
+if [ $? != 0 ]
+then
+ echo Unable to copy template boot image.
+ cleanupAndExit
+fi
+if [ ! -z "$COPYBOOTDIRS" ] || [ ! -z "BOOTCOPYPATH" ]
+then
+ profuse -orw "$TMPBOOTIMAGE" "$MOUNTDIR"
+ if [ $? != 0 ]
+ then
+ echo Unable to mount the boot image.
+ cleanupAndExit
+ fi
+
+ if [ ! -z "$BOOTCOPYPATH" ]
+ then
+ cp $CPARGS "$FILE" "$MOUNTDIR/$BOOTCOPYPATH"
+ if [ $? != 0 ]
+ then
+ echo Unable to copy the file to the boot image.
+ cleanupAndExit
+ fi
+ fi
+
+ OLDDIR=`pwd`
+ for COPYDIR in $COPYBOOTDIRS
+ do
+ cd "$COPYDIR"
+ if [ $? != 0 ]
+ then
+ echo Unable to find $COPYDIR
+ cleanupAndExit
+ fi
+
+ find . -print | while read FILEORDIR
+ do
+ if [ -d "$FILEORDIR" ]
+ then
+ mkdir -p "${MOUNTDIR}/$FILEORDIR"
+ elif [ -f "$FILEORDIR" ]
+ then
+ cp $CPARGS "$FILEORDIR" "${MOUNTDIR}/$FILEORDIR"
+ fi
+ done
+ cd "$OLDDIR"
+ done
+
+ RETRIES=0
+ while [ $RETRIES -lt 5 ]
+ do
+ umount "$MOUNTDIR"
+ if [ $? -eq 0 ]
+ then
+ break
+ fi
+
+ RETRIES=`expr $RETRIES + 1`
+ sleep 1
+ done
+
+ if [ $RETRIES -ge 5 ]
+ then
+ echo Unable to unmount the boot image.
+ cleanupAndExit
+ fi
+fi
+
+cp "$TEMPLATEDISKIMAGE" "$TMPDISKIMAGE"
+if [ $? != 0 ]
+then
+ echo Unable to copy template disk image.
+ cleanupAndExit
+fi
+
profuse -orw "$TMPDISKIMAGE" "$MOUNTDIR"
if [ $? != 0 ]
then
@@ -73,7 +161,7 @@ then
cleanupAndExit
fi
-cp $CPARGS "$FILE" "$DEST"
+cp $CPARGS "$FILE" "$MOUNTDIR"
if [ $? != 0 ]
then
echo Unable to copy the file to the disk image.
@@ -103,6 +191,15 @@ do
cd "$OLDDIR"
done
+cd "$TMPDIR"
+$ORCA "$OLDDIR/make/tar" cf "$TMPARCHIVE" "$PROGRAM"
+if [ $? != 0 ]
+then
+ echo Unable to create archive.
+ cleanupAndExit
+fi
+cd "$OLDDIR"
+
RETRIES=0
while [ $RETRIES -lt 5 ]
do
@@ -129,6 +226,22 @@ then
cleanupAndExit
fi
+cp "$TMPBOOTIMAGE" "$DESTBOOTIMAGE"
+if [ $? != 0 ]
+then
+ echo Unable to copy the boot image to the destination.
+ cleanupAndExit
+fi
+
+cp "$TMPARCHIVE" "$ARCHIVE"
+if [ $? != 0 ]
+then
+ echo Unable to copy the archive to the destination.
+ cleanupAndExit
+fi
+
rm -f "$TMPDISKIMAGE"
-rmdir "$MOUNTDIR"
+rm -f "$TMPBOOTIMAGE"
+rm -f "$TMPARCHIVE"
+rm -rf "$TMPDIR"
exit 0
diff --git a/make/empty.2mg b/make/empty.2mg
new file mode 100644
index 0000000..4b1474b
Binary files /dev/null and b/make/empty.2mg differ
diff --git a/make/head.mk b/make/head.mk
index 20a1aca..a697081 100644
--- a/make/head.mk
+++ b/make/head.mk
@@ -72,10 +72,40 @@ DESKTOP_RES_MODE=640
MESSAGE_CENTER=0
GSPLUS=/Applications/GSplus.app/Contents/MacOS/gsplus
+GSPLUSARGS=
GSPORT=/Applications/GSport/GSport.app/Contents/MacOS/GSport
+GSPORTARGS=
+MAME=/Applications/Ample.app/Contents/MacOS/mame64
+MAMELIB=$(HOME)/Library/Application Support/Ample
+MAMEARGS=apple2gs -skip_gameinfo -mouse -window -resolution 1408x1056 -ramsize 4M -sl7 cffa202
export GSPLUS
+export GSPLUSARGS
export GSPORT
+export GSPORTARGS
+export MAME
+export MAMELIB
+export MAMEARGS
+
+ifneq (,$(wildcard $GSPLUS))
+ EMULATOR=gsplus
+else ifneq (,$(wildcard $MAME))
+ EMULATOR=mame
+else ifneq (,$(wildcard $GSPORT))
+ EMULATOR=gsport
+else
+ EMULATOR=gsplus
+endif
+
+export EMULATOR
+
+BOOTIMAGE=system601.2mg
+export BOOTIMAGE
+
+COPYDIRS=
+export COPYDIRS
+COPYBOOTDIRS=
+export COPYBOOTDIRS
XCODE_PATH=/Applications/Xcode.app
XCODE_INFO=$(XCODE_PATH)/Contents/Info.plist
diff --git a/make/launchEmulator b/make/launchEmulator
index e9e7086..2ee547b 100755
--- a/make/launchEmulator
+++ b/make/launchEmulator
@@ -1,18 +1,29 @@
#!/bin/sh
-if [ ! -z "$GSPLUS" ] && [ -x "$GSPLUS" ]
-then
- EMULATORPATH="$GSPLUS"
-elif [ ! -z "$GSPORT" ] && [ -x "$GSPORT" ]
-then
- EMULATORPATH="$GSPORT"
-fi
+TMPDIR="/tmp/a2gs_emulator.$$"
-if [ -z "$EMULATORPATH" ]
+cleanupAndExit()
+{
+ cd
+ if [ ! -z $PID ]
+ then
+ kill $PID 2> /dev/null
+ fi
+ rm -rf $TMPDIR
+ exit 0
+}
+
+createConfigTxt()
+{
+ mkdir "$TMPDIR"
+ sed "s:^s7d1 *=.*$:s7d1 = $BOOTIMAGE:
+s:^s5d1 *=.*:s5d1 = $DISKIMAGE:" < make/config.txt > "$TMPDIR/config.txt"
+
+}
+
+if [ $# -ne 2 ]
then
- echo Unable to find GSplus or GSport at these locations.
- echo " GSPLUS=$GSPLUS"
- echo " GSPORT=$GSPORT"
+ echo USAGE $0: diskimage bootimage
exit 1
fi
@@ -22,15 +33,52 @@ then
DISKIMAGE="$PWD/$DISKIMAGE"
fi
-cd make
-sed -i "" "s:^s7d1 *=.*$:s7d1 = $DISKIMAGE:" config.txt
+BOOTIMAGE="$2"
+if echo $BOOTIMAGE | grep -v '^/' > /dev/null
+then
+ BOOTIMAGE="$PWD/$BOOTIMAGE"
+fi
+case "$EMULATOR" in
+ gsplus)
+ EMULATORPATH="$GSPLUS"
+ EMULATORARGS="$GSPLUSARGS"
+ EMULATORDIR="$TMPDIR"
+ createConfigTxt
+ ;;
+ gsport)
+ EMULATORPATH="$GSPORT"
+ EMULATORARGS="$GSPORTARGS"
+ EMULATORDIR="$TMPDIR"
+ createConfigTxt
+ ;;
+ mame)
+ EMULATORPATH="$MAME"
+ EMULATORARGS="$MAMEARGS -hard1 "$BOOTIMAGE" -flop3 "$DISKIMAGE""
+ EMULATORDIR="$MAMELIB"
+ ;;
+ *)
+ echo Invalid emulator specified, \"$EMULATOR\"
+ exit 1
+ ;;
+esac
+
+if [ ! -x "$EMULATORPATH" ]
+then
+ echo Unable to find $EMULATOR at $EMULATORPATH
+ exit 1
+fi
+
+if [ ! -d "$EMULATORDIR" ]
+then
+ echo Unable to find $EMULATOR library at $EMULATORDIR
+ exit 1
+fi
+
+cd "$EMULATORDIR"
# This magic ensure that clicking stop in Xcode results in the emulator terminating.
-
-$EMULATORPATH &
+"$EMULATORPATH" $EMULATORARGS &
PID=$!
-trap 'kill $PID' SIGTERM SIGINT SIGHUP EXIT
+trap cleanupAndExit SIGTERM SIGINT SIGHUP EXIT
wait
-
-exit 0
diff --git a/make/system601.2mg b/make/system601.2mg
index 12d9c00..ff5588b 100644
Binary files a/make/system601.2mg and b/make/system601.2mg differ
diff --git a/make/tail.mk b/make/tail.mk
index 491608c..9f8b3f6 100644
--- a/make/tail.mk
+++ b/make/tail.mk
@@ -7,9 +7,11 @@ export PATH := $(PATH):$(ORCA_BIN)
CWD=$(shell pwd)
DISKIMAGE=$(TARGETDIR)/$(PGM).2mg
+ARCHIVE=$(TARGETDIR)/$(PGM).shk
+DESTBOOTIMAGE=$(TARGETDIR)/$(BOOTIMAGE)
BUILDTARGET=$(DISKIMAGE)
EXECTARGET=executeGUI
-DISKIMAGEDEST=.
+BOOTCOPYPATH=
AUXTYPE=
CFLAGS+=-i$(GENDIR)
@@ -31,18 +33,18 @@ else ifeq ($(TARGETTYPE),desktop)
REZFLAGS+=rez='-d MESSAGE_CENTER=$(MESSAGE_CENTER)'
else ifeq ($(TARGETTYPE),cda)
FILETYPE=cda
- DISKIMAGEDEST=System/Desk.Accs
+ BOOTCOPYPATH=System/Desk.Accs
else ifeq ($(TARGETTYPE),cdev)
BINTARGET=$(TARGETDIR)/$(PGM).bin
FILETYPE=199
- DISKIMAGEDEST=System/CDevs
+ BOOTCOPYPATH=System/CDevs
REZFLAGS+=rez='-d BINTARGET="$(BINTARGET)"'
else ifeq ($(TARGETTYPE),nba)
FILETYPE=exe
BUILDTARGET=$(TARGETDIR)/$(PGM)
else ifeq ($(TARGETTYPE),nda)
FILETYPE=nda
- DISKIMAGEDEST=System/Desk.Accs
+ BOOTCOPYPATH=System/Desk.Accs
else ifeq ($(TARGETTYPE),xcmd)
FILETYPE=exe
BUILDTARGET=$(TARGETDIR)/$(PGM)
@@ -105,6 +107,8 @@ clean: genclean
$(RM) $(ALL_DEPS)
$(RM) $(ASM_MACROS)
$(RM) "$(DISKIMAGE)"
+ $(RM) "$(DESTBOOTIMAGE)"
+ $(RM) "$(ARCHIVE)"
createPackage:
pkg/createPackage
@@ -178,13 +182,13 @@ $(TARGETDIR)/$(PGM): $(REZ_OBJS)
endif
-$(DISKIMAGE): $(TARGETDIR)/$(PGM)
- make/createDiskImage "$(DISKIMAGE)" "$(TARGETDIR)/$(PGM)" "$(DISKIMAGEDEST)" $(COPYDIRS)
+$(DISKIMAGE): $(TARGETDIR)/$(PGM) make/empty.2mg make/$(BOOTIMAGE)
+ make/createDiskImage "$(DISKIMAGE)" $(DESTBOOTIMAGE) "$(TARGETDIR)/$(PGM)" $(BOOTCOPYPATH)
execute: $(EXECTARGET)
executeGUI: all
- make/launchEmulator "$(DISKIMAGE)"
+ make/launchEmulator "$(DISKIMAGE)" "$(DESTBOOTIMAGE)"
executeShell: all
$(ORCA) $(TARGETDIR)/$(PGM)
diff --git a/make/tar b/make/tar
new file mode 100644
index 0000000..3e14264
Binary files /dev/null and b/make/tar differ
diff --git a/pkg/Templates/Apple IIgs/Merlin Classic Desk Accessory.xctemplate/TemplateInfo.plist b/pkg/Templates/Apple IIgs/Merlin Classic Desk Accessory.xctemplate/TemplateInfo.plist
index 04d3278..8fd5de3 100644
--- a/pkg/Templates/Apple IIgs/Merlin Classic Desk Accessory.xctemplate/TemplateInfo.plist
+++ b/pkg/Templates/Apple IIgs/Merlin Classic Desk Accessory.xctemplate/TemplateInfo.plist
@@ -14,6 +14,8 @@
make/merlin-asm
make/orca-rez
make/system601.2mg
+ make/empty.2mg
+ make/tar
make/tail.mk
../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme
@@ -78,6 +80,20 @@
Path
make/system601.2mg
+ make/empty.2mg
+
+ Group
+ make
+ Path
+ make/empty.2mg
+
+ make/tar
+
+ Group
+ make
+ Path
+ make/tar
+
make/tail.mk
Group
@@ -173,6 +189,19 @@
___PACKAGENAME___.2mg
+
+ ProductType
+ com.apple.product-type.tool
+ TargetIdentifier
+ com.apple.dt.commandLineToolTarget
+ Name
+ Archive
+ SharedSettings
+
+ PRODUCT_NAME
+ ___PACKAGENAME___.shk
+
+
ProductType
com.apple.product-type.tool
diff --git a/pkg/Templates/Apple IIgs/Merlin Classic Desk Accessory.xctemplate/___PACKAGENAME___.xcscheme b/pkg/Templates/Apple IIgs/Merlin Classic Desk Accessory.xctemplate/___PACKAGENAME___.xcscheme
index 09443c4..a89e25e 100644
--- a/pkg/Templates/Apple IIgs/Merlin Classic Desk Accessory.xctemplate/___PACKAGENAME___.xcscheme
+++ b/pkg/Templates/Apple IIgs/Merlin Classic Desk Accessory.xctemplate/___PACKAGENAME___.xcscheme
@@ -61,7 +61,7 @@
isEnabled = "YES">
make/merlin-asm
make/orca-rez
make/system601.2mg
+ make/empty.2mg
+ make/tar
make/tail.mk
../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme
@@ -84,6 +86,20 @@
Path
make/system601.2mg
+ make/empty.2mg
+
+ Group
+ make
+ Path
+ make/empty.2mg
+
+ make/tar
+
+ Group
+ make
+ Path
+ make/tar
+
make/tail.mk
Group
@@ -179,6 +195,19 @@
___PACKAGENAME___.2mg
+
+ ProductType
+ com.apple.product-type.tool
+ TargetIdentifier
+ com.apple.dt.commandLineToolTarget
+ Name
+ Archive
+ SharedSettings
+
+ PRODUCT_NAME
+ ___PACKAGENAME___.shk
+
+
ProductType
com.apple.product-type.tool
diff --git a/pkg/Templates/Apple IIgs/Merlin Desktop Application.xctemplate/TemplateInfo.plist b/pkg/Templates/Apple IIgs/Merlin Desktop Application.xctemplate/TemplateInfo.plist
index 9dd0fb0..8cc46e7 100644
--- a/pkg/Templates/Apple IIgs/Merlin Desktop Application.xctemplate/TemplateInfo.plist
+++ b/pkg/Templates/Apple IIgs/Merlin Desktop Application.xctemplate/TemplateInfo.plist
@@ -15,6 +15,8 @@
make/merlin-asm
make/orca-rez
make/system601.2mg
+ make/empty.2mg
+ make/tar
make/tail.mk
../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme
@@ -84,6 +86,20 @@
Path
make/system601.2mg
+ make/empty.2mg
+
+ Group
+ make
+ Path
+ make/empty.2mg
+
+ make/tar
+
+ Group
+ make
+ Path
+ make/tar
+
make/tail.mk
Group
@@ -197,6 +213,19 @@
___PACKAGENAME___.2mg
+
+ ProductType
+ com.apple.product-type.tool
+ TargetIdentifier
+ com.apple.dt.commandLineToolTarget
+ Name
+ Archive
+ SharedSettings
+
+ PRODUCT_NAME
+ ___PACKAGENAME___.shk
+
+
ProductType
com.apple.product-type.tool
diff --git a/pkg/Templates/Apple IIgs/Merlin New Desk Accessory.xctemplate/TemplateInfo.plist b/pkg/Templates/Apple IIgs/Merlin New Desk Accessory.xctemplate/TemplateInfo.plist
index 19a25a2..fae1be2 100644
--- a/pkg/Templates/Apple IIgs/Merlin New Desk Accessory.xctemplate/TemplateInfo.plist
+++ b/pkg/Templates/Apple IIgs/Merlin New Desk Accessory.xctemplate/TemplateInfo.plist
@@ -15,6 +15,8 @@
make/merlin-asm
make/orca-rez
make/system601.2mg
+ make/empty.2mg
+ make/tar
make/tail.mk
../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme
@@ -84,6 +86,20 @@
Path
make/system601.2mg
+ make/empty.2mg
+
+ Group
+ make
+ Path
+ make/empty.2mg
+
+ make/tar
+
+ Group
+ make
+ Path
+ make/tar
+
make/tail.mk
Group
@@ -179,6 +195,19 @@
___PACKAGENAME___.2mg
+
+ ProductType
+ com.apple.product-type.tool
+ TargetIdentifier
+ com.apple.dt.commandLineToolTarget
+ Name
+ Archive
+ SharedSettings
+
+ PRODUCT_NAME
+ ___PACKAGENAME___.shk
+
+
ProductType
com.apple.product-type.tool
diff --git a/pkg/Templates/Apple IIgs/ORCAC Classic Desk Accessory.xctemplate/TemplateInfo.plist b/pkg/Templates/Apple IIgs/ORCAC Classic Desk Accessory.xctemplate/TemplateInfo.plist
index 7b97bbb..8e3e941 100644
--- a/pkg/Templates/Apple IIgs/ORCAC Classic Desk Accessory.xctemplate/TemplateInfo.plist
+++ b/pkg/Templates/Apple IIgs/ORCAC Classic Desk Accessory.xctemplate/TemplateInfo.plist
@@ -14,6 +14,8 @@
make/orca-cc
make/orca-rez
make/system601.2mg
+ make/empty.2mg
+ make/tar
make/tail.mk
../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme
@@ -80,6 +82,20 @@
Path
make/system601.2mg
+ make/empty.2mg
+
+ Group
+ make
+ Path
+ make/empty.2mg
+
+ make/tar
+
+ Group
+ make
+ Path
+ make/tar
+
make/tail.mk
Group
@@ -175,6 +191,19 @@
___PACKAGENAME___.2mg
+
+ ProductType
+ com.apple.product-type.tool
+ TargetIdentifier
+ com.apple.dt.commandLineToolTarget
+ Name
+ Archive
+ SharedSettings
+
+ PRODUCT_NAME
+ ___PACKAGENAME___.shk
+
+
ProductType
com.apple.product-type.tool
diff --git a/pkg/Templates/Apple IIgs/ORCAC Control Panel.xctemplate/TemplateInfo.plist b/pkg/Templates/Apple IIgs/ORCAC Control Panel.xctemplate/TemplateInfo.plist
index 05961a2..dd8efc8 100644
--- a/pkg/Templates/Apple IIgs/ORCAC Control Panel.xctemplate/TemplateInfo.plist
+++ b/pkg/Templates/Apple IIgs/ORCAC Control Panel.xctemplate/TemplateInfo.plist
@@ -16,6 +16,8 @@
make/orca-cc
make/orca-rez
make/system601.2mg
+ make/empty.2mg
+ make/tar
make/tail.mk
../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme
@@ -92,6 +94,20 @@
Path
make/system601.2mg
+ make/empty.2mg
+
+ Group
+ make
+ Path
+ make/empty.2mg
+
+ make/tar
+
+ Group
+ make
+ Path
+ make/tar
+
make/tail.mk
Group
@@ -187,6 +203,19 @@
___PACKAGENAME___.2mg
+
+ ProductType
+ com.apple.product-type.tool
+ TargetIdentifier
+ com.apple.dt.commandLineToolTarget
+ Name
+ Archive
+ SharedSettings
+
+ PRODUCT_NAME
+ ___PACKAGENAME___.shk
+
+
ProductType
com.apple.product-type.tool
diff --git a/pkg/Templates/Apple IIgs/ORCAC Desktop Application.xctemplate/TemplateInfo.plist b/pkg/Templates/Apple IIgs/ORCAC Desktop Application.xctemplate/TemplateInfo.plist
index 0dc9bc3..6d0320f 100644
--- a/pkg/Templates/Apple IIgs/ORCAC Desktop Application.xctemplate/TemplateInfo.plist
+++ b/pkg/Templates/Apple IIgs/ORCAC Desktop Application.xctemplate/TemplateInfo.plist
@@ -16,6 +16,8 @@
make/orca-cc
make/orca-rez
make/system601.2mg
+ make/empty.2mg
+ make/tar
make/tail.mk
../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme
@@ -92,6 +94,20 @@
Path
make/system601.2mg
+ make/empty.2mg
+
+ Group
+ make
+ Path
+ make/empty.2mg
+
+ make/tar
+
+ Group
+ make
+ Path
+ make/tar
+
make/tail.mk
Group
@@ -217,6 +233,19 @@
___PACKAGENAME___.2mg
+
+ ProductType
+ com.apple.product-type.tool
+ TargetIdentifier
+ com.apple.dt.commandLineToolTarget
+ Name
+ Archive
+ SharedSettings
+
+ PRODUCT_NAME
+ ___PACKAGENAME___.shk
+
+
ProductType
com.apple.product-type.tool
diff --git a/pkg/Templates/Apple IIgs/ORCAC New Desk Accessory.xctemplate/TemplateInfo.plist b/pkg/Templates/Apple IIgs/ORCAC New Desk Accessory.xctemplate/TemplateInfo.plist
index 9bf27a1..e6ccbc6 100644
--- a/pkg/Templates/Apple IIgs/ORCAC New Desk Accessory.xctemplate/TemplateInfo.plist
+++ b/pkg/Templates/Apple IIgs/ORCAC New Desk Accessory.xctemplate/TemplateInfo.plist
@@ -16,6 +16,8 @@
make/orca-cc
make/orca-rez
make/system601.2mg
+ make/empty.2mg
+ make/tar
make/tail.mk
../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme
@@ -92,6 +94,20 @@
Path
make/system601.2mg
+ make/empty.2mg
+
+ Group
+ make
+ Path
+ make/empty.2mg
+
+ make/tar
+
+ Group
+ make
+ Path
+ make/tar
+
make/tail.mk
Group
@@ -186,6 +202,19 @@
PRODUCT_NAME
___PACKAGENAME___.2mg
+
+
+ ProductType
+ com.apple.product-type.tool
+ TargetIdentifier
+ com.apple.dt.commandLineToolTarget
+ Name
+ Archive
+ SharedSettings
+
+ PRODUCT_NAME
+ ___PACKAGENAME___.shk
+
ProductType
diff --git a/pkg/Templates/Apple IIgs/ORCAM Classic Desk Accessory.xctemplate/TemplateInfo.plist b/pkg/Templates/Apple IIgs/ORCAM Classic Desk Accessory.xctemplate/TemplateInfo.plist
index 0e7238e..281e68e 100644
--- a/pkg/Templates/Apple IIgs/ORCAM Classic Desk Accessory.xctemplate/TemplateInfo.plist
+++ b/pkg/Templates/Apple IIgs/ORCAM Classic Desk Accessory.xctemplate/TemplateInfo.plist
@@ -14,6 +14,8 @@
make/orca-cc
make/orca-rez
make/system601.2mg
+ make/empty.2mg
+ make/tar
make/tail.mk
../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme
@@ -80,6 +82,20 @@
Path
make/system601.2mg
+ make/empty.2mg
+
+ Group
+ make
+ Path
+ make/empty.2mg
+
+ make/tar
+
+ Group
+ make
+ Path
+ make/tar
+
make/tail.mk
Group
@@ -174,6 +190,19 @@
PRODUCT_NAME
___PACKAGENAME___.2mg
+
+
+ ProductType
+ com.apple.product-type.tool
+ TargetIdentifier
+ com.apple.dt.commandLineToolTarget
+ Name
+ Archive
+ SharedSettings
+
+ PRODUCT_NAME
+ ___PACKAGENAME___.shk
+
ProductType
diff --git a/pkg/Templates/Apple IIgs/ORCAM Control Panel.xctemplate/TemplateInfo.plist b/pkg/Templates/Apple IIgs/ORCAM Control Panel.xctemplate/TemplateInfo.plist
index 871595a..675bd96 100644
--- a/pkg/Templates/Apple IIgs/ORCAM Control Panel.xctemplate/TemplateInfo.plist
+++ b/pkg/Templates/Apple IIgs/ORCAM Control Panel.xctemplate/TemplateInfo.plist
@@ -15,6 +15,8 @@
make/orca-cc
make/orca-rez
make/system601.2mg
+ make/empty.2mg
+ make/tar
make/tail.mk
../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme
@@ -86,6 +88,20 @@
Path
make/system601.2mg
+ make/empty.2mg
+
+ Group
+ make
+ Path
+ make/empty.2mg
+
+ make/tar
+
+ Group
+ make
+ Path
+ make/tar
+
make/tail.mk
Group
@@ -181,6 +197,19 @@
___PACKAGENAME___.2mg
+
+ ProductType
+ com.apple.product-type.tool
+ TargetIdentifier
+ com.apple.dt.commandLineToolTarget
+ Name
+ Archive
+ SharedSettings
+
+ PRODUCT_NAME
+ ___PACKAGENAME___.shk
+
+
ProductType
com.apple.product-type.tool
diff --git a/pkg/Templates/Apple IIgs/ORCAM Desktop Application.xctemplate/TemplateInfo.plist b/pkg/Templates/Apple IIgs/ORCAM Desktop Application.xctemplate/TemplateInfo.plist
index b07af23..3159744 100644
--- a/pkg/Templates/Apple IIgs/ORCAM Desktop Application.xctemplate/TemplateInfo.plist
+++ b/pkg/Templates/Apple IIgs/ORCAM Desktop Application.xctemplate/TemplateInfo.plist
@@ -15,6 +15,8 @@
make/orca-cc
make/orca-rez
make/system601.2mg
+ make/empty.2mg
+ make/tar
make/tail.mk
../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme
@@ -86,6 +88,20 @@
Path
make/system601.2mg
+ make/empty.2mg
+
+ Group
+ make
+ Path
+ make/empty.2mg
+
+ make/tar
+
+ Group
+ make
+ Path
+ make/tar
+
make/tail.mk
Group
@@ -199,6 +215,19 @@
___PACKAGENAME___.2mg
+
+ ProductType
+ com.apple.product-type.tool
+ TargetIdentifier
+ com.apple.dt.commandLineToolTarget
+ Name
+ Archive
+ SharedSettings
+
+ PRODUCT_NAME
+ ___PACKAGENAME___.shk
+
+
ProductType
com.apple.product-type.tool
diff --git a/pkg/Templates/Apple IIgs/ORCAM New Desk Accessory.xctemplate/TemplateInfo.plist b/pkg/Templates/Apple IIgs/ORCAM New Desk Accessory.xctemplate/TemplateInfo.plist
index 6df17ad..d57dc54 100644
--- a/pkg/Templates/Apple IIgs/ORCAM New Desk Accessory.xctemplate/TemplateInfo.plist
+++ b/pkg/Templates/Apple IIgs/ORCAM New Desk Accessory.xctemplate/TemplateInfo.plist
@@ -15,6 +15,8 @@
make/orca-cc
make/orca-rez
make/system601.2mg
+ make/empty.2mg
+ make/tar
make/tail.mk
../___PACKAGENAME___.xcodeproj/xcshareddata/xcschemes/___PACKAGENAME___.xcscheme
@@ -86,6 +88,20 @@
Path
make/system601.2mg
+ make/empty.2mg
+
+ Group
+ make
+ Path
+ make/empty.2mg
+
+ make/tar
+
+ Group
+ make
+ Path
+ make/tar
+
make/tail.mk
Group
@@ -181,6 +197,19 @@
___PACKAGENAME___.2mg
+
+ ProductType
+ com.apple.product-type.tool
+ TargetIdentifier
+ com.apple.dt.commandLineToolTarget
+ Name
+ Archive
+ SharedSettings
+
+ PRODUCT_NAME
+ ___PACKAGENAME___.shk
+
+
ProductType
com.apple.product-type.tool