dschmenk / PLASMA

Proto Language AsSeMbler for All (formerly Apple)
MIT License
189 stars 26 forks source link

Flat directory structure and Makefile not conducive to Beeb porting #34

Closed BrianHoldsworth closed 6 years ago

BrianHoldsworth commented 6 years ago

Hi. I'm prepping a branch with a PLASMA port for the BBC micro B based largely on work done by @ZornsLemma. In order to make my "Stretch goal" of this port being merge-able to main line, I've been experimenting with refactor of the Makefile and cleaning up the source tree.

It builds fine in my branch. I'd like feedback on these changes as to the likelihood it could be Ok for main line when the porting is done. The modded Makefile can be seen in this commit: https://github.com/BrianHoldsworth/PLASMA/commit/6bd4acd4deff61ac57deb8dab17059b4750c6f19

Every new 'apple' sub-dir would be mirrored with a 'bbc' sub-dir for the ported code.

For convenience, here is how the modded Makefile works, courtesy of the 'make help' output:


Syntax: make <option> [PLASM_PLAT=<platform>] [PLASM_MODEL=<model>]
Default is to build for Apple ][

Possible options:
make tools ... Build cross-compiler and Unix VM
make plat .... Build platfrom compiler and VM
make sample .. Build sample code
make all ..... All the above

make hello ... Hello World test
make test .... Build and run simple tests
make clean ... Clean code
make help .... Display this message

Possible platforms: apple bbc
Possible models: 1 ][ /// IIGS B 128

BTW, I am seeing a problem with building Sandbox in my branch because plasm is complaining about duplicate symbol names where the only difference is the case.

dschmenk commented 6 years ago

This would be a good idea once I get the 1.0 version out (real soon now!). I admit to being a makefile moron. My makefiles look like glorified .BAT files. Any help gratefully appreciated.

BrianHoldsworth commented 6 years ago

Thanks for the feedback. 'make' is definitely not without drawbacks, but it should suffice for furthering a porting effort.