Skip to content

Generic howto

Albert van der Horst edited this page Mar 19, 2024 · 1 revision

GENERIC HOWTO

So you want to use this system to create a Forth the world has never seen. Or you are more modest and try it out to make a Forth that is foreseen in the Makefile , possibly with small modifications.

To truely understand the generic system, you have to study cifgen.ps. Be warned that the system only runs on linux, even if it targets windows or standalone.

A GENERAL REMARK

This Makefile is not a one-stop shopping. If a target misses a file, you must hunt down this file. For namescooked.m4 this is the command.

make namescooked.m4

For other files (lists of system call numbers) that is more difficult. If you make anything, you can run into tools that you may not have. You are supposed to find this out and install them.

All target are associated with a .cfg file. This defines the executable, the library file and the documentation, at once. A system like this would be unusable with a documentation that addresses all versions at once. (Compare the as man-page on linux.)

EASY TARGETS

If your target is to found in the Makefile, ending in ZIP, you can make this target. The archive contains probably what you need, including a readme. Be prepared to do some debugging anyhow.

DIFFICULT TARGETS

If your target is to found in the Makefile, you can try to make this target. The easiest difficult targets have a .cfg file. You can run into difficulties, for example missing tools, or you have to debug the use of a tools that is changed. For example, the standalone version is intended for a vintage 2000 computer, and may not have been tried after 2005.

If you are brave and created a .cfg file you find targets in the Makefile that derive generically from this file.

DIFFERENT ASSEMBLERS

The most easy to use assembler is fasm. Assemblers are a moving target anyhow. I don't aspire sources to be run on the latest version of fasm, nasm and masm. fasm works in general.

howto.txt

There is a file called howto.txt. It is dated, and commands may not work as described any more. I use it myself mainly to distinguish snapshots and releases. Snapshot have a version that reflects the date. Releases have a version number that defines the version. That means that the executable can be rebuild from the archive and is the same. This implies that there can be no build date mark in this file, following Debian rules. In this howto.txt command files are mentionned with extension .sh and .bat that may of may not be useful. Also passing shell variables to make is explained.