Estimated hours taken: 0.5
Makefile:
tests/valid/Mmakefile:
tests/invalid/Mmakefile:
Fix some code rot in the rules for `make clean';
amoung other things, change them so that they
handle `--use-subdirs' correctly.
Estimated hours taken: 2
Cleaned up runtime directory.
runtime/*.c:
- Renamed all .c files as mercury_*.c
Some have been renamed to make their purpose clearer.
call.mod -> mercury_ho_call.c
runtime/*.h:
- Moved contents of .h files to mercury_*.h
- *.h now contain #include mercury_*.h. They be removed later.
- Updated references to conf.h -> mercury_conf.h
runtime/conf.h.in:
- Renamed conf.h.in as mercury_conf.h.in.
Didn't leave a forwarding header for this one, as conf.h was
never part of the repository anyway.
runtime/Mmakefile:
- Convert lists to one-per-line lists.
- Add mercury_accurate_gc.h to HDRS.
- Remove all .mod files
- Make sure runtime.init uses the ORIG_CS not MOD_CS.
- Fix the rules for "clean_o" and "clean_mod_c", which used
wildcards like "*.o" to remove files. The one that removed
all .c files corresponding with *.mod, instead of using MOD_CS
was particularly vicious.
- Cope with the file renamings.
configure.in:
- Cope with the file renamings.
Estimated hours taken: 0.25
Makefile:
Declare the phony targets as `.PHONY'.
This avoids a problem on gnu-win32 where the case-insensitive
file system means that make does the wrong thing for `make install'
because of the existence of the `INSTALL' file.
configure.in:
Embed the `hello world' Mercury program in the configure
script rather than compiling the one in the samples directory.
Add support for shared libraries on i386-*-freebsd*.
Makefile:
Add a Makefile which basically just forwards the work to Mmake.
This is just to make the installation sequence more standard.
INSTALL:
Modify the instructions so that they use `make' rather than `mmake'.
Mmake:
Make the `mmake clean' rule remove `config.log' and `config.status'.
Pass MMAKE_DIR rather than passing both MMAKE_VARS and MMAKE_RULES.