diff --git a/docs/MakefileGuide.html b/docs/MakefileGuide.html index f7cf48faddc..430ffa437cd 100644 --- a/docs/MakefileGuide.html +++ b/docs/MakefileGuide.html @@ -33,6 +33,7 @@
Written by Reid Spencer
+WARNING: This document is a work in progress!
Target Name | Implied Targets | Target Description |
---|---|---|
all | + | |
all | Compile the software recursively. Default target. | |
all-local | + | |
all-local | Compile the software in the local directory only. | |
check | all | +|
check | all | Test the software recursively. |
check-local | all-local | +|
check-local | all-local | Test the software in the local directory only. |
clean | + | |
clean | Remove built objects recursively. | |
clean-local | + | |
clean-local | Remove built objects from the local directory only. | |
dist | all | +|
dist | all | Prepare a source distribution tarball. |
dist-check | all check | +|
dist-check | all check | Prepare a source distribution tarball and check that it builds. |
dist-clean | clean | +|
dist-clean | clean | Clean source distribution tarball temporary files. |
install | all | +|
install | all | Copy built objects to installation directory. |
tags | + | |
tags | Make C and C++ tags files for emacs and vi. | |
uninstall | + | |
uninstall | Remove built objects from installation directory. |
When you invoke make with no arguments, you are implicitly instructing it to seek the "all" target (goal). This target is used for - building the software and will do different things in different directories. - For example, in a lib directory, the "all" target will compile source - files and generate libraries. But, in a tools directory, it will link - libraries and generate executables.
+ building the software recursively and will do different things in different + directories. For example, in a lib directory, the "all" target will + compile source files and generate libraries. But, in a tools + directory, it will link libraries and generate executables.TBD
+This target is the same as all but it operates only on + the current directory instead of recursively.
TBD
+This target is used to perform any functional, unit or sanity tests as the + software is being built. The check target depends on the + all target so the software is built in each + directory first and then the "check" is applied.
+The definition of "check" is pretty general. It depends on the value of the + TESTS variable. This variable should be set to a + list of executables to run in order to test the software. If they all return + 0 then the check succeeds, otherwise not. The programs run can be anything but + they should either be local to the directory or in your path.
Not implemented yet!
TBD
+This target does the same thing as check but only for the current + (local) directory.
Not implemented yet!
TBD
+This target cleans the build directory, recursively removing all things + that the Makefile builds. Despite once or twice attempting to remove /*, the + cleaning rules have been made gaurded so they shouldn't go awry.
TBD
+This target does the same thing as clean but only for the current + (local) directory.
TBD
+This target builds a distribution tarball. It first builds the entire + project using the all target and then tars up the necessary files and + compresses it. The generated tarball is sufficient for a casual source + distribution, but probably not for a release (see dist-check).
Not implemented yet!
TBD
+This target does the same thing as the dist target but also checks + the distribution tarball. The check is made by unpacking the tarball to a new + directory, configuring it, building it, installing it, and then verifying that + the installation results are correct (by comparing to the original build). + This target can take a long time to run but should be done before a release + goes out to make sure that the distributed tarball can actually be built into + a working release.
Not implemented yet!
TBD
+This is a special form of the clean clean target. It performs a + normal clean but also removes things pertaining to building the + distribution.
Not implemented yet!
TBD
+This target finalizes shared objects and executables and copies all + libraries, headers and executables to the directory given with the + --prefix option to configure. When completed, the prefix + directory will have everything needed to use LLVM.
This utility target just causes LLVM to print out some of its variables so + that you can double check how things are set.
+TBD
+This target will generate a TAGS file in the top-level source + directory. It is meant for use with emacs, XEmacs, or ViM. The TAGS file + provides an index of symbol definitions so that the editor can jump you to the + definition quickly.
TBD
+This target is the opposite of the install target. It removes the + header, library and executable files from the installation directories. Note + that the directories themselves are not removed because it is not gauranteed + that LLVM is the only thing installing there (e.g. --prefix=/usr).