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