diff --git a/Readme.unix b/Readme.unix index fcc12ca3..710487c6 100644 --- a/Readme.unix +++ b/Readme.unix @@ -1,7 +1,49 @@ -prerequisites: +this tree now contains makefiles and tools to build on Linux and MacosX +Linux is rather more thoroughly tested compared to os-x. -gcc -yacc -make -g++ +to get here, TASM and the propeller generation tools needed to be replaced, +and since the unix filesystem is usually case-sensitive, and CP/M and windows +are not, the cpm tools were made case-insensitive. +TASM was replaced with uz80as, which implements a subset of TASM and fixes some +bugs. however, I needed to add some functionality to make it build the sources +as they exist in this tree. in particular, one thing to be very careful of is +that TASM is not entirely consistent with respect to the .DS directive. +it's usually a bad idea to mix .DS, .FILL, .DB with .ORG. + .DS n is best thought of as .ORG $ + n + .ORG changes the memory pointer, but does not change the file output point. + it works a lot more like M80, SLR* .phase + +it assumes that you have some standard system tools and libraries installed +specifically: gcc, gnu make, libncurses + +to build: + cd to the top directory and type make. + +heavy use is made of make's include facility and pattern rules. +the master rule set is in Tools/Makefile.inc. changes here will affect +almost every Makefile, and where exceptions are needed, the overrides are +applied in the lower Makefiles. + +these tools can run a windows-linux regression test, where all the binaries are +compared to a baseline windows build. + +Credit: + + uz80as was written by Jorge Giner Cordero, jorge.giner@hotmail.com, + and the original source can be found at https://github.com/jorgicor/uz80as + + the propeller tools use bstc and openspin, parallax tools from + http://www.fnarfbargle.com/bst.html https://github.com/parallaxinc/OpenSpin + note that bst is not open source or even currently maintained, so I could + not generate a version for 64 bit osx. + + cpmtools were the most current I could find, and it has been hacked to do + case-insensitivity. these are not marked, and are not extensive. + + zx is from distributed version, and also has local hacks for case insensitivity. + both zx and cpmtools ship with an overly complicated makefile generation system + and this is ignored. + + this whole linux build framework is the work of Curt Mayer, curt@zen-room.org. + use it for whatever you like; this is not my day job.