mirror of
https://github.com/jeremysrand/Apple2BuildPipeline.git
synced 2024-12-12 11:29:31 +00:00
Add some code to search standard Mac OS X locations for java. Bump the version number to 1.2
This commit is contained in:
parent
e0bb3c33d0
commit
a8026c6677
4
Makefile
4
Makefile
@ -85,6 +85,10 @@ PGM=___PACKAGENAME___
|
|||||||
# this variable:
|
# this variable:
|
||||||
# LDFLAGS += -v
|
# LDFLAGS += -v
|
||||||
|
|
||||||
|
# If you have java installed in a non-standard location, you can set
|
||||||
|
# the path to it by uncommenting the following line:
|
||||||
|
# export JAVA=/usr/bin/java
|
||||||
|
|
||||||
|
|
||||||
# Do not change anything else below here...
|
# Do not change anything else below here...
|
||||||
include make/tail.mk
|
include make/tail.mk
|
||||||
|
10
README.md
10
README.md
@ -13,7 +13,7 @@ This project was built based on the one created by [Quinn Dunki](http://quinndun
|
|||||||
* If you change a header file, the right source files will rebuild automatically. Header file dependencies are generated during the build.
|
* If you change a header file, the right source files will rebuild automatically. Header file dependencies are generated during the build.
|
||||||
* Supports all cc65 Apple configurations. So, if you want to target enhanced Apple //e's running DOS 3.3, knock yourself out. Just set the configuration you want in the Makefile and the build will do the right thing to create a disk image for that configuration.
|
* Supports all cc65 Apple configurations. So, if you want to target enhanced Apple //e's running DOS 3.3, knock yourself out. Just set the configuration you want in the Makefile and the build will do the right thing to create a disk image for that configuration.
|
||||||
* On Mac OS X, Virtual \]\[ will start when you build and the emulator with execute your program. This works for all supported cc65 Apple configurations. Also, it uses a machine configuration which is stored in the make directory in your project. That way, you can modify the machine configuration to be exactly the config you want to test under.
|
* On Mac OS X, Virtual \]\[ will start when you build and the emulator with execute your program. This works for all supported cc65 Apple configurations. Also, it uses a machine configuration which is stored in the make directory in your project. That way, you can modify the machine configuration to be exactly the config you want to test under.
|
||||||
* The Mac OS X deliverable is now an installer which will create an Xcode project template. So, to start a new Apple \]\[ project in Xcode, select File->New->Project. Among the iOS and OS X project templates, you will find the "Apple \]\[ Project" option. Select that and you will have a new Apple \]\[ project ready to go.
|
* The Mac OS X deliverable is now an installer which will create an Xcode project template. So, to start a new Apple \]\[ project in Xcode, select File->New->Project. Among the iOS and OS X project templates, you will find the "Apple \]\[ Asm Project" and "Apple \]\[ C Project" options. Select either and you will have a new Apple \]\[ project ready to go.
|
||||||
|
|
||||||
Mac OS X Installation:
|
Mac OS X Installation:
|
||||||
----------------------
|
----------------------
|
||||||
@ -21,21 +21,21 @@ Mac OS X Installation:
|
|||||||
In order to use this infrastructure from Mac OS X, follow these instructions:
|
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.
|
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).
|
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.1/AppleXcodeTemplate.pkg).
|
3. 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).
|
4. Install and setup [Virtual \]\[](http://www.virtualii.com).
|
||||||
|
|
||||||
Your First Project:
|
Your First Project:
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
Everything you need is now installed. To create a new Apple \]\[ project in Xcode:
|
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...
|
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 \]\[ C 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" for a basic C-based project. Or select "Apple \]\[ Asm Project" for a basic assembly 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".
|
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".
|
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.
|
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. 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.
|
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.
|
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.
|
8. Change main.c (or main.s if you created an assembly project) 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 new file in the same directory as Makefile. You can add assembly files in a C project or add C files in an assembly project. The only difference between them is the type of the default source file in the project template.
|
||||||
|
|
||||||
UNIX Installation:
|
UNIX Installation:
|
||||||
------------------
|
------------------
|
||||||
|
@ -6,6 +6,27 @@ then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -z "$JAVA" ]
|
||||||
|
then
|
||||||
|
for item in "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home" /Library/Java/JavaVirtualMachines/*/Contents/Home /usr
|
||||||
|
do
|
||||||
|
if [ -x "$item/bin/java" ]
|
||||||
|
then
|
||||||
|
JAVA="$item/bin/java"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$JAVA" ]
|
||||||
|
then
|
||||||
|
echo Cannot find a path to a Java runtime.
|
||||||
|
echo Go to https://java.com/download if you do not have Java.
|
||||||
|
echo If you do have Java, you may need to uncomment the JAVA
|
||||||
|
echo line in the Makefile and set it to the path for your
|
||||||
|
echo Java runtime binary.
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
APPLECOMMANDER=$1
|
APPLECOMMANDER=$1
|
||||||
MACHINE=$2
|
MACHINE=$2
|
||||||
@ -152,7 +173,7 @@ cp "$TEMPLATE" "$DISKIMAGE"
|
|||||||
|
|
||||||
if [ $DELETELOADER -eq 1 ]
|
if [ $DELETELOADER -eq 1 ]
|
||||||
then
|
then
|
||||||
java -jar "$APPLECOMMANDER" -d "$DISKIMAGE" LOADER.SYSTEM
|
"$JAVA" -jar "$APPLECOMMANDER" -d "$DISKIMAGE" LOADER.SYSTEM
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $RENAMELOADER -eq 1 ]
|
if [ $RENAMELOADER -eq 1 ]
|
||||||
@ -164,13 +185,13 @@ then
|
|||||||
rm -f "$DISKIMAGE"
|
rm -f "$DISKIMAGE"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
java -jar "$APPLECOMMANDER" -e "$DISKIMAGE" LOADER.SYSTEM | java -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$LOADERFILE" sys
|
"$JAVA" -jar "$APPLECOMMANDER" -e "$DISKIMAGE" LOADER.SYSTEM | "$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$LOADERFILE" sys
|
||||||
java -jar "$APPLECOMMANDER" -d "$DISKIMAGE" LOADER.SYSTEM
|
"$JAVA" -jar "$APPLECOMMANDER" -d "$DISKIMAGE" LOADER.SYSTEM
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $DELETEBASIC -eq 1 ]
|
if [ $DELETEBASIC -eq 1 ]
|
||||||
then
|
then
|
||||||
java -jar "$APPLECOMMANDER" -d "$DISKIMAGE" BASIC.SYSTEM
|
"$JAVA" -jar "$APPLECOMMANDER" -d "$DISKIMAGE" BASIC.SYSTEM
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $HASHEADER -eq 1 ]
|
if [ $HASHEADER -eq 1 ]
|
||||||
@ -178,10 +199,10 @@ then
|
|||||||
HDR_STARTADDR=`od -t x2 -N 2 < "$PROGRAM" | head -1 | awk '{print $2}' | sed 's/^0*//'`
|
HDR_STARTADDR=`od -t x2 -N 2 < "$PROGRAM" | head -1 | awk '{print $2}' | sed 's/^0*//'`
|
||||||
if [ "$HDR_STARTADDR" = "$STARTADDR" ]
|
if [ "$HDR_STARTADDR" = "$STARTADDR" ]
|
||||||
then
|
then
|
||||||
dd if="$PROGRAM" bs=4 skip=1 | java -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE 0x$STARTADDR
|
dd if="$PROGRAM" bs=4 skip=1 | "$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE 0x$STARTADDR
|
||||||
else
|
else
|
||||||
java -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE 0x$STARTADDR < "$PROGRAM"
|
"$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE 0x$STARTADDR < "$PROGRAM"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
java -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE < "$PROGRAM"
|
"$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE < "$PROGRAM"
|
||||||
fi
|
fi
|
||||||
|
Binary file not shown.
@ -11,7 +11,7 @@ cp main.c $TMPDIR/'Apple ][/Apple ][ C Project.xctemplate/'
|
|||||||
cp -R make $TMPDIR/'Apple ][/Apple ][ Asm Project.xctemplate/'
|
cp -R make $TMPDIR/'Apple ][/Apple ][ Asm Project.xctemplate/'
|
||||||
cp Makefile $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
|
pkgbuild --root $TMPDIR --version 1.2 --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
|
productbuild --distribution pkg/Distribution.xml --resource ./pkg temp.pkg
|
||||||
rm AppleXcodeTemplate.pkg
|
rm AppleXcodeTemplate.pkg
|
||||||
productsign --sign "Developer ID Installer" temp.pkg AppleXcodeTemplate.pkg
|
productsign --sign "Developer ID Installer" temp.pkg AppleXcodeTemplate.pkg
|
||||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user