[Coco] LWTools & Nitros9 Build

Tormod Volden lists.tormod at gmail.com
Sat Jan 17 06:05:03 EST 2015


On Sat, Jan 17, 2015 at 3:11 AM, Robert Gault <robert.gault at att.net> wrote:
> Bill Nobel wrote:
>>
>> Ok, this is a shout out to getting the LWTools & minGW installed onto a
>> PC.  I have been trying to figure this out, but get stalled.  I have MinGW
>> installed but no make or how to install LWToolls to work together.  I want

To install the "make" utility, try:

 mingw-get install mingw32-make

from the mingw command window.

See also the "Notes for Windows platforms" at
https://sourceforge.net/p/nitros9/wiki/Building_NitrOS9/

>> to get to the point of compiling the Nitros9 code to create the .dsk images.
>>
>> I am use to the old fashioned method of asm on a real Coco (or emulator).
>> I am finding this doesn’t work with the newest sources as they need a lot of
>> LF conversions in EVERY source file. I would rather get it all working from
>> the PC.
>>
>> Bill Nobel
>>
>>
>
> Well, this no doubt is software specific. My PC is running WinXP and I have,
> I believe, mingw 5.1.6 and msys 1.0.10 installed. There may well be more
> recent versions. There is information on the subject here
> http://sourceforge.net/p/nitros9/wiki/Building_NitrOS9/
>
> Anyway, I have copies of the source code for lwtools, toolshed, and nitrOS-9
> installed sub-directories of msys/1.0/home. You can either compile lwtools
> and toolshed or download the packages.
> I have installed in msys/1.0/local/bin the following files:
> ar2.exe
> cecb.exe
> decb.exe
> lwar.exe
> lwasm.exe
> lwobjdump.exe
> plus the previous tools
> makewav.exe
> mamou.exe
> os9.exe
> rdump.exe
> rlink.exe
> rma.exe
> tocgen.exe
> With the current NitrOS-9 source, you should just need the lwtools package.

You also need toolshed. For instance "os9.exe" is used to build disk images.

>
> If you have a very fast computer, you can go to the root directory of the
> NitrOS-9 package and run Make from there. My system being old, that would
> not be practical and I normally start from the directory of a specific
> system such as level2/coco3_6309 or level2/coco3_6309/modules.
> The makefiles are not well suited for this specially if you have more than
> one version of NitrOS-9 code. That is because all makefiles need to have a
> pointer to rules.mak (root directory). Unfortunately the makefiles typically
> include the line
> include $(NITROS9DIR)/rules.mak
> assuming that $(NITROS9DIR) is defined in the root directory. I find I need
> to add to most makefiles something like the lines:
> ifndef  NITROS9DIR
> NITROS9DIR      = $(HOME)/nitros9_Oct30_2014
> endif

Simply set the environment variable NITROS9DIR to
$HOME/nitros9_Oct30_2014 instead of editing the makefiles!

Or as the instructions in the wiki suggest, just change to the top
level directory and type: export NITROS9DIR=$PWD
Then you can go to other subdirectories and build from there.

> It would be much better if all the makefiles were of the type
> include ../../rules.mak
> but that is not the case for most of them.

Yes, it is a goal to get all of them like that.

However, the recommended way to build a subtree, is to stay in the top
level directory and run:

 make dsk PORTS=coco3_6309

It will build everything needed for the coco3_6309, also any
dependencies outside the coco3_6309 tree.

>
> So at any low level directory  Make  will compile the contents. At a system
> directory such as coco3_6309   make dsk   will compile all needed files and
> create the .dsk images.
>
> Specifically for Bill :) who certainly wants to compile Level3, the
> makefiles should be considered beta versions that give problematic results.
> The needed .asm codes need to be added and it is critical that the vpath
> line in makefiles get directories in the right priority or you will get
> level2 results rather than level3.

>From a "find level3 -name makefile | xargs grep vpath" it seems this
is correctly set up. The order looks wrong in
level3/coco3/modules/makefile but currently there is no possible
conflict.

Tormod


More information about the Coco mailing list