blondie7575/Apple2BuildPipeline — pull request #1 by jeremysrand (2014-09-10 05:36:47+00:00)
Title: Build environment generalization

I did a bunch of different things to generalize the build environment:

1. Rather than just using the top most emulated system in Virtual ][, I include a machine definition which the applescript can open and launch. That way, the build is run in a consistent machine configuration.

2. I moved most of the build related infrastructure to a "make" directory so it does not pollute the developer's root project directory.

3. The Makefile has had internal details moved to make/head.mk and make/tail.mk so the stuff that a developer should not have to modify is separate from the root Makefile.

4. The root Makefile has a series of comments describing the different options the developer can set to drive their build.

5. The Makefile automatically will link together all *.c and *.s files found in the root directory. The developer can put source files in subdirectories but they have to add those files to the list of sources to build.

6. Include file dependencies are monitored so incremental builds after making a change to a header should do the right things.

7. All linker configurations are supported. The developer just needs to set MACHINE to the config they want in the root Makefile and the right things will happen in the build and to execute their program in Virtual ][.

I have tested this by adopting this build environment in my CurtaSim and Apple2048 projects and with one or two config settings in Makefile, they worked right away.