From 5af0aa7f5c09f29793a0666c4b974df717386338 Mon Sep 17 00:00:00 2001 From: Jeremy Rand Date: Fri, 19 Jul 2019 10:51:55 -0500 Subject: [PATCH] Add merlin file templates. Handle errors in merlin source better. --- Makefile | 4 +- make/head.mk | 5 ++- make/merlin-asm | 38 ++++++++++++++++++ make/orca-cc | 2 +- make/orca-rez | 2 +- make/tail.mk | 6 +-- .../TemplateInfo.plist | 14 ++----- .../TemplateInfo.plist | 14 ++----- .../Merlin Control Panel.xctemplate/main.s | 2 +- .../TemplateInfo.plist | 14 ++----- .../main.s | 1 + .../TemplateInfo.plist | 14 ++----- .../main.s | 1 + .../TemplateIcon.png | Bin 0 -> 4398 bytes .../TemplateIcon@2x.png | Bin 0 -> 6437 bytes .../TemplateInfo.plist | 20 +++++++++ .../___FILEBASENAME___.s | 16 ++++++++ pkg/createPackage | 6 ++- pkg/scripts/preinstall | 1 + 19 files changed, 105 insertions(+), 55 deletions(-) create mode 100755 make/merlin-asm create mode 100644 pkg/Templates/File Templates/Apple II/Merlin Assembly File.xctemplate/TemplateIcon.png create mode 100644 pkg/Templates/File Templates/Apple II/Merlin Assembly File.xctemplate/TemplateIcon@2x.png create mode 100644 pkg/Templates/File Templates/Apple II/Merlin Assembly File.xctemplate/TemplateInfo.plist create mode 100755 pkg/Templates/File Templates/Apple II/Merlin Assembly File.xctemplate/___FILEBASENAME___.s diff --git a/Makefile b/Makefile index 2ca5f3f..4656e07 100644 --- a/Makefile +++ b/Makefile @@ -106,7 +106,9 @@ COPYDIRS= # Add any rules you want to execute before any compiles or assembly # commands are called here, if any. You can generate .c, .s or .h # files for example. You can generate data files. Whatever you -# might need. +# might need. You should generate these files in the $(GENDIR) +# directory or within a subdirectory under $(GENDIR) which you create +# yourself. # # All of your commands associated with a rule _must_ start with a tab # character. Xcode makes it a bit tough to type a tab character by diff --git a/make/head.mk b/make/head.mk index 628bb1a..20a1aca 100644 --- a/make/head.mk +++ b/make/head.mk @@ -13,8 +13,9 @@ TARGETTYPE=shell ASSEMBLER=orcam MERLIN_DIR=/usr/local -MERLIN_BIN=$(MERLIN_DIR)/bin/Merlin32 -MERLIN_LIB=$(MERLIN_DIR)/lib/Merlin +export MERLIN_BIN=$(MERLIN_DIR)/bin/Merlin32 +export MERLIN_LIB=$(MERLIN_DIR)/lib/Merlin +MERLIN_ASM=make/merlin-asm SRCDIRS=. diff --git a/make/merlin-asm b/make/merlin-asm new file mode 100755 index 0000000..9bed373 --- /dev/null +++ b/make/merlin-asm @@ -0,0 +1,38 @@ +#!/bin/bash + +ERROUTPUT=/tmp/merlin-err.$$ + +LINKSCRIPT="$1" +shift + +OUTFILE="$1" +shift + +TARGETOUTPUT="$1" +shift + +cleanup() +{ + rm -r error_output.txt + rm -f _FileInformation.txt + rm -f _Output.txt + rm -f "$ERROUTPUT" +} + +"$MERLIN_BIN" -V "$MERLIN_LIB" "$LINKSCRIPT" 2>&1 | tee "$ERROUTPUT" +if [ ! -f "$OUTFILE" ] +then + cat error_output.txt + tr "'" '"' < "$ERROUTPUT" | + grep '\[Error\]' | + sed 's!^.*\[Error\] \(.*file "\([^"]*\.s\)".*line \([1-9][0-9]*\).*\)$!'`pwd`'/\2:\3:0: error: \1!' | + sed 's!^.*\[Error\] \(.*line \([1-9][0-9]*\).*file "\([^"]*\.s\)".*\)$!'`pwd`'/\3:\2:0: error: \1!' + cleanup + exit 1 +fi + +mv "$OUTFILE" "$TARGETOUTPUT" + +cleanup + +exit 0 diff --git a/make/orca-cc b/make/orca-cc index 8c1a549..0f6b429 100755 --- a/make/orca-cc +++ b/make/orca-cc @@ -49,7 +49,7 @@ awk ' /^ *\^/ { sub(/^ *\^/, "", $0) - printf("%s/%s:%d:0:%s\n", PWD, FILE, LINENO, $0) + printf("%s/%s:%d:0: error: %s\n", PWD, FILE, LINENO, $0) } ' "PWD=`pwd`" "FILE=$FILENAME" $STDOUTPUT diff --git a/make/orca-rez b/make/orca-rez index 553d06f..d5204e4 100755 --- a/make/orca-rez +++ b/make/orca-rez @@ -36,7 +36,7 @@ awk ' sub(/;/,"",$4) LINENO=$4 sub(/^File [^ ]*; Line [0-9][0-9]*/, "", $0) - printf("%s/%s:%d:0:%s\n", PWD, FILE, LINENO, $0) + printf("%s/%s:%d:0: error: %s\n", PWD, FILE, LINENO, $0) } ' "PWD=`pwd`" "FILE=$FILENAME" $ERROUTPUT >&2 diff --git a/make/tail.mk b/make/tail.mk index 5f03635..565bacf 100644 --- a/make/tail.mk +++ b/make/tail.mk @@ -133,8 +133,7 @@ endif $(TARGETDIR)/$(PGM): $(BUILD_OBJS) $(ASM_SRCS) $(RM) $(TARGETDIR)/$(PGM) - $(MERLIN_BIN) -V $(MERLIN_LIB) linkscript.s - $(MV) $(PGM) $(TARGETDIR)/$(PGM) + $(MERLIN_ASM) linkscript.s $(PGM) $(TARGETDIR)/$(PGM) ifneq ($(REZ_OBJS),) $(CP) $(REZ_OBJS)/..namedfork/rsrc $(TARGETDIR)/$(PGM)/..namedfork/rsrc endif @@ -160,8 +159,7 @@ $(BINTARGET): $(BUILD_OBJS) # resource compile will read the $(PGM).bin binary and load it into the # resources # also. $(BINTARGET): $(BUILD_OBJS) $(ASM_SRCS) - $(MERLIN_BIN) -V $(MERLIN_LIB) linkscript.s - $(MV) $(PGM) $(BINTARGET) + $(MERLIN_ASM) linkscript.s $(PGM) $(BINTARGET) endif 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 f052a1f..5db2a67 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 @@ -11,8 +11,7 @@ make/createDiskImage make/head.mk make/launchEmulator - make/orca-asm - make/orca-cc + make/merlin-asm make/orca-rez make/system601.2mg make/tail.mk @@ -58,19 +57,12 @@ Path make/launchEmulator - make/orca-asm + make/merlin-asm Group make Path - make/orca-asm - - make/orca-cc - - Group - make - Path - make/orca-cc + make/merlin-asm make/orca-rez diff --git a/pkg/Templates/Apple IIgs/Merlin Control Panel.xctemplate/TemplateInfo.plist b/pkg/Templates/Apple IIgs/Merlin Control Panel.xctemplate/TemplateInfo.plist index cb30819..b58c84d 100644 --- a/pkg/Templates/Apple IIgs/Merlin Control Panel.xctemplate/TemplateInfo.plist +++ b/pkg/Templates/Apple IIgs/Merlin Control Panel.xctemplate/TemplateInfo.plist @@ -12,8 +12,7 @@ make/createDiskImage make/head.mk make/launchEmulator - make/orca-asm - make/orca-cc + make/merlin-asm make/orca-rez make/system601.2mg make/tail.mk @@ -64,19 +63,12 @@ Path make/launchEmulator - make/orca-asm + make/merlin-asm Group make Path - make/orca-asm - - make/orca-cc - - Group - make - Path - make/orca-cc + make/merlin-asm make/orca-rez diff --git a/pkg/Templates/Apple IIgs/Merlin Control Panel.xctemplate/main.s b/pkg/Templates/Apple IIgs/Merlin Control Panel.xctemplate/main.s index 34fded3..efd4963 100644 --- a/pkg/Templates/Apple IIgs/Merlin Control Panel.xctemplate/main.s +++ b/pkg/Templates/Apple IIgs/Merlin Control Panel.xctemplate/main.s @@ -6,7 +6,6 @@ * Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved. * - ]XCODESTART ; Keep this at the start and put your code after this mx %00 @@ -245,3 +244,4 @@ notClear doneEdit rtl +]XCODEEND ; Keep this at the end and put your code above this 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 f11fef3..5313c01 100644 --- a/pkg/Templates/Apple IIgs/Merlin Desktop Application.xctemplate/TemplateInfo.plist +++ b/pkg/Templates/Apple IIgs/Merlin Desktop Application.xctemplate/TemplateInfo.plist @@ -12,8 +12,7 @@ make/createDiskImage make/head.mk make/launchEmulator - make/orca-asm - make/orca-cc + make/merlin-asm make/orca-rez make/system601.2mg make/tail.mk @@ -64,19 +63,12 @@ Path make/launchEmulator - make/orca-asm + make/merlin-asm Group make Path - make/orca-asm - - make/orca-cc - - Group - make - Path - make/orca-cc + make/merlin-asm make/orca-rez diff --git a/pkg/Templates/Apple IIgs/Merlin Desktop Application.xctemplate/main.s b/pkg/Templates/Apple IIgs/Merlin Desktop Application.xctemplate/main.s index f7f68f4..1284035 100644 --- a/pkg/Templates/Apple IIgs/Merlin Desktop Application.xctemplate/main.s +++ b/pkg/Templates/Apple IIgs/Merlin Desktop Application.xctemplate/main.s @@ -278,3 +278,4 @@ wmLastClickPt_horiz dw 0 * Used by doQuit quitDCB dw 0 +]XCODEEND ; Keep this at the end and put your code above this 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 31d2b07..b5b1fe2 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 @@ -12,8 +12,7 @@ make/createDiskImage make/head.mk make/launchEmulator - make/orca-asm - make/orca-cc + make/merlin-asm make/orca-rez make/system601.2mg make/tail.mk @@ -64,19 +63,12 @@ Path make/launchEmulator - make/orca-asm + make/merlin-asm Group make Path - make/orca-asm - - make/orca-cc - - Group - make - Path - make/orca-cc + make/merlin-asm make/orca-rez diff --git a/pkg/Templates/Apple IIgs/Merlin New Desk Accessory.xctemplate/main.s b/pkg/Templates/Apple IIgs/Merlin New Desk Accessory.xctemplate/main.s index 5cafe67..baf5400 100644 --- a/pkg/Templates/Apple IIgs/Merlin New Desk Accessory.xctemplate/main.s +++ b/pkg/Templates/Apple IIgs/Merlin New Desk Accessory.xctemplate/main.s @@ -342,3 +342,4 @@ wmTaskData4 adrl 0 wmLastClickPt_vert dw 0 wmLastClickPt_horiz dw 0 +]XCODEEND ; Keep this at the end and put your code above this diff --git a/pkg/Templates/File Templates/Apple II/Merlin Assembly File.xctemplate/TemplateIcon.png b/pkg/Templates/File Templates/Apple II/Merlin 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 II/Merlin Assembly File.xctemplate/TemplateIcon@2x.png b/pkg/Templates/File Templates/Apple II/Merlin 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 + + + + AllowedTypes + + com.rand-family.xcode.merlin + + DefaultCompletionName + File + Description + A Merlin assembly source file. + Kind + Xcode.IDEKit.TextSubstitutionFileTemplateKind + MainTemplateFile + ___FILEBASENAME___.s + Summary + A Merlin assembly source file + + diff --git a/pkg/Templates/File Templates/Apple II/Merlin Assembly File.xctemplate/___FILEBASENAME___.s b/pkg/Templates/File Templates/Apple II/Merlin Assembly File.xctemplate/___FILEBASENAME___.s new file mode 100755 index 0000000..1253eab --- /dev/null +++ b/pkg/Templates/File Templates/Apple II/Merlin Assembly File.xctemplate/___FILEBASENAME___.s @@ -0,0 +1,16 @@ +* +* ___FILENAME___ +* ___PROJECTNAME___ +* +* Created by ___FULLUSERNAME___ on ___DATE___. +* ___COPYRIGHT___ +* + +]XCODESTART ; Keep this at the start and put your code after this + +* Put your code here. We need these markers to convince Xcode to indent +* properly. If you delete them or put your code outside the markers, your +* build will work but the Xcode editor will be annoying. + +]XCODEEND ; Keep this at the end and put your code above this + diff --git a/pkg/createPackage b/pkg/createPackage index 359bbc9..ae47b2b 100755 --- a/pkg/createPackage +++ b/pkg/createPackage @@ -34,14 +34,19 @@ do SUPPORTS_RES_MODE=`echo $PROJECT | awk -F: '{print $4}'` SUPPORTS_MESSAGE_CENTER=`echo $PROJECT | awk -F: '{print $5}'` + cp -R make "${TMPDIR}/Templates/Apple IIgs/${PROJECT_NAME}.xctemplate/" + if [ $SHELL_TYPE = merlin ] then sed " /^# TARGETTYPE=${PROJECT_TYPE}/s/^# //" Makefile.merlin > "${TMPDIR}/Templates/Apple IIgs/${PROJECT_NAME}.xctemplate/Makefile" + rm -f "${TMPDIR}/Templates/Apple IIgs/${PROJECT_NAME}.xctemplate/make/orca-asm" + rm -f "${TMPDIR}/Templates/Apple IIgs/${PROJECT_NAME}.xctemplate/make/orca-cc" else sed " /^# TARGETTYPE=${PROJECT_TYPE}/s/^# // /^# export ORCA=.*\/${SHELL_TYPE}$/s/^# //" Makefile > "${TMPDIR}/Templates/Apple IIgs/${PROJECT_NAME}.xctemplate/Makefile" + rm -f "${TMPDIR}/Templates/Apple IIgs/${PROJECT_NAME}.xctemplate/make/merlin-asm" fi if [ "$SUPPORTS_RES_MODE" -eq 1 ] @@ -54,7 +59,6 @@ do sed -i "" 's/^# MESSAGE_CENTER=.*$/MESSAGE_CENTER=___VARIABLE_MESSAGECENTER___/' "${TMPDIR}/Templates/Apple IIgs/${PROJECT_NAME}.xctemplate/Makefile" fi - cp -R make "${TMPDIR}/Templates/Apple IIgs/${PROJECT_NAME}.xctemplate/" done < $PROJECTS rm -f $PROJECTS diff --git a/pkg/scripts/preinstall b/pkg/scripts/preinstall index e0f655a..0e40919 100755 --- a/pkg/scripts/preinstall +++ b/pkg/scripts/preinstall @@ -2,5 +2,6 @@ rm -rf "$2/Templates/Apple IIgs" rm -rf "$2/Templates/File Templates/Apple IIgs" +rm -rf "$2/Templates/File Templates/Apple II/Merlin Assembly File.xctemplate" rm -rf "$2/Plug-ins/OrcaM.ideplugin"