Go to the first, previous, next, last section, table of contents.

Standard targets

In any directory you should be able to make the following:

`boot':
does the one-off preparation required to get ready for the real work. Notably, it does `gmake depend' in all directories that contain programs. But `boot' does more. For example, you can't do `gmake depend' in a directory of C program until you have converted the literate `.lh' header files into standard `.h' header files. Similarly, you convert a literate file to illiterate form until you have built the `literate' tools. `boot' takes care of these inter-directory dependencies. You should say `gmake boot' right after configuring your build tree, but note that this is a one-off, i.e., there's no need to re-do `gmake boot' if you should re-configure your build tree at a later stage (no harm caused if you do though).
`all':
makes all the final target(s) for this Makefile. Depending on which directory you are in a "final target" may be an executable program, a library archive, a shell script, or a Postscript file. Typing `gmake' alone is generally the same as typing `gmake all'.
`install':
installs the things built by `all'. Where does it install them? That is specified by `mk/config.mk.in'; you can override it in `mk/build.mk'.
`uninstall':
reverses the effect of `install'.
`clean':
remove all easily-rebuilt files.
`veryclean':
remove all files that can be rebuilt at all. There's a danger here that you may remove a file that needs a more obscure utility to rebuild it (especially if you started from a source distribution).
`check':
run the test suite.
All of these standard targets automatically recurse into sub-directories. Certain other standard targets do not:
`configure':
is only available in the root directory `$(FPTOOLS)'; it has been discussed in Section See section Getting the build you want.
`depend':
make a `.depend' file in each directory that needs it. This `.depend' file contains mechanically-generated dependency information; for example, suppose a directory contains a Haskell source module `Foo.lhs' which imports another module `Baz'. Then the generated `.depend' file will contain the dependency:
  Foo.o : Baz.hi
which says that the object file `Foo.o' depends on the interface file `Baz.hi' generated by compiling module `Baz'. The `.depend' file is automatically included by every Makefile.
`binary-dist':
make a binary distribution.
`dist':
make a source distribution.


Go to the first, previous, next, last section, table of contents.