From e0bb3c33d0f5c7fc62c4d4da0aecc037a0fb5fbd Mon Sep 17 00:00:00 2001 From: Jeremy Rand Date: Sat, 25 Oct 2014 00:50:44 -0400 Subject: [PATCH] Formalize the procedure for building the Mac installer package in the makefile. Create a C and assembly project template. Add file templates for C and assembly files for the Apple // --- Apple2Template.pmdoc/01apple-contents.xml | 1 - Apple2Template.pmdoc/01apple.xml | 1 - Apple2Template.pmdoc/index.xml | 1 - README.md | 13 +- make/tail.mk | 6 +- pkg/.createPackage.swp | Bin 0 -> 12288 bytes pkg/Distribution.xml | 17 +++ .../TemplateInfo.plist | 136 ++++++++++++++++++ .../Apple ][ Asm Project.xctemplate/main.s | 30 ++++ .../TemplateInfo.plist | 4 +- .../Assembly File.xctemplate/TemplateIcon.png | Bin 0 -> 4398 bytes .../TemplateIcon@2x.png | Bin 0 -> 6437 bytes .../TemplateInfo.plist | 16 +++ .../___FILEBASENAME___.s | 7 + .../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.swp | Bin 0 -> 12288 bytes pkg/scripts/preinstall | 8 ++ 23 files changed, 331 insertions(+), 14 deletions(-) delete mode 100644 Apple2Template.pmdoc/01apple-contents.xml delete mode 100644 Apple2Template.pmdoc/01apple.xml delete mode 100644 Apple2Template.pmdoc/index.xml create mode 100644 pkg/.createPackage.swp create mode 100644 pkg/Distribution.xml create mode 100644 pkg/Templates/Apple ][/Apple ][ Asm Project.xctemplate/TemplateInfo.plist create mode 100644 pkg/Templates/Apple ][/Apple ][ Asm Project.xctemplate/main.s rename TemplateInfo.plist => pkg/Templates/Apple ][/Apple ][ C Project.xctemplate/TemplateInfo.plist (92%) create mode 100644 pkg/Templates/File Templates/Apple ][/Assembly File.xctemplate/TemplateIcon.png create mode 100644 pkg/Templates/File Templates/Apple ][/Assembly File.xctemplate/TemplateIcon@2x.png create mode 100644 pkg/Templates/File Templates/Apple ][/Assembly File.xctemplate/TemplateInfo.plist create mode 100755 pkg/Templates/File Templates/Apple ][/Assembly File.xctemplate/___FILEBASENAME___.s create mode 100644 pkg/Templates/File Templates/Apple ][/C File.xctemplate/Default/___FILEBASENAME___.c create mode 100644 pkg/Templates/File Templates/Apple ][/C File.xctemplate/TemplateIcon.png create mode 100644 pkg/Templates/File Templates/Apple ][/C File.xctemplate/TemplateIcon@2x.png create mode 100644 pkg/Templates/File Templates/Apple ][/C File.xctemplate/TemplateInfo.plist create mode 100644 pkg/Templates/File Templates/Apple ][/C File.xctemplate/WithHeader/___FILEBASENAME___.c create mode 100644 pkg/Templates/File Templates/Apple ][/C File.xctemplate/WithHeader/___FILEBASENAME___.h create mode 100755 pkg/createPackage create mode 100644 pkg/scripts/.preinstall.swp create mode 100755 pkg/scripts/preinstall diff --git a/Apple2Template.pmdoc/01apple-contents.xml b/Apple2Template.pmdoc/01apple-contents.xml deleted file mode 100644 index f139d74..0000000 --- a/Apple2Template.pmdoc/01apple-contents.xml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/Apple2Template.pmdoc/01apple.xml b/Apple2Template.pmdoc/01apple.xml deleted file mode 100644 index d4d2703..0000000 --- a/Apple2Template.pmdoc/01apple.xml +++ /dev/null @@ -1 +0,0 @@ -com.halcyontouch.Apple2Template.pkg1.0./Library/Developer/Xcode/Templates/Apple ][/Apple ][ Project.xctemplateinstallTo.isRelativeTypeinstallTorelocatableinstallFrom.pathidentifierparentrequireAuthorizationinstallTo.pathinstallFrom.isRelativeType01apple-contents.xml/CVS$/\.svn$/\.cvsignore$/\.cvspass$/\.DS_Store$ \ No newline at end of file diff --git a/Apple2Template.pmdoc/index.xml b/Apple2Template.pmdoc/index.xml deleted file mode 100644 index 42907a1..0000000 --- a/Apple2Template.pmdoc/index.xml +++ /dev/null @@ -1 +0,0 @@ -Apple ][ XCode Template/Volumes/BigHD/jrand/Desktop/Apple ][ XCode Template.pkgcom.halcyontouch01apple.xmlproperties.titleproperties.userDomainproperties.anywhereDomain \ No newline at end of file diff --git a/README.md b/README.md index 727a40f..caa4f81 100644 --- a/README.md +++ b/README.md @@ -21,22 +21,21 @@ Mac OS X Installation: In order to use this infrastructure from Mac OS X, follow these instructions: 1. Install [Xcode from Apple](https://itunes.apple.com/us/app/xcode/id497799835?mt=12&uo=4). Xcode is generally the most popular app in the Mac App Store in the "Developer Tools" category. Xcode is free and you do not need to be a registered Apple developer to download and use it, especially if you are building Apple \]\[ programs. I have only tested with Xcode 6 which is the latest version. It appears as though project templates are a feature introduced in Xcode 4 so the Apple // project template may work with Xcode 4 or 5 but I have not tested them. 2. Install the [cc65 v2.13.3 package](https://github.com/jeremysrand/Apple2BuildPipeline/releases/download/1.0/cc65.2.13.3.pkg). - 4. Install the [Apple // project template](https://github.com/jeremysrand/Apple2BuildPipeline/releases/download/1.0/Apple.XCode.Template.pkg). - 5. Install [Virtual \]\[](http://www.virtualii.com). + 4. Install the [Apple // project template](https://github.com/jeremysrand/Apple2BuildPipeline/releases/download/1.1/AppleXcodeTemplate.pkg). + 5. Install and setup [Virtual \]\[](http://www.virtualii.com). Your First Project: ------------------- Everything you need is now installed. To create a new Apple \]\[ project in Xcode: 1. Start Xcode and create a new project by using File->New->Project... - 2. In the dialog, you will see an Apple \]\[ option below the OS X section. Select that and select "Apple \]\[ Project". Click "Next". + 2. In the dialog, you will see an Apple \]\[ option below the OS X section. Select that and select "Apple \]\[ C Project". Click "Next". 3. A dialog box with a few text fields will appear. In product name, put in the name of the Apple \]\[ executable you want to build. Organization Name and Organization Identifier can be anything you want it to be. Leave Build Tool set to "/usr/bin/make". Click "Next". 4. Xcode now prompts you where you want to save your project. The name of the project will be the product name you already gave. Pick a good directory for your project. Your Documents foler is a reasonable option. Click "Create". 5. Your project is now ready for you. If you select Product->Build, it will build and execute the template code in Virtual \]\[. On your first build, you may be prompted by Mac OS X to install a Java runtime. Java is required so if you get this prompt, you should install it. Once Java is installed, go back to Xcode and select Product->Clean and then Product->Build. Virtual \]\[ should launch this time. - 6. The build environmnt includes a template Virtual \]\[ machine configuration, but it is possible that the configuration will not be able to find your ROM file. If so, select Setup from the toolbar and set the folder with your ROM file. You can also change any attributes of the machine on which you want to execute your program here. When you are done, be sure to select File->Save Configuration. Try your build again from Xcode now that you have your machine configuration set. - 7. At this point everything should work and you should see "HELLO, WORLD!" in the emulator. Press any key in the emulator to quit the executable and go back to the BASIC prompt. - 8. Review the Makefile and set any options you want. The file has lots of comments to help you understand the configuration options. - 9. Change main.c and write more code in new C or assembly files until you have the program you always wanted to build... + 6. At this point everything should work and you should see "HELLO, WORLD!" in the emulator. Press any key in the emulator to quit the executable and go back to the BASIC prompt. + 7. Review the Makefile and set any options you want. The file has lots of comments to help you understand the configuration options. + 8. Change main.c and write more code in new C or assembly files until you have the program you always wanted to build. To add new files, select File->New->File. In the dialog, you will see an Apple \]\[ option in the OS X section. Select that and in there, you will see options to create a new C file or a new Assembly File. Select the one you want to add the file to your project. Put the file in the same directory as main.c. UNIX Installation: ------------------ diff --git a/make/tail.mk b/make/tail.mk index e47cb4b..10a2aa9 100644 --- a/make/tail.mk +++ b/make/tail.mk @@ -79,9 +79,11 @@ clean: rm -f $(ASM_LSTS) rm -f $(DISKIMAGE) +createPackage: + pkg/createPackage + cleanMacCruft: - rm -rf Apple2Template.pmdoc - rm -rf TemplateInfo.plist + rm -rf pkg $(PGM): $(OBJS) $(CL65) $(MACHCONFIG) --mapfile $(MAPFILE) $(LDFLAGS) -o $(PGM) $(OBJS) diff --git a/pkg/.createPackage.swp b/pkg/.createPackage.swp new file mode 100644 index 0000000000000000000000000000000000000000..3bd996ed18b220ad1f750d4cc28f564887b0706f GIT binary patch literal 12288 zcmeI2OK%e~5XT)j@hFtX70E4;iiEOm0um<vutILNnw##~_4PG+|h%$ZN>#RGHn?vakKsms9MJ01`j~NB{{S0VIF~kN^@u0!RP} zAb}G|z=t3FAI}p~TY=!=|9|!U|N9~#zd%1hKR{nWUqEj`_d(}CXF>ZH2>Aed5Bdf^ z-hd?N8t4*e736%M0qw&%pF!_Hk3oIV0}wVOfCP{L5(#Dg+kk{BIk+@^9A(?%oj*4twD7$)M7&7p-w=gv0I2Fph)lum@9 zoi^>nsr8i-W_^|-&5N3!aUF^QWUZiTInNxX^FH=k|dG zZ!c1?$B0yCh70Ps;^^7g1SXXmqqU{=;vIm+t}v-{*z}q(lOfb!%b|oUxQ@KBulQ8Q zR%d+dsQiI}eOKl7aEfl)>98c(6QYRvD%Y%u;S-V$(d0a?IvoAUvU6 ze&LW&D;m)R(BSH-K>q4sx;1u|xVpN`2N7WQ_q literal 0 HcmV?d00001 diff --git a/pkg/Distribution.xml b/pkg/Distribution.xml new file mode 100644 index 0000000..1d03e41 --- /dev/null +++ b/pkg/Distribution.xml @@ -0,0 +1,17 @@ + + + Apple ][ XCode Template + + + + + + + + + + + + + AppleXcodeTemplate.pkg + diff --git a/pkg/Templates/Apple ][/Apple ][ Asm Project.xctemplate/TemplateInfo.plist b/pkg/Templates/Apple ][/Apple ][ Asm Project.xctemplate/TemplateInfo.plist new file mode 100644 index 0000000..e1258be --- /dev/null +++ b/pkg/Templates/Apple ][/Apple ][ Asm Project.xctemplate/TemplateInfo.plist @@ -0,0 +1,136 @@ + + + + + Nodes + + main.s + Makefile + make/AppleCommander.jar + make/createDiskImage + make/DevApple.vii + make/dos33_template.dsk + make/head.mk + make/prodos_template.dsk + make/tail.mk + make/V2Make.scpt + + Definitions + + main.s + + Path + main.s + + make/V2Make.scpt + + Group + make + Path + make/V2Make.scpt + + make/tail.mk + + Group + make + Path + make/tail.mk + + make/prodos_template.dsk + + Group + make + Path + make/prodos_template.dsk + + make/head.mk + + Group + make + Path + make/head.mk + + make/dos33_template.dsk + + Group + make + Path + make/dos33_template.dsk + + make/DevApple.vii + + Group + make + Path + make/DevApple.vii + + make/createDiskImage + + Group + make + Path + make/createDiskImage + + make/AppleCommander.jar + + Path + make/AppleCommander.jar + Group + make + + Makefile + + Path + Makefile + + + Kind + Xcode.Xcode3.ProjectTemplateUnitKind + Identifier + com.halcyontouch.apple2AsmBuildSystem + Ancestors + + com.apple.dt.unit.externalBuildSystem + + Concrete + + Description + This template creates an Apple ][ assembly code project. 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 ][/Apple ][ Asm Project.xctemplate/main.s b/pkg/Templates/Apple ][/Apple ][ Asm Project.xctemplate/main.s new file mode 100644 index 0000000..ac4ec38 --- /dev/null +++ b/pkg/Templates/Apple ][/Apple ][ Asm Project.xctemplate/main.s @@ -0,0 +1,30 @@ +; +; ___FILENAME___ +; ___PROJECTNAME___ +; +; Created by ___FULLUSERNAME___ on ___DATE___. +;___COPYRIGHT___ +; + + +COUT = $fded +KEYBOARD = $c000 +STROBE = $c010 + +main: + ldx #$00 +loop: + lda msg, X + beq wait + ora #$80 + jsr COUT + inx + jmp loop + +wait: + lda KEYBOARD + bpl wait + lda STROBE + rts + +msg: .asciiz "HELLO, WORLD" diff --git a/TemplateInfo.plist b/pkg/Templates/Apple ][/Apple ][ C Project.xctemplate/TemplateInfo.plist similarity index 92% rename from TemplateInfo.plist rename to pkg/Templates/Apple ][/Apple ][ C Project.xctemplate/TemplateInfo.plist index 8edebc1..9d04886 100644 --- a/TemplateInfo.plist +++ b/pkg/Templates/Apple ][/Apple ][ C Project.xctemplate/TemplateInfo.plist @@ -87,7 +87,7 @@ Kind Xcode.Xcode3.ProjectTemplateUnitKind Identifier - com.halcyontouch.apple2BuildSystem + com.halcyontouch.apple2CBuildSystem Ancestors com.apple.dt.unit.externalBuildSystem @@ -95,7 +95,7 @@ Concrete Description - This template builds Apple ][ programs using cc65. + This template creates an Apple ][ C code project. 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 diff --git a/pkg/Templates/File Templates/Apple ][/Assembly File.xctemplate/TemplateIcon.png b/pkg/Templates/File Templates/Apple ][/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 ][/Assembly File.xctemplate/TemplateIcon@2x.png b/pkg/Templates/File Templates/Apple ][/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 ][/Assembly File.xctemplate/___FILEBASENAME___.s b/pkg/Templates/File Templates/Apple ][/Assembly File.xctemplate/___FILEBASENAME___.s new file mode 100755 index 0000000..b03c9e2 --- /dev/null +++ b/pkg/Templates/File Templates/Apple ][/Assembly File.xctemplate/___FILEBASENAME___.s @@ -0,0 +1,7 @@ +; +; ___FILENAME___ +; ___PROJECTNAME___ +; +; Created by ___FULLUSERNAME___ on ___DATE___. +;___COPYRIGHT___ +; diff --git a/pkg/Templates/File Templates/Apple ][/C File.xctemplate/Default/___FILEBASENAME___.c b/pkg/Templates/File Templates/Apple ][/C File.xctemplate/Default/___FILEBASENAME___.c new file mode 100644 index 0000000..8743098 --- /dev/null +++ b/pkg/Templates/File Templates/Apple ][/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 ][/C File.xctemplate/TemplateIcon.png b/pkg/Templates/File Templates/Apple ][/C File.xctemplate/TemplateIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..f52abe3baa93dd68e2f8aa1e7a7a3de2a8dca587 GIT binary patch literal 4359 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 literal 0 HcmV?d00001 diff --git a/pkg/Templates/File Templates/Apple ][/C File.xctemplate/TemplateInfo.plist b/pkg/Templates/File Templates/Apple ][/C File.xctemplate/TemplateInfo.plist new file mode 100644 index 0000000..77652aa --- /dev/null +++ b/pkg/Templates/File Templates/Apple ][/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 ][/C File.xctemplate/WithHeader/___FILEBASENAME___.c b/pkg/Templates/File Templates/Apple ][/C File.xctemplate/WithHeader/___FILEBASENAME___.c new file mode 100644 index 0000000..8922fef --- /dev/null +++ b/pkg/Templates/File Templates/Apple ][/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 ][/C File.xctemplate/WithHeader/___FILEBASENAME___.h b/pkg/Templates/File Templates/Apple ][/C File.xctemplate/WithHeader/___FILEBASENAME___.h new file mode 100644 index 0000000..a5112a0 --- /dev/null +++ b/pkg/Templates/File Templates/Apple ][/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..45d48ec --- /dev/null +++ b/pkg/createPackage @@ -0,0 +1,20 @@ +#!/bin/bash + +TMPDIR=/tmp/pkg.$$ + +cp -R pkg/Templates $TMPDIR + +cp -R make $TMPDIR/'Apple ][/Apple ][ C Project.xctemplate/' +cp Makefile $TMPDIR/'Apple ][/Apple ][ C Project.xctemplate/' +cp main.c $TMPDIR/'Apple ][/Apple ][ C Project.xctemplate/' + +cp -R make $TMPDIR/'Apple ][/Apple ][ Asm Project.xctemplate/' +cp Makefile $TMPDIR/'Apple ][/Apple ][ Asm Project.xctemplate/' + +pkgbuild --root $TMPDIR --version 1.1 --identifier com.halcyontouch.Apple2Template.pkg --install-location /Library/Developer/Xcode/Templates/ --scripts pkg/scripts/ AppleXcodeTemplate.pkg +productbuild --distribution pkg/Distribution.xml --resource ./pkg temp.pkg +rm AppleXcodeTemplate.pkg +productsign --sign "Developer ID Installer" temp.pkg AppleXcodeTemplate.pkg +rm temp.pkg + +rm -rf $TMPDIR diff --git a/pkg/scripts/.preinstall.swp b/pkg/scripts/.preinstall.swp new file mode 100644 index 0000000000000000000000000000000000000000..19facbaa8088bc4f1649f7f9fea28f6957198949 GIT binary patch literal 12288 zcmeI&zfJ-%90%~Ci;L0d3zU<^0g8VTT{J;)FhXQNV?s#0KLv`V*Yt|fK};Nd1zmgv zUristo}R`qz^r_meDmvFdw=@bF4v%Zeq5(JrETKcG9fSPC(XxJiM-C|NZO3zPe zk}Gvvl5yzEi8Du^H)Pc~91gg$39D!=`C%Lh)&1&kX60ZgWYiFvOQAT^S6!BbMre15 zHe9I0`f~E4CcXy-Auw|SL)$6tE|RUyjdHs7H7`$BSI%aR0Skrz1Rwwb2tWV=5P-le z3s{{a_YPn#Ls-aaZmed9C=h@E1Rwwb2tWV=5P$##AOHaf{6PWV{opSw5pwC0{{R2} z{(pDJZ!XU+Pc9EGcP^nzI=AS81_1~_00Izz00bZa0SG_<0ucCj0y3eaG^{29Vv;F&(n76r$ZYi?(@)=ZbF;Ap6B-d=2;*V3;d)