Estimated hours taken: 0.5
Change a couple of shell/make variable names,
and moved some configuration stuff around.
scripts/Mmake.rules Mmake.vars.in:
Changed some variable names.
Changed a couple of configuration things for shared libraries.
automatically generated `.c' files lying around. (The aim of this
change is to cut down on disk space usage!)
scripts/Mmake.vars:
Add `RM_C' variable to specify whether or not the `.c' files
should be removed.
scripts/Mmake.rules:
Add rule for creating `.o' files directly from the `.m' files,
using $(RM_C) to delete the intermediate `.c' file.
Estimated hours taken: 0.3
Fix bug in which `mmake' would pass the same option twice to `mc'.
scripts/Mmake.rules
When invoking `mc --make-interface', don't pass both
$(MCFLAGS), since $(MCIFLAGS) already includes $(MCFLAGS).
scripts/Mmake.rules:
Remove the actions for `mmake clean' etc., since they are now
unnecessary (it's handled implicitly by adding dependencies
in the .dep files).
Mmake.rules:
Don't define a rule for `clean' and `realclean', since those
are reserved for use by user Mmake files. Instead, add a
dependency on `sub_clean' and `sub_realclean', and define
the rule there.
Mmake.rules:
In the rule for making foo.depend, make sure to remove foo_init.c.
This will ensure that it gets remade if necessary.
(Previously this wasn't necessary since it always got remaid
whenever any of the .m files changed.)
Mmake.rules:
Remove the redundant --compile-to-c from command lines.
sicstus_conv.in:
Fix a bug that translated "\n" into not a newline but a newline
and two tabs.
Mmake.rules:
Remove support for the old .nl extension.
Get rid of the rule for creating all those silly .nl -> .m symlinks.
(You'll have to remove all those old symbolic links manually.)
scripts/Mmake.rules:
Add a rule for creating *.dep, identical to the .depend rule.
(The .dep rule ensures that the .dep file exists; the .depend
rule ensures that it is really up-to-date.)
Mmake.{vars,rules}:
Add rules for creating .o_pic files by compiling with -fpic.
This is so we can create mix files compiled with -fpic for
shared libraries with those compiled without -fpic (which are
presumably more efficient) in the same directory.
Mmake.rules, Mmake.vars:
Use separate macros MCD, MCI, and MCG for making dependencies,
interfaces, and generating code, along with MCDFLAGS, MCIFLAGS,
and MCGFLAGS.
Mmake.rules:
We don't need to suppress the GNU Make builtin rules,
since mmake passes -r to make to suppress all the builtin rules.
(The suppression wasn't compatible with Solaris make.)
Makefile.common:
Use mkdir -p.
Add mmake.sh.
Change the tags rule so that it gets the .pp files first.
Change the name of the compiler target from comp to mercury_compile.
Remove the rules for test.exe since they duplicate the auto-generated
ones in test.dep (which call the target `test' not `test.exe').
Remove the `code_gen' target. (Tom, if you need it, put it in
Makefile.params.)
Hack around with the installation rules (still in a state of flux).
options.nl:
Disable the --mod-comments option by default.
llds.nl:
Only output the gc livevals comment if --mod-comments is enabled.
mercury_compile.nl, prog_io.nl:
Handle `file not found' errors more cleanly.
When making the dependencies, assume that any files not found
are library files, so don't put them in the dependencies.
modes.nl:
Resolve type ambiguity introduced by change to prog_io.nl.
Mmake.rules Mmake.vars:
Split Makefile.mercury into two halves for use by mmake.
NOTE: I haven't removed Makefile.mercury yet, so any changes
need to be made in both places!