Why was this page black?

How the root description file

The description file in the root of the source of the specific GNU program should look quite a lot like the Makefile.in that is already there. There are a few differences, though:

Directory variables

First of all, building directory specifications on UNIX is very easy; you just add a slash and extra stuff. It could look like this: FOODIR = /usr/local/foo BARDIR = $(FOODIR)/../bar This doesn't work very well on VMS, since directory specifications look like this: device:[directory-spec], where the directory-spec is a dot-separated list of directories. To be able to build directories the same way in descrip.mms_in as in Makefile.in, you need to have two variables to hold the whole directory specification, and still be able to build on it. For example, I usually define the prefix and exec_prefix variables like this:

# in Makefile.in, prefix has the value `/usr/local' by default prefix_dev = SYS$SYSDEVICE: prefix_dir = GNU prefix = $(prefix_dev)[$(prefix_dir)] # in Makefile.in, exec_prefix is usually defined like this: # exec_prefix = $(prefix)/bin exec_prefix_dev = $(prefix_dev) exec_prefix_dir = $(prefix_dir).BIN exec_prefix = $(exec_prefix_dev)[$(exec_prefix_dir)] When you stricly follow this format for all variables you will need to build on, you'll have no problems.

Targets

The file descrip.mms_in should have the same targets as Makefile.in. In the standard I use, I have added a few more targets which should be used:

setup_config
Produces the files config.dat and [.vms]vmslink.opt.
The target install should depend on this target.

installdatabase
Installs the startup command procedure foo_startup.com in the file $(startupdir)GNU_STARTUP.COM.
The target install should depend on this target.

install_no_database
This target does the same thing as install, except that it depends on installstartup instead of installdatabase.

installstartup
Installs the startup command procedure foo_startup.com in the directory $(startupdir). I did this for those who do not like the concept of installing the startup command procedure in $(startupdir)GNU_STARTUP.COM. The target install_no_database should depend on this target.

The GNUish VMS project / Richard Levitte, <levitte@e.kth.se>
Last update: Sunday, February 18 1996, 19:37 CET