I currently cross-compile from Linux, so I'll describe that method first, and then come back to RISC OS.

First unpack the angband-kit into a directory, then download the variant to compile.  Unpack this, too.  The linux makefile contains all the main rules for building the game, but needs a couple of variables setting (they should be near the top of the file) and a part-Makefile in the variations/<variant>/ directory in order to work completely.  This can be copied from v and modified to suit.  Look at the various variant Makefile/frag files to see how they vary between variants.  Once that is set up you can use the mkvariant script or use a command like:
make -C downloaded_angband -~/angband/Makefile VARIANT=v VARIANTVERSION=3.0.5

which should build the game in a riscos subdirectory and then zip it all up.

Any problems with the variables chosen whould show up when it gets around to compiling main-ros.c, and can hopefully be fixed by chosing other variables, otherwise you'll have to dive into main-ros.c and try and fix it yourself.



The RISC OS procedure is a bit more complicated, because there isn't a global do-everything Makefile and you'll have to construct one yourself.  The Makefile/frag files in the variations directory will still be a useful guide as to which variables need to be tweaked for each variant (especially the MR_SETTINGS variable).  Essentially, unzip the archive, then run tools.SrcMung when you're in the src directory to make sure line endings, etc. are correct.

Copy main-ros.c from the archive over the supplied one and set about constructing a makefile.  Eventually I hope to construct a makefile similar to the linux one, so that you'll be able to change a few variables in variations.<variant>.Makefile/frag and then eveything will be automated.  Until then, you can use the Makefile.ros (designed for Vanilla 3.0.4) as a base, and adapt it for the variant.  A good starting point is makefile/std because it normally has a list of the files which need including, as well as an idea of what is needed for the version of Lua being used (where applicable).

You can then put the executable into a renamed !Fooband, alter the !Fooband.!Variant file to have the correct filetype and application name, copy the sprites across and place whatever documentation you require in there.  Then follow the instructions for MkManifest, zip it up and send it out.

You might want to test it a bit along the way. ;)


