hmake - a make tool for Haskell programs
What is hmake?
- hmake is a compilation manager for Haskell programs.
See hmake.html for more details.
- hmake interactive, or hi for short, is an interactive
program development environment for Haskell, rather like Hugs.
See interactive.html for more details.
- hmake-config is an auxiliary tool for managing the set
of compilers known by hmake, useful when you install a
new compiler, or a new version of a compiler.
See hmake-config.html for more details.
The current version is hmake-3.06 (date 2002-08-09).
- Better handling of package libraries. Previously, the package
import directories were detected at installation time, so the
addition of a new package required hmake-config to be
invoked to update the config database. Also, because all of the
package dirs were searched on every invocation, hmake
could not warn of a missing -package flag. Now, package
dirs are detected at runtime, and only for the requested packages
- this fixes both problems.
- Added the cmdline option list to hmake-config to
display the set of Haskell compilers known to hmake.
- Bugfix for the -hat option. Ensure that if a file goes
through cpp before hat-trans, the resulting
.hx file is moved from the temporary dir back to the build dir.
- Bugfix, to ensure that hmake isn't confused by the escaped
character \\ in a literal string.
See changes.html for the full history of
versions, bugfixes, and other updates.
Download the full hmake sources from
RPMs for RedHat are available from
(Note: If you have the nhc98 compiler, then you already
have some version of hmake. However, if you installed another
compiler after nhc98, you will probably need to run hmake-config to add the new compiler to
hmake's database. Also, it is perfectly safe to download a
newer version of hmake and install it on top of the version
that came with nhc98.)
$ ./configure --prefix=/my/installation
$ make install
$ configure --help
to discover what options you can change at configuration time. The
configuration process actually does quite a good job of detecting what
Haskell compilers you have, where they live, and anything special they
might need. However, should you need to change anything by hand, after
installation, use the hmake-config
`harch' is a little script for determining your processor/OS
combination. It is supplied because many sites have heterogeneous
networks of machines all accessing a common filespace. You only need to
install one copy of the `hmake' script, which uses `harch' to select the
correct executables for any particular machine.
The system-wide hmakerc configuration file lives in:
(Of course, you don't have to use the root location /usr/local for
your installation. Just use --prefix= at configuration time to
reflect your preference.)
A personal hmakerc configuration file can live in:
Normally, a user will simply use the system-wide hmakerc. If they
use hmake-config to make any customisations, a personal
hmakerc file will be created for them. (Only the person who installs
hmake can change the system-wide hmakerc).
Please send bug reports, bug fixes, and suggestions for improvements to
The core of the hmake tool is
© copyright to Thomas Hallgren, 1991-1997.
(Code is incorporated from the earlier tools hbcmake and nhc13make.)
Many additions and modifications to hmake are
© copyright to Malcolm Wallace, 1998-2002.
Hmake interactive (hi) is
© copyright to Malcolm Wallace, 2000-2002.
© copyright to Malcolm Wallace, 2002.
You may re-distribute or modify this software, but you must retain this
The latest updates to this software are available on the WWW from
Information last updated: 2002-08-09
York Functional Programming Group