[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.7.2 Makefile variables used by Mosmake

These are the makefile variables that influence Mosmake's operation. Some, but not all, of the variables will work even if they are set below the `include $(MOSMAKE)/Makefile.inc' line in `Makefile', but this manual does not document which are which. The best practise is to set all relevant variables at the top of `Makefile'.

$(EXEEXT)
Set this to `.exe' if stand-alone binaries built by mosmlc have that extension (i.e. on Microsoft OS'es), blank otherwise. Usually you'll do this with an autoconf-produced configure script; see 2.7.3 Mosmake and other makefile generators.

Setting $(EXEEXT) to `.exe' will also make Mosmake try to use a "response file" via the `-files' option of mosmlc when linking programs. This works around a buffer overrun in the Win32 version of mosmlc in Moscow ML version 2.0. (A similar buffer overflow occurs when compiling a unit that uses many other units; that has no workaround at present).

$(MOSMAKE)
Set this to the path to the directory where you've unpacked Mosmake. The path can be either absolute or relative to your project directory. Mosmake uses this to locate its own components.

$(MOSMAKE.xxx)
Names consisting of `MOSMAKE' followed by a dot and other characters are reserved for use internally by Mosmake. Do not define.

$(MOSMAKEDEPS)
If set, used instead of `Dependencies' as the name of the file from which unit-definitions are read. See section 2.7.3 Mosmake and other makefile generators.

$(MOSMAKEDIRS)
If set, lists the directories where `Dependencies' files are found. See section 2.10 Multiple directories.

When $(MOSMAKEDIRS) is not set, a single `Dependencies' file in the same directory as the master `Makefile' will be expected.

$(MOSMLC)
Set this to the command that starts Moscow ML's command-line compiler. Usually this will just be `mosmlc', but you may need to add a path if mosmlc is not in your search path

$(MOSMLC.xxx)
Names consisting of `MOSMLC' followed by a dot and other letters are reserved for use internally by Mosmake. Do not define

$(MOSMLFLAGS)
Set this if you want certain flags passed to all invocations of mosmlc by Mosmake. I use it to add `-liberal' to all compilations.

$(MOSMLLEX)
Set this to the command to start mosmllex, usually just `mosmllex'. See section 2.5.1 The mosmllex lexer generator.

$(MOSMLYAC)
Set this to the command to start mosmlyac, usually just `mosmlyac'. See section 2.5.2 The mosmlyac parser generator.

$(PERL)
Set this to the command to start the Perl interpreter, usually just `perl'.

$(RM)
The command used by the `clean' family of targets to delete unwanted files. GNU make sets this to `rm -f' by default; usually there is no reason to change this, but many people prefer to give this value explicitly at the beginning of `Makefile' for documentation purposes.

$(SMARTMAKE)
Set this to `yes' or `no' to override the default choice of whether or not to turn on the Smartmake logic. The default is to turn it on when the version of GNU make that is used is at least 3.80. See section 2.2.6 The "smartmake" feature.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated by Henning Makholm on November, 19 2002 using texi2html