From 94cf6683987426151661f65219c20513b03b9bc5 Mon Sep 17 00:00:00 2001 From: Jeremy Rand Date: Tue, 16 May 2017 22:34:15 -0400 Subject: [PATCH] Initial commit --- Makefile | 59 +++++++++ make/.DS_Store | Bin 0 -> 6148 bytes make/head.mk | 37 ++++++ make/orca-asm | 18 +++ make/orca-cc | 66 +++++++++++ make/orca-rez | 45 +++++++ make/tail.mk | 111 +++++++++++++++++ pkg/.DS_Store | Bin 0 -> 6148 bytes pkg/Distribution.xml | 17 +++ pkg/Templates/.DS_Store | Bin 0 -> 6148 bytes pkg/Templates/Apple IIgs/.DS_Store | Bin 0 -> 6148 bytes .../TemplateInfo.plist | 112 ++++++++++++++++++ .../main.s | 22 ++++ .../TemplateInfo.plist | 112 ++++++++++++++++++ .../main.c | 18 +++ .../Assembly File.xctemplate/TemplateIcon.png | Bin 0 -> 4398 bytes .../TemplateIcon@2x.png | Bin 0 -> 6437 bytes .../TemplateInfo.plist | 16 +++ .../___FILEBASENAME___.s | 14 +++ .../Default/___FILEBASENAME___.c | 9 ++ .../C File.xctemplate/TemplateIcon.png | Bin 0 -> 4359 bytes .../C File.xctemplate/TemplateIcon@2x.png | Bin 0 -> 6323 bytes .../C File.xctemplate/TemplateInfo.plist | 53 +++++++++ .../WithHeader/___FILEBASENAME___.c | 9 ++ .../WithHeader/___FILEBASENAME___.h | 14 +++ pkg/createPackage | 20 ++++ pkg/scripts/preinstall | 9 ++ 27 files changed, 761 insertions(+) create mode 100644 Makefile create mode 100644 make/.DS_Store create mode 100644 make/head.mk create mode 100755 make/orca-asm create mode 100755 make/orca-cc create mode 100755 make/orca-rez create mode 100644 make/tail.mk create mode 100644 pkg/.DS_Store create mode 100644 pkg/Distribution.xml create mode 100644 pkg/Templates/.DS_Store create mode 100644 pkg/Templates/Apple IIgs/.DS_Store create mode 100644 pkg/Templates/Apple IIgs/Apple IIgs Asm Shell Command.xctemplate/TemplateInfo.plist create mode 100644 pkg/Templates/Apple IIgs/Apple IIgs Asm Shell Command.xctemplate/main.s create mode 100644 pkg/Templates/Apple IIgs/Apple IIgs C Shell Command.xctemplate/TemplateInfo.plist create mode 100644 pkg/Templates/Apple IIgs/Apple IIgs C Shell Command.xctemplate/main.c create mode 100644 pkg/Templates/File Templates/Apple IIgs/Assembly File.xctemplate/TemplateIcon.png create mode 100644 pkg/Templates/File Templates/Apple IIgs/Assembly File.xctemplate/TemplateIcon@2x.png create mode 100644 pkg/Templates/File Templates/Apple IIgs/Assembly File.xctemplate/TemplateInfo.plist create mode 100755 pkg/Templates/File Templates/Apple IIgs/Assembly File.xctemplate/___FILEBASENAME___.s create mode 100644 pkg/Templates/File Templates/Apple IIgs/C File.xctemplate/Default/___FILEBASENAME___.c create mode 100644 pkg/Templates/File Templates/Apple IIgs/C File.xctemplate/TemplateIcon.png create mode 100644 pkg/Templates/File Templates/Apple IIgs/C File.xctemplate/TemplateIcon@2x.png create mode 100644 pkg/Templates/File Templates/Apple IIgs/C File.xctemplate/TemplateInfo.plist create mode 100644 pkg/Templates/File Templates/Apple IIgs/C File.xctemplate/WithHeader/___FILEBASENAME___.c create mode 100644 pkg/Templates/File Templates/Apple IIgs/C File.xctemplate/WithHeader/___FILEBASENAME___.h create mode 100755 pkg/createPackage create mode 100755 pkg/scripts/preinstall diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..0dfa38c --- /dev/null +++ b/Makefile @@ -0,0 +1,59 @@ +# +# Makefile +# Apple //GS Build Engine for ORCA +# + +include make/head.mk + +# Customize this file to control what kind of project you are working on, +# where to find files, etc. + +# The name of your system or binary file to build goes here: +PGM=___PACKAGENAME___ + +# Set the target type you would like to build. The options are: +# shell - A shell command for ORCA, GNO or other GS shell +# desktop - A full desktop application +# cda - A classic desk accessory +# cdev - A control panel device +# nba - A HyperStudio new button action +# nda - A new desk accessory +# xcmd - A HyperCard XCMD or XCFN +# +TARGETTYPE=shell +# TARGETTYPE=desktop +# TARGETTYPE=cda +# TARGETTYPE=cdev +# TARGETTYPE=nba +# TARGETTYPE=nda +# TARGETTYPE=xcmd + +# Add any other directories where you are putting C or assembly source +# files to this list: +# SRCDIRS+= + +# If you put your main entry point for your project in a file called main.c +# Then you don't need to change this value. If you want to call your entry +# point something other than main.c, set this variable to point to this file. +ROOTCFILE=main.c + +# Add any arguments you want passed to the C compiler to this variable: +CFLAGS+= + +# Add any arguments you want passed to the resource compiler to this variable: +REZFLAGS+= + +# Add any arguments you want passed to the macro generator to this variable: +MACGENFLAGS+= + +# Add any other macro libraries to include in this variable: +MACGENMACROS+= + +# Add any arguments you want passed to the assembler to this variable: +ASMFLAGS+= + +# Add any arguments you want passed to the linker to this variable: +LDFLAGS+= + +# Do not change anything else below here... +include make/tail.mk diff --git a/make/.DS_Store b/make/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..a0d8d64e1752c6a4ed2d931e8ef8b58bbf1abf00 GIT binary patch literal 6148 zcmeHKOHRW;41H6I+6oD(uGok-8%ogCIe((=2&ti4 zXTTY#Gq7jPzMTJ;zu*7sLEdr(oPnKUAhgF<;}IVzo~>ICCueO!y`_qXUuC!sVMUK( f`pQv!OjTijA{Am9u`*;2#eW2p1~<;YpEB?bT~|;% literal 0 HcmV?d00001 diff --git a/make/head.mk b/make/head.mk new file mode 100644 index 0000000..a062f62 --- /dev/null +++ b/make/head.mk @@ -0,0 +1,37 @@ +# +# head.mk +# + +ORCA_HOME := $(HOME)/orca + +ORCA_BINDIR = /usr/local/bin + +export ORCA=$(ORCA_BINDIR)/orca + +AC=make/AppleCommander.jar + +TARGETTYPE=shell + +SRCDIRS=. + +COMPILE=make/orca-cc +CFLAGS= -P -I +ROOTCFILE=main.c +DEFINES= +INCLUDE_PATHS= + +REZ=make/orca-rez +REZFLAGS= + +MACGEN=$(ORCA) macgen +MACGENFLAGS=-P +MACGENMACROS=$(wildcard $(ORCA_HOME)/libraries/ORCAInclude/m*) + +ASSEMBLE=make/orca-asm +ASMFLAGS=-P + +LINK=$(ORCA) link +LDFLAGS=-P + +RM=rm -f +CP=cp diff --git a/make/orca-asm b/make/orca-asm new file mode 100755 index 0000000..cb73ce9 --- /dev/null +++ b/make/orca-asm @@ -0,0 +1,18 @@ +#!/bin/bash + +FILENAME="$1" +shift + +if echo $FILENAME | grep -v '\.s$' > /dev/null +then + echo Expected first argument to be a *.s file but got $FILENAME + exit 1 +fi + +DIRNAME=`dirname $FILENAME` +BASENAME=`basename $FILENAME .s` + +cd "$DIRNAME" +$ORCA assemble $* keep="${BASENAME}" "${BASENAME}.s" +RESULT=$? +exit $RESULT diff --git a/make/orca-cc b/make/orca-cc new file mode 100755 index 0000000..6e7df1e --- /dev/null +++ b/make/orca-cc @@ -0,0 +1,66 @@ +#!/bin/bash + +TMPFILE=/tmp/orca-cc.$$ + +FILENAME="$1" +shift + +if echo $FILENAME | grep -v '\.c$' > /dev/null +then + echo Expected first argument to be a *.c file but got $FILENAME + exit 1 +fi + +CCARGS="" +COMPILEARGS="" +for ARG in $* +do + if echo $ARG | grep '^-[id]' > /dev/null + then + CCARGS="$CCARGS cc=$ARG" + else + COMPILEARGS="$COMPILEARGS $ARG" + fi +done + +BASENAME=`echo $FILENAME | sed 's/\.c$//'` +DEPSNAME="${BASENAME}.d" +OBJSNAME="${BASENAME}.a" +ROOTNAME="${BASENAME}.root" + +$ORCA --trace-gsos compile $COMPILEARGS "$FILENAME" keep="${BASENAME}" $CCARGS 2> $TMPFILE +RESULT=$? + +sed '/^[A-Za-z][A-Za-z]*(.*)$/d' $TMPFILE >&2 + +if [ "$RESULT" -ne 0 ] +then + rm -f $TMPFILE + rm -f $OBJSNAME + rm -f $ROOTNAME + exit $RESULT +fi + +DEPS=`awk ' + /^FastFileLoad/ { + sub(/^FastFileLoad\(/, ""); + sub(/\)$/, ""); + print}' $TMPFILE | sort -u | while read FILE + do + if [ -f "$FILE" ] + then + echo $FILE + fi + done | tr '\012' ' '` + +rm -f $TMPFILE + +# We add a dependency for both the .o and the .root file. If this is the +# main.c file being compiled, we need the dependency on the .root file. +cat > $DEPSNAME << EOF +$OBJSNAME: $DEPS + +$ROOTNAME: $DEPS +EOF + +exit 0 diff --git a/make/orca-rez b/make/orca-rez new file mode 100755 index 0000000..da6c137 --- /dev/null +++ b/make/orca-rez @@ -0,0 +1,45 @@ +#!/bin/bash + +TMPFILE=/tmp/orca-rez.$$ + +FILENAME="$1" +shift + +if echo $FILENAME | grep -v '\.rez$' > /dev/null +then + echo Expected first argument to be a *.rez file but got $FILENAME + exit 1 +fi + +BASENAME=`echo $FILENAME | sed 's/\.rez$//'` +DEPSNAME="${BASENAME}.rez.d" +OBJSNAME="${BASENAME}.r" + +$ORCA --trace-gsos compile $* keep="${OBJSNAME}" "$FILENAME" 2> $TMPFILE +RESULT=$? + +sed '/^[A-Za-z][A-Za-z]*(.*)$/d' $TMPFILE >&2 + +if [ "$RESULT" -ne 0 ] +then + rm -f $TMPFILE + rm -f $OBJSNAME + exit $RESULT +fi + +DEPS=`awk ' + /^FastFileLoad/ { + sub(/^FastFileLoad\(/, ""); + sub(/\)$/, ""); + print}' $TMPFILE | sort -u | while read FILE + do + if [ -f "$FILE" ] + then + echo $FILE + fi + done` + +echo $OBJSNAME: $DEPS > $DEPSNAME +rm -f $TMPFILE + +exit 0 diff --git a/make/tail.mk b/make/tail.mk new file mode 100644 index 0000000..09e6e8f --- /dev/null +++ b/make/tail.mk @@ -0,0 +1,111 @@ +# +# tail.mk +# + +export PATH := $(PATH):$(ORCA_BIN) + +CWD=$(shell pwd) + +ifeq ($(wildcard $(ROOTCFILE)),) + ROOTCFILE= +endif + +C_ROOTS=$(ROOTCFILE:.c=.root) +C_SRCS+=$(filter-out $(ROOTCFILE), $(patsubst ./%, %, $(wildcard $(addsuffix /*.c, $(SRCDIRS))))) +C_OBJS=$(C_SRCS:.c=.a) +C_DEPS=$(ROOTCFILE:.c=.d) $(C_SRCS:.c=.d) + +ASM_SRCS=$(patsubst ./%, %, $(wildcard $(addsuffix /*.s, $(SRCDIRS)))) +ASM_MACROS=$(ASM_SRCS:.s=.macros) +ASM_ROOTS=$(ASM_SRCS:.s=.ROOT) +ASM_OBJS=$(ASM_SRCS:.s=.a) + +REZ_SRCS=$(patsubst ./%, %, $(wildcard $(addsuffix /*.rez, $(SRCDIRS)))) +REZ_DEPS=$(REZ_SRCS:.rez=.rez.d) +REZ_OBJS=$(REZ_SRCS:.rez=.r) + +ifneq ($(firstword $(REZ_SRCS)), $(lastword $(REZ_SRCS))) + $(error Only a single resource file supported, found $(REZ_SRCS)) +endif + +BUILD_OBJS=$(C_ROOTS) $(C_OBJS) $(ASM_ROOTS) $(REZ_OBJS) +BUILD_OBJS_NOSUFFIX=$(C_ROOTS:.root=) $(C_OBJS:.a=) $(ASM_ROOTS:.ROOT=) + +ALL_OBJS=$(C_ROOTS:.root=.a) $(C_OBJS) $(ASM_OBJS) $(REZ_OBJS) +ALL_ROOTS=$(C_ROOTS) $(C_OBJS:.a=.root) $(ASM_ROOTS) +ALL_DEPS=$(C_DEPS) $(REZ_DEPS) + +LINK_ARGS= + +EXECCMD= + +#ALLTARGET=$(DISKIMAGE) +ifeq ($(TARGETTYPE),shell) + ALLTARGET=execute +else + ALLTARGET=$(PGM) +endif + +.PHONY: all execute clean + +#.PRECIOUS: $(ASM_MACROS) + +all: $(ALLTARGET) + +clean: + $(RM) "$(PGM)" + $(RM) $(ALL_OBJS) + $(RM) $(ALL_ROOTS) + $(RM) $(ALL_DEPS) + $(RM) $(ASM_MACROS) +# $(RM) "$(DISKIMAGE)" + +createPackage: + pkg/createPackage + +cleanMacCruft: + rm -rf pkg + +$(PGM): $(BUILD_OBJS) +ifneq ($(REZ_OBJS),) + $(RM) $(PGM) + $(CP) $(REZ_OBJS) $(PGM) +endif + $(LINK) $(BUILD_OBJS_NOSUFFIX) --keep=$(PGM) $(LDFLAGS) + +#$(DISKIMAGE): $(PGM) +# make/createDiskImage $(AC) $(MACHINE) "$(DISKIMAGE)" "$(PGM)" "$(START_ADDR)" + +#execute: $(DISKIMAGE) +# osascript make/V2Make.scpt "$(CWD)" "$(PGM)" "$(CWD)/make/DevApple.vii" "$(EXECCMD)" + +execute: $(PGM) + $(ORCA) $(PGM) + +%.a: %.c + $(COMPILE) $< $(CFLAGS) --noroot + +%.root: %.c + $(COMPILE) $< $(CFLAGS) + +%.macros: %.s + $(MACGEN) $(MACGENFLAGS) $< $@ $(MACGENMACROS) + +%.ROOT: %.macros + $(ASSEMBLE) $(<:.macros=.s) $(ASMFLAGS) + +%.r: %.rez + $(REZ) $< $(REZFLAGS) + +$(OBJS): Makefile + +# This adds a dependency to force all .macro targets to be regenerated if +# any of the macro library files have changed. We can't tell which actual +# macros are used so we have to regenerate if any have changed. +ifneq ($(ASM_MACROS),) +$(ASM_MACROS): $(MACGENMACROS) +endif + +# Include the C and rez dependencies which were generated from the last build +# so we recompile correctly on .h file changes. +-include $(ALL_DEPS) diff --git a/pkg/.DS_Store b/pkg/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5c6a238c8058a892a929cd6a6667ff52b1430ab3 GIT binary patch literal 6148 zcmeHKJ5EC}5S)b+K{P2TeFbh{Md1W+03e}zC`f_+RXG<&WA;-Jy`)Q;XjWQ}z233q zDc-&XV9TG)Bd`E4r#oWr!_<7=ePTBiF(RF340yvgKCs*DCfUaW&b`A6IiL9Y&tDJk z+wI`nGASShq<|EV0#e|N3RH2O-=FbJ9VG>%z;!6#--kwb?1f`ud^$Kp3qYJP9L9O{ z62#^KVlNyM8KGHHiAl9;F)Znfx612 + + Apple IIgs XCode Template + + + + + + + + + + + + + Apple2gsXcodeTemplate.pkg + diff --git a/pkg/Templates/.DS_Store b/pkg/Templates/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0Ee$H@n-T*CT038vWK{K&LM5p3GwBz3Rd+f+#N2%A%GGP0@3;N-^&9Qo zsHa9z9oNIE8xOYmZX>RHiM3y07*jh=HuG$>7u;M^WgX{bHqgm=njvIoD=$+u>Z)Ox zRy&b#Zslp+(?zYr^L)?W3vP|ak2_29$UnM{Hs-@9{v`Ps`vz5j6Z z@zduoU%#0bESL + + + + Nodes + + main.s + Makefile + make/head.mk + make/orca-asm + make/orca-cc + make/orca-rez + make/tail.mk + + Definitions + + main.s + + Path + main.s + + make/head.mk + + Group + make + Path + make/head.mk + + make/orca-asm + + Group + make + Path + make/orca-asm + + make/orca-cc + + Group + make + Path + make/orca-cc + + make/orca-rez + + Group + make + Path + make/orca-rez + + make/tail.mk + + Group + make + Path + make/tail.mk + + Makefile + + Path + Makefile + + + Kind + Xcode.Xcode3.ProjectTemplateUnitKind + Identifier + com.halcyontouch.apple2gsAsmShellCommand + Ancestors + + com.apple.dt.unit.externalBuildSystem + + Concrete + + Description + This template creates an Apple IIgs assembly code project to build an ORCA or GNO shell command. The project starts with a single assembly file which you can modify. You can also add more assembly or C files as you may like. + Options + + Targets + + + TargetType + Legacy + TargetIdentifier + com.apple.dt.cocoaLegacyTarget + BuildToolPath + ___VARIABLE_buildToolPath___ + BuildToolArgsString + -C ___PACKAGENAME___ $(ACTION) + SharedSettings + + OTHER_CFLAGS + + OTHER_LDFLAGS + + + Configurations + + Debug + + DEBUGGING_SYMBOLS + YES + GCC_GENERATE_DEBUGGING_SYMBOLS + YES + GCC_OPTIMIZATION_LEVEL + 0 + + Release + + + + + + diff --git a/pkg/Templates/Apple IIgs/Apple IIgs Asm Shell Command.xctemplate/main.s b/pkg/Templates/Apple IIgs/Apple IIgs Asm Shell Command.xctemplate/main.s new file mode 100644 index 0000000..9d7047f --- /dev/null +++ b/pkg/Templates/Apple IIgs/Apple IIgs Asm Shell Command.xctemplate/main.s @@ -0,0 +1,22 @@ +; +; ___FILENAME___ +; ___PROJECTNAME___ +; +; Created by ___FULLUSERNAME___ on ___DATE___. +;___COPYRIGHT___ +; + + mcopy main.macros + keep main + +Main start + phk + plb + jsl SystemEnvironmentInit + jsl SysIOStartup + puts #'Hello, world!',cr=t + jsl SysIOShutdown + lda #0 + rtl + end + diff --git a/pkg/Templates/Apple IIgs/Apple IIgs C Shell Command.xctemplate/TemplateInfo.plist b/pkg/Templates/Apple IIgs/Apple IIgs C Shell Command.xctemplate/TemplateInfo.plist new file mode 100644 index 0000000..edc59fd --- /dev/null +++ b/pkg/Templates/Apple IIgs/Apple IIgs C Shell Command.xctemplate/TemplateInfo.plist @@ -0,0 +1,112 @@ + + + + + Nodes + + main.c + Makefile + make/head.mk + make/orca-asm + make/orca-cc + make/orca-rez + make/tail.mk + + Definitions + + main.c + + Path + main.c + + make/head.mk + + Group + make + Path + make/head.mk + + make/orca-asm + + Group + make + Path + make/orca-asm + + make/orca-cc + + Group + make + Path + make/orca-cc + + make/orca-rez + + Group + make + Path + make/orca-rez + + make/tail.mk + + Group + make + Path + make/tail.mk + + Makefile + + Path + Makefile + + + Kind + Xcode.Xcode3.ProjectTemplateUnitKind + Identifier + com.halcyontouch.apple2gsCShellCommand + Ancestors + + com.apple.dt.unit.externalBuildSystem + + Concrete + + Description + This template creates an Apple IIgs C code project to build an ORCA or GNO shell command. The project starts with a single C file which you can modify. You can also add more assembly or C files as you may like. + Options + + Targets + + + TargetType + Legacy + TargetIdentifier + com.apple.dt.cocoaLegacyTarget + BuildToolPath + ___VARIABLE_buildToolPath___ + BuildToolArgsString + -C ___PACKAGENAME___ $(ACTION) + SharedSettings + + OTHER_CFLAGS + + OTHER_LDFLAGS + + + Configurations + + Debug + + DEBUGGING_SYMBOLS + YES + GCC_GENERATE_DEBUGGING_SYMBOLS + YES + GCC_OPTIMIZATION_LEVEL + 0 + + Release + + + + + + diff --git a/pkg/Templates/Apple IIgs/Apple IIgs C Shell Command.xctemplate/main.c b/pkg/Templates/Apple IIgs/Apple IIgs C Shell Command.xctemplate/main.c new file mode 100644 index 0000000..170279a --- /dev/null +++ b/pkg/Templates/Apple IIgs/Apple IIgs C Shell Command.xctemplate/main.c @@ -0,0 +1,18 @@ +/* + * ___FILENAME___ + * ___PACKAGENAME___ + * + * Created by ___FULLUSERNAME___ on ___DATE___. + * Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved. + * + */ + + +#include + + +int main(void) +{ + printf("Hello, world!\n"); + return 0; +} diff --git a/pkg/Templates/File Templates/Apple IIgs/Assembly File.xctemplate/TemplateIcon.png b/pkg/Templates/File Templates/Apple IIgs/Assembly File.xctemplate/TemplateIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..4786b7ef439dfeb833863ca17a292160ba960023 GIT binary patch literal 4398 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 literal 0 HcmV?d00001 diff --git a/pkg/Templates/File Templates/Apple IIgs/Assembly File.xctemplate/TemplateIcon@2x.png b/pkg/Templates/File Templates/Apple IIgs/Assembly File.xctemplate/TemplateIcon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..21d5bd1b9a354a904f73f068e05b70c8ad942e47 GIT binary patch literal 6437 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 oFev>JjniIq4`Z;K{&)8z + + + + DefaultCompletionName + File + Description + An assembly source file. + Kind + Xcode.IDEKit.TextSubstitutionFileTemplateKind + MainTemplateFile + ___FILEBASENAME___.s + Summary + An assembly source file + + diff --git a/pkg/Templates/File Templates/Apple IIgs/Assembly File.xctemplate/___FILEBASENAME___.s b/pkg/Templates/File Templates/Apple IIgs/Assembly File.xctemplate/___FILEBASENAME___.s new file mode 100755 index 0000000..a4f8eb3 --- /dev/null +++ b/pkg/Templates/File Templates/Apple IIgs/Assembly File.xctemplate/___FILEBASENAME___.s @@ -0,0 +1,14 @@ +; +; ___FILENAME___ +; ___PROJECTNAME___ +; +; Created by ___FULLUSERNAME___ on ___DATE___. +;___COPYRIGHT___ +; + + mcopy ___FILEBASENAME___.macros + keep ___FILEBASENAME___ + +___FILEBASENAME___ start + rtl + end diff --git a/pkg/Templates/File Templates/Apple IIgs/C File.xctemplate/Default/___FILEBASENAME___.c b/pkg/Templates/File Templates/Apple IIgs/C File.xctemplate/Default/___FILEBASENAME___.c new file mode 100644 index 0000000..dab9047 --- /dev/null +++ b/pkg/Templates/File Templates/Apple IIgs/C File.xctemplate/Default/___FILEBASENAME___.c @@ -0,0 +1,9 @@ +/* + * ___FILENAME___ + * ___PROJECTNAME___ + * + * Created by ___FULLUSERNAME___ on ___DATE___. + * ___COPYRIGHT___ + */ + +#include diff --git a/pkg/Templates/File Templates/Apple IIgs/C File.xctemplate/TemplateIcon.png b/pkg/Templates/File Templates/Apple IIgs/C File.xctemplate/TemplateIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..f52abe3baa93dd68e2f8aa1e7a7a3de2a8dca587 GIT binary patch literal 4359 zcmV+i5%}(jP)4Tx07wm;mUmPX*B8g%%xo{TU6vwc>AklFq%OTkl_mFQv@x1^BM1TV}0C2duqR=S6Xn?LjUp6xrb&~O43j*Nv zEr418u3H3zGns$s|L;SQD-ufpfWpxLJ03rmi*g~#S@{x?OrJ!Vo{}kJ7$ajbnjp%m zGEV!%=70KpVow?KvV}a4moSaFCQKV= zXBIPnpP$8-NG!rR+)R#`$7JVZi#Wn10DSspSrkx`)s~4C+0n+?(b2-z5-tDd^^cpM zz5W?wz5V3zGUCskL5!X++LzcbT23thtSPiMTfS&1I{|204}j|3FPi>70OSh+Xzlyz zdl<5LNtZ}OE>>3g`T3RtKG#xK(9i3CI(+v0d-&=+OWAp!Ysd8Ar*foO5~i%E+?=c& zshF87;&Ay)i~kOm zCIB-Z!^JGdti+UJsxgN!t(Y#%b<8kk67vyD#cE*9urAm@Y#cTXn~yERR$}Y1E!Yd# zo7hq8Ya9;8z!~A3Z~?e@Tn26#t`xT$*Ni)h>&K1Yrto;Y8r}@=h7ZGY@Dh9xekcA2 z{tSKqKZ<`tAQQ9+wgf*y0zpVvOQ<9qCY&Y=5XJ~ILHOG0j2XwBQ%7jM`P2tv~{#P+6CGu9Y;5!2hua>CG_v;z4S?CC1rc%807-x z8s$^ULkxsr$OvR)G0GUn7`GVjR5Vq*RQM{JRGL%DRgX~5SKp(4L49HleU9rK?wsN|$L8GCfHh1tA~lw29MI^|n9|hJ z^w$(=?$kW5IibbS^3=-Es?a*EHLgw5cGnhYS7@Kne#%s4dNH$@Rm?8tq>hG8fR0pW zzfP~tjINRHeBHIW&AJctNO~;2RJ{tlPQ6KeZT(RF<@$~KcMXUJEQ54|9R}S7(}qTd zv4$HA+YFx=sTu_uEj4O1x^GN1_Ap*-Tx)#81ZToB$u!w*a?KPrbudjgtugI0gUuYx z1ZKO<`pvQC&gMe%TJu2*iiMX&o<*a@uqDGX#B!}=o8@yWeX9hktybMuAFUm%v#jf^ z@7XBX1lg>$>9G0T*3_13TVs2}j%w#;x5}>F?uEUXJ>Pzh{cQ)DL#V?BhfaqNj!uqZ z$0o;dCw-@6r(I5iEIKQkRm!^LjCJ;QUgdn!`K^nii^S!a%Wtk0u9>cfU7yS~n#-SC zH+RHM*Nx-0-)+d9>7MMq&wa>4$AjZh>+#4_&y(j_?>XjW;+5fb#Ot}YwYS*2#e16V z!d}5X>x20C`xN{1`YQR(_pSDQ=%?$K=GW*q>F?mb%>QfvHXt})YrtTjW*|4PA#gIt zDQHDdS1=_wD!4lMQHW`XIHV&K4h;(37J7f4!93x-wlEMD7`83!LAX));_x3Ma1r4V zH4%>^Z6cRPc1O{olA;bry^i*dE{nc5-*~=serJq)Okzw!%yg_zYWi`#ol25V;v^kU#wN!mA5MPH z3FFjqrcwe^cBM>m+1wr6XFN|{1#g`1#xLiOrMjh-r#?w@OWT$Wgg6&&5F%x&L(6hXP*!%2{VOVIa)adIsGCtQITk9vCHD^izmgw;`&@D zcVTY3gpU49^+=7S>!rha?s+wNZ}MaEj~6Hw2n%|am@e70WNfM5(r=exmT{MLF4tMU zX8G_6uNC`OLMu~NcCOM}Rk&(&wg2ivYe;J{*Zj2BdTsgISLt?eJQu}$~QLORDCnMIdyYynPb_W zEx0YhEw{FMY&}%2SiZD;WLxOA)(U1tamB0cN!u@1+E?z~LE0hRF;o>&)xJ}I=a!xC ztJAA*)_B)6@6y<{Y1i~_-tK`to_m`1YVIxB`);3L-|hYW`&(-bYby`n4&)tpTo+T< z{VnU;hI;k-lKKw^g$IWYMIP#EaB65ctZ}%k5pI+=jvq-pa_u{x@7kLzn)Wv{noEv? zqtc^Kzfb=D*0JDYoyS?nn|?6(VOI;SrMMMpUD7()mfkkh9^c-7BIrbChiga6kCs0k zJgIZC=9KcOveTr~g{NoFEIl)IR&;jaT-v#j&ZN$J=i|=b=!)p-y%2oi(nY_E=exbS z&s=i5bn>#xz3Ke>~2=f&N;yEFGz-^boBexUH6@}b7V+Mi8+ZXR+R zIyLMw-18{v(Y+Dw$g^K^e|bMz_?Y^*a!h-y;fd{&ljDBl*PbqTI{HlXY-Xb9SH)j< zJvV;-!*8Cy^-RW1j=m7TnEk!a}$Pj z<#jbTH*egxZ{Hc1+=0>?8H*JGhRuRNAaF6&83>x9h$s@_a9GC1#>DUUOJQN*Kub$Y z{hmF0zJ+N3nlTA00*wEKp-|`o%9O;60NY4Fkw6HE$K&zu+`03u*4EaqF|Z#RPH6%Q zqof3|aw!ww`0*qdLR3Wp9+jM&9C5i^!Ckv{H8wRh9mH$5q0=V8ShtkiT;_7>VkE$~ z2$o7=pVR4-(a}*UE-rQ>sXxZEd&`zBU!Z#k${j0hNlHLXp7y9yFCcNF1n7zU{Cqth zxG)GMXMKHr3%ucJY;4?%R|cT;M8-Q5m&^%Wj7hb072%>$CnhFz#dfM;C(?$8hqb}M zL9M5!NAHIxG~}3uoi4n4_wJ7{-#jQ6)GVygoVr8_!0l;^k+32|5(JAR)~;W_u8+w+ zk{~&p6_K{Kwod@D9GdRInZPU~0z{`sC<62b!6J#ZzP`TbqOczuh294eT6=qY8_-mw zL&D5mY}2<<%#_wHq?Q8jscOv5!~|A55$inUSW=iDZns;`pFe-FwzhUN`fi|k9C~*! z8pcUh2yhNF5?FB^G&~{*D_wcW8I|wdym|B3`t|D@5OUWrR8kUIBVZ(9B!lqMfs+IY zv1A*Sb$Wz^`uqD&u359@HRKNOPuyZnJ(1oS)W(%z&$tnROaATb$ct(&&K|z78tUDYIy^Tb0PDpii_3O|| zAhq0Hvr2$VWCR{x=QD{=3ErqA0k3$sZr%C;O;+` zB+QtxZQ6IC&eMNM>*ixJuX47$+W3?_{ODW>_(r5{`*+gu)dk6OlQR? ztIN0PdiGRzOn3Tt(hOSz67T@}zYB za8*?^Ds3aM_rnee21cdkr7H0h(}9UnyK$wsJh(bI9kOEeqC|sfwAhlw{WtvbY4*Kt`rnwGx7knGrWG@AIPMkzMhLZAwFoYHb{bjp^ukID_)fy^W{ zJSOkg9hB#AC(6l)(4uHf*aA-g}Hf@chbN^KzAJ|1v%B#&OK*wt7HKFpTT-nG;=d<-#p|tP0EA z@>%lax<{n!!4hSXR+-ELSs{=Xx)h9)5wJCcQov%n$^QgwU(z%O{LgxTmwWzz{IEO^sqF!Sb4Tx07wm;mUmPX*B8g%%xo{TU6vwc>AklFq%OTkl_mFQv@x1^BM1TV}0C2duqR=S6Xn?LjUp6xrb&~O43j*Nv zEr418u3H3zGns$s|L;SQD-ufpfWpxLJ03rmi*g~#S@{x?OrJ!Vo{}kJ7$ajbnjp%m zGEV!%=70KpVow?KvV}a4moSaFCQKV= zXBIPnpP$8-NG!rR+)R#`$7JVZi#Wn10DSspSrkx`)s~4C+0n+?(b2-z5-tDd^^cpM zz5W?wz5V3zGUCskL5!X++LzcbT23thtSPiMTfS&1I{|204}j|3FPi>70OSh+Xzlyz zdl<5LNtZ}OE>>3g`T3RtKG#xK(9i3CI(+v0d-&=+OWAp!Ysd8Ar*foO5~i%E+?=c& zshF87;&Ay)i~kOm zCIB-Z!^JGdti+UJsxgN!t(Y#%b<8kk67vyD#cE*9urAm@Y#cTXn~yERR$}Y1E!Yd# zo7hq8Ya9;8z!~A3Z~?e@Tn26#t`xT$*Ni)h>&K1Yrto;Y8r}@=h7ZGY@Dh9xekcA2 z{tSKqKZ<`tAQQ9+wgf*y0zpVvOQ<9qCY&Y=5XJ~ILHOG0j2XwBQ%7jM`P2tv~{#P+6CGu9Y;5!2hua>CG_v;z4S?CC1rc%807-x z8s$^ULkxsr$OvR)G0GUn7`GVjR5Vq*RQM{JRGL%DRgX~5SKp(4L49HleU9rK?wsN|$L8GCfHh1tA~lw29MI^|n9|hJ z^w$(=?$kW5IibbS^3=-Es?a*EHLgw5cGnhYS7@Kne#%s4dNH$@Rm?8tq>hG8fR0pW zzfP~tjINRHeBHIW&AJctNO~;2RJ{tlPQ6KeZT(RF<@$~KcMXUJEQ54|9R}S7(}qTd zv4$HA+YFx=sTu_uEj4O1x^GN1_Ap*-Tx)#81ZToB$u!w*a?KPrbudjgtugI0gUuYx z1ZKO<`pvQC&gMe%TJu2*iiMX&o<*a@uqDGX#B!}=o8@yWeX9hktybMuAFUm%v#jf^ z@7XBX1lg>$>9G0T*3_13TVs2}j%w#;x5}>F?uEUXJ>Pzh{cQ)DL#V?BhfaqNj!uqZ z$0o;dCw-@6r(I5iEIKQkRm!^LjCJ;QUgdn!`K^nii^S!a%Wtk0u9>cfU7yS~n#-SC zH+RHM*Nx-0-)+d9>7MMq&wa>4$AjZh>+#4_&y(j_?>XjW;+5fb#Ot}YwYS*2#e16V z!d}5X>x20C`xN{1`YQR(_pSDQ=%?$K=GW*q>F?mb%>QfvHXt})YrtTjW*|4PA#gIt zDQHDdS1=_wD!4lMQHW`XIHV&K4h;(37J7f4!93x-wlEMD7`83!LAX));_x3Ma1r4V zH4%>^Z6cRPc1O{olA;bry^i*dE{nc5-*~=serJq)Okzw!%yg_zYWi`#ol25V;v^kU#wN!mA5MPH z3FFjqrcwe^cBM>m+1wr6XFN|{1#g`1#xLiOrMjh-r#?w@OWT$Wgg6&&5F%x&L(6hXP*!%2{VOVIa)adIsGCtQITk9vCHD^izmgw;`&@D zcVTY3gpU49^+=7S>!rha?s+wNZ}MaEj~6Hw2n%|am@e70WNfM5(r=exmT{MLF4tMU zX8G_6uNC`OLMu~NcCOM}Rk&(&wg2ivYe;J{*Zj2BdTsgISLt?eJQu}$~QLORDCnMIdyYynPb_W zEx0YhEw{FMY&}%2SiZD;WLxOA)(U1tamB0cN!u@1+E?z~LE0hRF;o>&)xJ}I=a!xC ztJAA*)_B)6@6y<{Y1i~_-tK`to_m`1YVIxB`);3L-|hYW`&(-bYby`n4&)tpTo+T< z{VnU;hI;k-lKKw^g$IWYMIP#EaB65ctZ}%k5pI+=jvq-pa_u{x@7kLzn)Wv{noEv? zqtc^Kzfb=D*0JDYoyS?nn|?6(VOI;SrMMMpUD7()mfkkh9^c-7BIrbChiga6kCs0k zJgIZC=9KcOveTr~g{NoFEIl)IR&;jaT-v#j&ZN$J=i|=b=!)p-y%2oi(nY_E=exbS z&s=i5bn>#xz3Ke>~2=f&N;yEFGz-^boBexUH6@}b7V+Mi8+ZXR+R zIyLMw-18{v(Y+Dw$g^K^e|bMz_?Y^*a!h-y;fd{&ljDBl*PbqTI{HlXY-Xb9SH)j< zJvV;-!*8Cy^-RW1j=m7TnEk!qZJM`;Hre8f;gf;>VQC{9El}_NC^oU)-tJEHyPX3JH{{@!GX(yJpOov5CS(rl85v728cNQOoZg0K2qQ-_>3t9orVK%}1kI6K zsUwv+Vk4KS4s#s7?6?Q8k6wT!GI~KoM1(?WUS8g3vu4d&Ld(|M^c;`KS)wOcst3p| zT^;6@&aGUXF2`Z(0eDXC1>6%76B7qzWo5lPe*E|$lGTR6c}jpMi#m=p*0HbFK@SHKAn@5S z34QwXiO1eiT3Xr&GI0qBh6#{gTzSJz{KIw2KEiP50W6%3IP?IXNq~iTM(#OE6z`ZG_^w-z-B=h%Tie<=OGdTXV0Gf77-G>X3d&| z&G{~u@1$|lB4W(9;)4sWR7HG9k2rQo5$4@eq{AW3VGsmc5E2?13cvBhi4$9wE?v5f>gUrn(|Us25CHJifNSX( zY$gHV%3+QJa3+P*InHF@UObCd;b~bti_S zg!1xorHrdruO6gTQYO_85;{C5cq{=Rh)G~y2A_3oCj-wqnFP!wbQMSG4Y|3wyQn9u zCp(b9OH^djEiDUV-C13iL0&fUQ`pmC{AP!V6%OM%uY8ckVWeTn%615|!|EtJJX~2N z4Ie)Im38aZO{KcAmEEB;X162&pxXl+X|nLrlqXXL8@?Q7l4Luz4G#Om!oon1*R*NV zULQGfB#t+O$r;`^a$5pqkmYbs7$>e*+Y5r++vz@)(Eo`W8Nogz@fXh9D_0WL?Y+2Bi7k~PImPY09Fr;@;(|HFEcv)wP3@X>tmQGGX7yv`y za~!^wV=^!&(5c!u$_4@q4MQH$0|1;o0f1^@9s8WlBp}YfL)Vt0-P4q*Q>VsL7DM-p zJcp&;x8MCZ(2mECF~~88rFjp@*mmlJ)AmXz^^%KI>@Px+fI}EW3IDfR#lJ zq$6oe1luy;te49~n7$U(gKR;7uJIq`dvp)L3qlw;2C_-p^w*IzwwLqE`RH?j;lukU zf&c~(pvfSz9=;5yte4a5Fh9BgAqIv*cSQZ9b ziwM|pI>PpBkk%}^TR-x-B>_cu%EZ}|SH(ByZ;2b<7KxJL3Q<;4CH(w-L}YZRNE#9? z20t4oUYs~cbdSLB+_o^#ZGp@-T#{@nrRgR?Zw9P$U2-b|FMjDlf!LpQMx6g7Uo_OW zztjdHKS>=d(pS7FV&d`Gj)@GeV>y&PBwTa9POgNU!(ShD3j)x(cl_~$IQ|}f4uZO^ zpN|+jX|Mur|EFR^PzZe&tfE%r(JvJI?Js9V?%A7)9sdao_7h9~^fU2N+S9CZ$aj2MTBdpNa^^~;Ex!aB;GtU$1eE5(#O|ZyqxiZCailmek%TR{9Da5 zS1Bz^!2QBU;G{NH10sT72fF9!aJEn+$AZ)p`Ekj546)}Bm$9!xJ?b-ORwljBf zswD}iqhVz2D~Ci$5w6|P1n1)=R%J~RA>HsbuJ#36J;O#PXc~T>cTW`G#V^@dLo7+a zfw#|yy#L}Sf0|@$>JX7Uv=>Jm@}HkD(5_v@Bm9hzHN_id@;-Bm0SQ=*j5 z5O&O6qP7$Pr~jTOs;gRBKM=tOt&RvL@Z=7b(UJPw%WJ72=-jD%o9FEjgNtXLE0!Vv zn`>$b4RdVism|vvamx^ZHGlCveCMIHgm%ZRKhG7*5b(n-Y$Do9S!tE6(t|XXA)uUA zKw9$Xp|)Pj)*W@0A)vMv-+8l@A8z2cS3OrOLjXQFX^GavtYzn}I_S{CnF357AhL0PNF*+UW&{cYkRb+;ue9 z;6UFhVi^Lkhd+3DZ%tgzooc!Pp_!;txoh1gV(W^JTW$F1EW%WC%MgIK8bMpgT7r|T ztjuEqt+yj`=GYbS!JhLXZRvBuKfoH>V3r~P_jqvQK}&ExymReItt5wZmve55H!?n= z>nY*lmoMu-UvQ`r14fo20Q104Cl9gv8b|hhC9=1CW;fkl!j-QJMds`SqMS~`e!XVA zWm-R;*HQ%Ff#$6kBLV{L4-eT}J{Rj3een3O9(n8uuBg1f>zv4#lC6M0mdG9b(g1tr zF45~f8UkTXzZv)8-mk>=)&Fc0kYGBXpFkI_Fl^zxSRT_0zAL7cPCkwIUkd&t9osit zZ2Ne==oa4oRmC-PURxy5NHxuB>2JReh*~+Z0<4 z&lUX!;fpNJ5u*gy@9WNaPKQdxlJs|5Cn~m%kbrxlP4|bI?hwh90Q~jYGo1>)T%X>s z<>ml>0qhN}{Bx?9`|23Ohv>Kg@z#g)#E>8L;bJZ4TXG0eql8=0+y8J}U^U~2U@1E( z{aG<@`51w@qBF$k5abpF06@$O*c1BqN0-Eze_RpRBT@@4?7r~x6!D8W&uCsvRNI>w z_jm$iut3JW+oj4C!^-j+Wo6Tg?*H4{OOo?CD{PbiOHRV=frLpqI?93uqKPK@%;3k+82vDt8C1K8*iBLtu#&%Uy(3&O|7z(n`G z86%r<_!8G6+Wi|!KJF7@!(H#THf8Y$L5s(ij!VfsBG>v0Zlq{W^a2NaT-?D;TKrru zz(-tfIh4gCgok60fCCEd1r85IMu5Yx1qa~a8!3abd5i#T{5}wdANUUcRuI`51`nV= p>A(X&SwMutEnm*q6?P#4{|7`T@IvdllqCQF002ovPDHLkV1jBo^jZJ_ literal 0 HcmV?d00001 diff --git a/pkg/Templates/File Templates/Apple IIgs/C File.xctemplate/TemplateInfo.plist b/pkg/Templates/File Templates/Apple IIgs/C File.xctemplate/TemplateInfo.plist new file mode 100644 index 0000000..77652aa --- /dev/null +++ b/pkg/Templates/File Templates/Apple IIgs/C File.xctemplate/TemplateInfo.plist @@ -0,0 +1,53 @@ + + + + + AllowedTypes + + public.c-source + + DefaultCompletionName + File + Description + An empty C file. + Kind + Xcode.IDEKit.TextSubstitutionFileTemplateKind + MainTemplateFile + ___FILEBASENAME___.c + Options + + + Description + The name of the file to create + Identifier + productName + Name + Name: + NotPersisted + + Required + + Type + text + + + Default + true + Description + Whether to create a header file with the same name + Identifier + WithHeader + Name + Also create a header file + NotPersisted + + Type + checkbox + + + SortOrder + 2 + Summary + An empty C file. + + diff --git a/pkg/Templates/File Templates/Apple IIgs/C File.xctemplate/WithHeader/___FILEBASENAME___.c b/pkg/Templates/File Templates/Apple IIgs/C File.xctemplate/WithHeader/___FILEBASENAME___.c new file mode 100644 index 0000000..80ffc25 --- /dev/null +++ b/pkg/Templates/File Templates/Apple IIgs/C File.xctemplate/WithHeader/___FILEBASENAME___.c @@ -0,0 +1,9 @@ +/* + * ___FILENAME___ + * ___PROJECTNAME___ + * + * Created by ___FULLUSERNAME___ on ___DATE___. + * ___COPYRIGHT___ + */ + +#include "___FILEBASENAME___.h" diff --git a/pkg/Templates/File Templates/Apple IIgs/C File.xctemplate/WithHeader/___FILEBASENAME___.h b/pkg/Templates/File Templates/Apple IIgs/C File.xctemplate/WithHeader/___FILEBASENAME___.h new file mode 100644 index 0000000..db8ba8c --- /dev/null +++ b/pkg/Templates/File Templates/Apple IIgs/C File.xctemplate/WithHeader/___FILEBASENAME___.h @@ -0,0 +1,14 @@ +/* + * ___FILENAME___ + * ___PROJECTNAME___ + * + * Created by ___FULLUSERNAME___ on ___DATE___. + * ___COPYRIGHT___ + */ + +#ifndef _____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____ +#define _____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____ + + + +#endif /* defined(_____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____) */ diff --git a/pkg/createPackage b/pkg/createPackage new file mode 100755 index 0000000..e96206e --- /dev/null +++ b/pkg/createPackage @@ -0,0 +1,20 @@ +#!/bin/bash + +TMPDIR=/tmp/pkg.$$ + +cp -R pkg/Templates $TMPDIR + +for PROJECT in "Apple IIgs C Shell Command" "Apple IIgs Asm Shell Command" +do + echo cp -R Makefile make "${TMPDIR}/Apple IIgs/${PROJECT}.xctemplate/" + cp -R Makefile make "${TMPDIR}/Apple IIgs/${PROJECT}.xctemplate/" +done + +pkgbuild --root $TMPDIR --version 0.1 --identifier com.halcyontouch.Apple2gsTemplate.pkg --install-location /Library/Developer/Xcode/Templates/ --scripts pkg/scripts/ Apple2GSXcodeTemplate.pkg +productbuild --distribution pkg/Distribution.xml --resource ./pkg temp.pkg +rm Apple2GSXcodeTemplate.pkg +#productsign --sign "Developer ID Installer: Halcyon Touch Software" temp.pkg Apple2GSXcodeTemplate.pkg +cp temp.pkg Apple2GSXcodeTemplate.pkg +rm temp.pkg + +rm -rf $TMPDIR diff --git a/pkg/scripts/preinstall b/pkg/scripts/preinstall new file mode 100755 index 0000000..a0821d0 --- /dev/null +++ b/pkg/scripts/preinstall @@ -0,0 +1,9 @@ +#!/bin/bash + +for item in ~/"Library/Developer/Xcode/Templates/Apple ][gs" ~/"Library/Developer/Xcode/Templates/File Templates/Apple ][gs" +do + if [ -d "$item" ] + then + rm -rf "$item" + fi +done