Adopt the latest build environment

This commit is contained in:
Jeremy Rand 2014-11-18 21:06:31 -08:00
parent 4145d50866
commit 815ca41d2f
26 changed files with 175 additions and 207 deletions

View File

@ -7,40 +7,72 @@
objects = {
/* Begin PBXFileReference section */
70E84C2E19B10B3100159159 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
9D667FA119BFF5BC00717163 /* a2e.hi.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = a2e.hi.s; sourceTree = "<group>"; };
9D667FA219BFF5BC00717163 /* curta.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = curta.c; sourceTree = "<group>"; };
9D667FA319BFF5BC00717163 /* curtaModel.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = curtaModel.c; sourceTree = "<group>"; };
9D667FA419BFF5BC00717163 /* curtaModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = curtaModel.h; sourceTree = "<group>"; };
9D667FA519BFF5BC00717163 /* curtaUI.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = curtaUI.c; sourceTree = "<group>"; };
9D667FA619BFF5BC00717163 /* curtaUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = curtaUI.h; sourceTree = "<group>"; };
9D667FA719BFF5BC00717163 /* joystick.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = joystick.c; sourceTree = "<group>"; };
9D667FA819BFF5BC00717163 /* joystick.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = joystick.h; sourceTree = "<group>"; };
9D02B4DA1A1C5ADC002799E3 /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
9D02B4DC1A1C5ADC002799E3 /* AppleCommander.jar */ = {isa = PBXFileReference; lastKnownFileType = archive.jar; name = AppleCommander.jar; path = make/AppleCommander.jar; sourceTree = "<group>"; };
9D02B4DD1A1C5ADC002799E3 /* createDiskImage */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = createDiskImage; path = make/createDiskImage; sourceTree = "<group>"; };
9D02B4DE1A1C5ADC002799E3 /* DevApple.vii */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = DevApple.vii; path = make/DevApple.vii; sourceTree = "<group>"; };
9D02B4DF1A1C5ADC002799E3 /* dos33_template.dsk */ = {isa = PBXFileReference; lastKnownFileType = file; name = dos33_template.dsk; path = make/dos33_template.dsk; sourceTree = "<group>"; };
9D02B4E01A1C5ADC002799E3 /* head.mk */ = {isa = PBXFileReference; lastKnownFileType = text; name = head.mk; path = make/head.mk; sourceTree = "<group>"; };
9D02B4E11A1C5ADC002799E3 /* prodos_template.dsk */ = {isa = PBXFileReference; lastKnownFileType = file; name = prodos_template.dsk; path = make/prodos_template.dsk; sourceTree = "<group>"; };
9D02B4E21A1C5ADC002799E3 /* tail.mk */ = {isa = PBXFileReference; lastKnownFileType = text; name = tail.mk; path = make/tail.mk; sourceTree = "<group>"; };
9D02B4E31A1C5ADC002799E3 /* V2Make.scpt */ = {isa = PBXFileReference; lastKnownFileType = file; name = V2Make.scpt; path = make/V2Make.scpt; sourceTree = "<group>"; };
9D02B4E91A1C5B62002799E3 /* a2e.hi.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = a2e.hi.s; sourceTree = "<group>"; };
9D02B4EA1A1C5B62002799E3 /* curta.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = curta.c; sourceTree = "<group>"; };
9D02B4EB1A1C5B62002799E3 /* curtaModel.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = curtaModel.c; sourceTree = "<group>"; };
9D02B4EC1A1C5B62002799E3 /* curtaModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = curtaModel.h; sourceTree = "<group>"; };
9D02B4ED1A1C5B62002799E3 /* curtaUI.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = curtaUI.c; sourceTree = "<group>"; };
9D02B4EE1A1C5B62002799E3 /* curtaUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = curtaUI.h; sourceTree = "<group>"; };
9D02B4EF1A1C5B62002799E3 /* joystick.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = joystick.c; sourceTree = "<group>"; };
9D02B4F01A1C5B62002799E3 /* joystick.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = joystick.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXGroup section */
70E84C2319B10B0500159159 = {
9D02B4D21A1C5ADC002799E3 = {
isa = PBXGroup;
children = (
70E84C2E19B10B3100159159 /* Makefile */,
9D667FA119BFF5BC00717163 /* a2e.hi.s */,
9D667FA219BFF5BC00717163 /* curta.c */,
9D667FA319BFF5BC00717163 /* curtaModel.c */,
9D667FA419BFF5BC00717163 /* curtaModel.h */,
9D667FA519BFF5BC00717163 /* curtaUI.c */,
9D667FA619BFF5BC00717163 /* curtaUI.h */,
9D667FA719BFF5BC00717163 /* joystick.c */,
9D667FA819BFF5BC00717163 /* joystick.h */,
9D02B4D81A1C5ADC002799E3 /* CurtaSim */,
);
sourceTree = "<group>";
};
9D02B4D81A1C5ADC002799E3 /* CurtaSim */ = {
isa = PBXGroup;
children = (
9D02B4E91A1C5B62002799E3 /* a2e.hi.s */,
9D02B4EA1A1C5B62002799E3 /* curta.c */,
9D02B4EB1A1C5B62002799E3 /* curtaModel.c */,
9D02B4EC1A1C5B62002799E3 /* curtaModel.h */,
9D02B4ED1A1C5B62002799E3 /* curtaUI.c */,
9D02B4EE1A1C5B62002799E3 /* curtaUI.h */,
9D02B4EF1A1C5B62002799E3 /* joystick.c */,
9D02B4F01A1C5B62002799E3 /* joystick.h */,
9D02B4DA1A1C5ADC002799E3 /* Makefile */,
9D02B4DB1A1C5ADC002799E3 /* make */,
);
path = CurtaSim;
sourceTree = "<group>";
};
9D02B4DB1A1C5ADC002799E3 /* make */ = {
isa = PBXGroup;
children = (
9D02B4DC1A1C5ADC002799E3 /* AppleCommander.jar */,
9D02B4DD1A1C5ADC002799E3 /* createDiskImage */,
9D02B4DE1A1C5ADC002799E3 /* DevApple.vii */,
9D02B4DF1A1C5ADC002799E3 /* dos33_template.dsk */,
9D02B4E01A1C5ADC002799E3 /* head.mk */,
9D02B4E11A1C5ADC002799E3 /* prodos_template.dsk */,
9D02B4E21A1C5ADC002799E3 /* tail.mk */,
9D02B4E31A1C5ADC002799E3 /* V2Make.scpt */,
);
name = make;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXLegacyTarget section */
70E84C2819B10B0600159159 /* CurtaSim */ = {
9D02B4D71A1C5ADC002799E3 /* CurtaSim */ = {
isa = PBXLegacyTarget;
buildArgumentsString = "$(ACTION)";
buildConfigurationList = 70E84C2B19B10B0600159159 /* Build configuration list for PBXLegacyTarget "CurtaSim" */;
buildArgumentsString = "-C CurtaSim $(ACTION)";
buildConfigurationList = 9D02B4E61A1C5ADC002799E3 /* Build configuration list for PBXLegacyTarget "CurtaSim" */;
buildPhases = (
);
buildToolPath = /usr/bin/make;
@ -48,40 +80,40 @@
);
name = CurtaSim;
passBuildSettingsInEnvironment = 1;
productName = Apple2BuildPipelineSample;
productName = CurtaSim;
};
/* End PBXLegacyTarget section */
/* Begin PBXProject section */
70E84C2419B10B0500159159 /* Project object */ = {
9D02B4D31A1C5ADC002799E3 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0600;
ORGANIZATIONNAME = "One Girl, One Laptop Productions";
LastUpgradeCheck = 0610;
ORGANIZATIONNAME = "Jeremy Rand";
TargetAttributes = {
70E84C2819B10B0600159159 = {
CreatedOnToolsVersion = 6.0;
9D02B4D71A1C5ADC002799E3 = {
CreatedOnToolsVersion = 6.1;
};
};
};
buildConfigurationList = 70E84C2719B10B0500159159 /* Build configuration list for PBXProject "CurtaSim" */;
buildConfigurationList = 9D02B4D61A1C5ADC002799E3 /* Build configuration list for PBXProject "CurtaSim" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 70E84C2319B10B0500159159;
mainGroup = 9D02B4D21A1C5ADC002799E3;
projectDirPath = "";
projectRoot = "";
targets = (
70E84C2819B10B0600159159 /* CurtaSim */,
9D02B4D71A1C5ADC002799E3 /* CurtaSim */,
);
};
/* End PBXProject section */
/* Begin XCBuildConfiguration section */
70E84C2919B10B0600159159 /* Debug */ = {
9D02B4E41A1C5ADC002799E3 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
@ -121,7 +153,7 @@
};
name = Debug;
};
70E84C2A19B10B0600159159 /* Release */ = {
9D02B4E51A1C5ADC002799E3 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
@ -155,7 +187,7 @@
};
name = Release;
};
70E84C2C19B10B0600159159 /* Debug */ = {
9D02B4E71A1C5ADC002799E3 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
DEBUGGING_SYMBOLS = YES;
@ -167,7 +199,7 @@
};
name = Debug;
};
70E84C2D19B10B0600159159 /* Release */ = {
9D02B4E81A1C5ADC002799E3 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
OTHER_CFLAGS = "";
@ -179,25 +211,24 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
70E84C2719B10B0500159159 /* Build configuration list for PBXProject "CurtaSim" */ = {
9D02B4D61A1C5ADC002799E3 /* Build configuration list for PBXProject "CurtaSim" */ = {
isa = XCConfigurationList;
buildConfigurations = (
70E84C2919B10B0600159159 /* Debug */,
70E84C2A19B10B0600159159 /* Release */,
9D02B4E41A1C5ADC002799E3 /* Debug */,
9D02B4E51A1C5ADC002799E3 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
70E84C2B19B10B0600159159 /* Build configuration list for PBXLegacyTarget "CurtaSim" */ = {
9D02B4E61A1C5ADC002799E3 /* Build configuration list for PBXLegacyTarget "CurtaSim" */ = {
isa = XCConfigurationList;
buildConfigurations = (
70E84C2C19B10B0600159159 /* Debug */,
70E84C2D19B10B0600159159 /* Release */,
9D02B4E71A1C5ADC002799E3 /* Debug */,
9D02B4E81A1C5ADC002799E3 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 70E84C2419B10B0500159159 /* Project object */;
rootObject = 9D02B4D31A1C5ADC002799E3 /* Project object */;
}

View File

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDESourceControlProjectFavoriteDictionaryKey</key>
<false/>
<key>IDESourceControlProjectIdentifier</key>
<string>1FF8E5B6-1315-475A-9CD0-FCCF194EDB92</string>
<key>IDESourceControlProjectName</key>
<string>Apple2BuildPipelineSample</string>
<key>IDESourceControlProjectOriginsDictionary</key>
<dict>
<key>1DDA97CB96411CB4840C13C24A3B935FA4FF778E</key>
<string>https://github.com/blondie7575/Apple2BuildPipeline</string>
</dict>
<key>IDESourceControlProjectPath</key>
<string>Apple2BuildPipelineSample/Apple2BuildPipelineSample.xcodeproj</string>
<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
<dict>
<key>1DDA97CB96411CB4840C13C24A3B935FA4FF778E</key>
<string>../../..</string>
</dict>
<key>IDESourceControlProjectURL</key>
<string>https://github.com/blondie7575/Apple2BuildPipeline</string>
<key>IDESourceControlProjectVersion</key>
<integer>111</integer>
<key>IDESourceControlProjectWCCIdentifier</key>
<string>1DDA97CB96411CB4840C13C24A3B935FA4FF778E</string>
<key>IDESourceControlProjectWCConfigurations</key>
<array>
<dict>
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
<string>public.vcs.git</string>
<key>IDESourceControlWCCIdentifierKey</key>
<string>1DDA97CB96411CB4840C13C24A3B935FA4FF778E</string>
<key>IDESourceControlWCCName</key>
<string>Apple2BuildPipeline</string>
</dict>
</array>
</dict>
</plist>

View File

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDESourceControlProjectFavoriteDictionaryKey</key>
<false/>
<key>IDESourceControlProjectIdentifier</key>
<string>6B9C2644-83DD-4B4D-9E1E-015442DD4FB5</string>
<key>IDESourceControlProjectName</key>
<string>CurtaSim</string>
<key>IDESourceControlProjectOriginsDictionary</key>
<dict>
<key>F5E5AB1BBAA08E463D2E8ED01DEEF2E6239A1F73</key>
<string>https://github.com/jeremysrand/CurtaSim.git</string>
</dict>
<key>IDESourceControlProjectPath</key>
<string>CurtaSim.xcodeproj</string>
<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
<dict>
<key>F5E5AB1BBAA08E463D2E8ED01DEEF2E6239A1F73</key>
<string>../..</string>
</dict>
<key>IDESourceControlProjectURL</key>
<string>https://github.com/jeremysrand/CurtaSim.git</string>
<key>IDESourceControlProjectVersion</key>
<integer>111</integer>
<key>IDESourceControlProjectWCCIdentifier</key>
<string>F5E5AB1BBAA08E463D2E8ED01DEEF2E6239A1F73</string>
<key>IDESourceControlProjectWCConfigurations</key>
<array>
<dict>
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
<string>public.vcs.git</string>
<key>IDESourceControlWCCIdentifierKey</key>
<string>F5E5AB1BBAA08E463D2E8ED01DEEF2E6239A1F73</string>
<key>IDESourceControlWCCName</key>
<string>CurtaSim</string>
</dict>
</array>
</dict>
</plist>

View File

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDESourceControlProjectFavoriteDictionaryKey</key>
<false/>
<key>IDESourceControlProjectIdentifier</key>
<string>BC5C2592-EDC5-4CC6-8983-25077B52C04F</string>
<key>IDESourceControlProjectName</key>
<string>TempName</string>
<key>IDESourceControlProjectOriginsDictionary</key>
<dict>
<key>F5E5AB1BBAA08E463D2E8ED01DEEF2E6239A1F73</key>
<string>https://github.com/jeremysrand/CurtaSim.git</string>
</dict>
<key>IDESourceControlProjectPath</key>
<string>TempName.xcodeproj</string>
<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
<dict>
<key>F5E5AB1BBAA08E463D2E8ED01DEEF2E6239A1F73</key>
<string>../..</string>
</dict>
<key>IDESourceControlProjectURL</key>
<string>https://github.com/jeremysrand/CurtaSim.git</string>
<key>IDESourceControlProjectVersion</key>
<integer>111</integer>
<key>IDESourceControlProjectWCCIdentifier</key>
<string>F5E5AB1BBAA08E463D2E8ED01DEEF2E6239A1F73</string>
<key>IDESourceControlProjectWCConfigurations</key>
<array>
<dict>
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
<string>public.vcs.git</string>
<key>IDESourceControlWCCIdentifierKey</key>
<string>F5E5AB1BBAA08E463D2E8ED01DEEF2E6239A1F73</string>
<key>IDESourceControlWCCName</key>
<string>CurtaSim</string>
</dict>
</array>
</dict>
</plist>

View File

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges</key>
<true/>
<key>SnapshotAutomaticallyBeforeSignificantChanges</key>
<false/>
</dict>
</plist>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0510"
LastUpgradeVersion = "0610"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,7 +14,7 @@
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "70E84C2819B10B0600159159"
BlueprintIdentifier = "9D02B4D71A1C5ADC002799E3"
BuildableName = "CurtaSim"
BlueprintName = "CurtaSim"
ReferencedContainer = "container:CurtaSim.xcodeproj">
@ -29,15 +29,6 @@
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "70E84C2819B10B0600159159"
BuildableName = "Apple2BuildPipelineSample"
BlueprintName = "Apple2BuildPipelineSample"
ReferencedContainer = "container:Apple2BuildPipelineSample.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
@ -48,6 +39,15 @@
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "9D02B4D71A1C5ADC002799E3"
BuildableName = "CurtaSim"
BlueprintName = "CurtaSim"
ReferencedContainer = "container:CurtaSim.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
@ -57,6 +57,15 @@
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "9D02B4D71A1C5ADC002799E3"
BuildableName = "CurtaSim"
BlueprintName = "CurtaSim"
ReferencedContainer = "container:CurtaSim.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">

View File

@ -4,7 +4,7 @@
<dict>
<key>SchemeUserState</key>
<dict>
<key>Apple2BuildPipelineSample.xcscheme</key>
<key>CurtaSim.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>0</integer>
@ -12,7 +12,7 @@
</dict>
<key>SuppressBuildableAutocreation</key>
<dict>
<key>70E84C2819B10B0600159159</key>
<key>9D02B4D71A1C5ADC002799E3</key>
<dict>
<key>primary</key>
<true/>

View File

@ -2,7 +2,7 @@
# Makefile
# Apple2BuildPipelineSample
#
# Part of a sample build pipeline for Apple ][ software development
# Part of a sample build pipeline for Apple II software development
#
# Created by Quinn Dunki on 8/15/14.
# One Girl, One Laptop Productions
@ -26,19 +26,17 @@ PGM=curta
# MACHINE = apple2
# MACHINE = apple2-dos33
# MACHINE = apple2-system
# MACHINE = apple2-loader
MACHINE = apple2-loader
# MACHINE = apple2-reboot
# MACHINE = apple2enh
# MACHINE = apple2enh-dos33
# MACHINE = apple2enh-system
# MACHINE = apple2enh-loader
# MACHINE = apple2enh-reboot
MACHINE = apple2-loader
# Uncomment and set this to your starting address in Apple ][ memory
# Uncomment and set this to your starting address in Apple II memory
# if necessary:
# START_ADDR = 6000
START_ADDR=4000
START_ADDR = 4000
# Set the default CPU to assemble for. You can change this in the
# body of a .s file using control commands like ".PC02". Uncomment
@ -87,6 +85,10 @@ START_ADDR=4000
# this variable:
# 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...
include make/tail.mk

BIN
CurtaSim/make/DevApple.vii Normal file

Binary file not shown.

View File

@ -6,6 +6,27 @@ then
exit 1
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
MACHINE=$2
@ -28,6 +49,7 @@ case "$MACHINE" in
HASHEADER=1
FILETYPE="bin"
TARGETFILE=`basename $PROGRAM`
MAXFILENAMELEN=15
;;
apple2enh)
@ -38,6 +60,7 @@ case "$MACHINE" in
HASHEADER=1
FILETYPE="bin"
TARGETFILE=`basename $PROGRAM`
MAXFILENAMELEN=15
;;
apple2-dos33)
@ -48,6 +71,7 @@ case "$MACHINE" in
HASHEADER=1
FILETYPE="bin"
TARGETFILE=`basename $PROGRAM`
MAXFILENAMELEN=30
;;
apple2enh-dos33)
@ -58,6 +82,7 @@ case "$MACHINE" in
HASHEADER=1
FILETYPE="bin"
TARGETFILE=`basename $PROGRAM`
MAXFILENAMELEN=30
;;
apple2-system)
@ -68,6 +93,7 @@ case "$MACHINE" in
HASHEADER=0
FILETYPE="sys"
TARGETFILE=`basename $PROGRAM`.system
MAXFILENAMELEN=15
;;
apple2enh-system)
@ -78,6 +104,7 @@ case "$MACHINE" in
HASHEADER=0
FILETYPE="sys"
TARGETFILE=`basename $PROGRAM`.system
MAXFILENAMELEN=15
;;
apple2-loader)
@ -88,6 +115,7 @@ case "$MACHINE" in
HASHEADER=1
FILETYPE="bin"
TARGETFILE=`basename $PROGRAM`
MAXFILENAMELEN=15
;;
apple2-reboot)
@ -98,6 +126,7 @@ case "$MACHINE" in
HASHEADER=1
FILETYPE="bin"
TARGETFILE=`basename $PROGRAM`
MAXFILENAMELEN=15
;;
apple2enh-loader)
@ -108,6 +137,7 @@ case "$MACHINE" in
HASHEADER=1
FILETYPE="bin"
TARGETFILE=`basename $PROGRAM`
MAXFILENAMELEN=15
;;
apple2enh-reboot)
@ -118,6 +148,7 @@ case "$MACHINE" in
HASHEADER=1
FILETYPE="bin"
TARGETFILE=`basename $PROGRAM`
MAXFILENAMELEN=8
;;
*)
@ -126,6 +157,12 @@ case "$MACHINE" in
;;
esac
if [ ${#TARGETFILE} -gt $MAXFILENAMELEN ]
then
echo "The filename $TARGETFILE exceeds the max name length of the filesystem ($MAXFILENAMELEN)"
exit 1
fi
if [ ! -f "$TEMPLATE" ]
then
echo "Cannot file template disk image $TEMPLATE"
@ -136,18 +173,25 @@ cp "$TEMPLATE" "$DISKIMAGE"
if [ $DELETELOADER -eq 1 ]
then
java -jar "$APPLECOMMANDER" -d "$DISKIMAGE" LOADER.SYSTEM
"$JAVA" -jar "$APPLECOMMANDER" -d "$DISKIMAGE" LOADER.SYSTEM
fi
if [ $RENAMELOADER -eq 1 ]
then
java -jar "$APPLECOMMANDER" -e "$DISKIMAGE" LOADER.SYSTEM | java -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE".system sys
java -jar "$APPLECOMMANDER" -d "$DISKIMAGE" LOADER.SYSTEM
LOADERFILE=${TARGETFILE}.system
if [ ${#LOADERFILE} -gt $MAXFILENAMELEN ]
then
echo "The filename $LOADERFILE exceeds the max name length of the filesystem ($MAXFILENAMELEN)"
rm -f "$DISKIMAGE"
exit 1
fi
"$JAVA" -jar "$APPLECOMMANDER" -e "$DISKIMAGE" LOADER.SYSTEM | "$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$LOADERFILE" sys
"$JAVA" -jar "$APPLECOMMANDER" -d "$DISKIMAGE" LOADER.SYSTEM
fi
if [ $DELETEBASIC -eq 1 ]
then
java -jar "$APPLECOMMANDER" -d "$DISKIMAGE" BASIC.SYSTEM
"$JAVA" -jar "$APPLECOMMANDER" -d "$DISKIMAGE" BASIC.SYSTEM
fi
if [ $HASHEADER -eq 1 ]
@ -155,10 +199,10 @@ then
HDR_STARTADDR=`od -t x2 -N 2 < "$PROGRAM" | head -1 | awk '{print $2}' | sed 's/^0*//'`
if [ "$HDR_STARTADDR" = "$STARTADDR" ]
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
java -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE 0x$STARTADDR < "$PROGRAM"
"$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE 0x$STARTADDR < "$PROGRAM"
fi
else
java -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE < "$PROGRAM"
"$JAVA" -jar "$APPLECOMMANDER" -p "$DISKIMAGE" "$TARGETFILE" $FILETYPE < "$PROGRAM"
fi

View File

@ -2,7 +2,7 @@
# head.mk
# Apple2BuildPipelineSample
#
# Part of a sample build pipeline for Apple ][ software development
# Part of a sample build pipeline for Apple II software development
#
# Created by Quinn Dunki on 8/15/14.
# One Girl, One Laptop Productions
@ -27,4 +27,4 @@ MACHINE=apple2
CPU=6502
CFLAGS=
ASMFLAGS=
LDFLAGS=
LDFLAGS=

View File

@ -2,7 +2,7 @@
# tail.mk
# Apple2BuildPipelineSample
#
# Part of a sample build pipeline for Apple ][ software development
# Part of a sample build pipeline for Apple II software development
#
# Created by Quinn Dunki on 8/15/14.
# One Girl, One Laptop Productions
@ -12,6 +12,8 @@
export PATH := $(PATH):$(CC65_BIN)
CWD=$(shell pwd)
C_OBJS=$(C_SRCS:.c=.o)
C_DEPS=$(C_SRCS:.c=.u)
ASM_OBJS=$(ASM_SRCS:.s=.o)
@ -25,6 +27,12 @@ LINK_ARGS=
EXECCMD=
ALLTARGET=$(DISKIMAGE)
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Darwin)
ALLTARGET=execute
endif
ifneq ($(START_ADDR),)
# If the MACHINE is set to an option which does not support a variable start
# address, then error.
@ -32,6 +40,7 @@ ifneq ($(START_ADDR),)
$(error You cannot change start address with this machine type)
endif
else
# If not set, then use the default for the config as per cc65 documentation
ifneq ($(filter $(MACHINE), apple2 apple2-dos33 apple2enh apple2enh-dos33),)
START_ADDR=803
endif
@ -60,7 +69,7 @@ endif
.PHONY: all execute clean
all: execute
all: $(ALLTARGET)
clean:
rm -f $(PGM)
@ -70,6 +79,12 @@ clean:
rm -f $(ASM_LSTS)
rm -f $(DISKIMAGE)
createPackage:
pkg/createPackage
cleanMacCruft:
rm -rf pkg
$(PGM): $(OBJS)
$(CL65) $(MACHCONFIG) --mapfile $(MAPFILE) $(LDFLAGS) -o $(PGM) $(OBJS)
@ -77,7 +92,7 @@ $(DISKIMAGE): $(PGM)
make/createDiskImage $(AC) $(MACHINE) $(DISKIMAGE) $(PGM) "$(START_ADDR)"
execute: $(DISKIMAGE)
osascript make/V2Make.scpt $(PROJECT_DIR) $(PGM) $(PROJECT_DIR)/make/DevApple.vii "$(EXECCMD)"
osascript make/V2Make.scpt $(CWD) $(PGM) $(CWD)/make/DevApple.vii "$(EXECCMD)"
%.o: %.c
$(CL65) $(MACHCONFIG) $(CFLAGS) --create-dep -c -o $@ $<

Binary file not shown.