diff --git a/docs/MakefileGuide.html b/docs/MakefileGuide.html index 465a81cb402..8ba3f2a750f 100644 --- a/docs/MakefileGuide.html +++ b/docs/MakefileGuide.html @@ -28,7 +28,11 @@
User Makefiles need not have comments in them unless the construction is - unusual or it doesn't strictly follow the rules and patterns of the LLVM + unusual or it does not strictly follow the rules and patterns of the LLVM makefile system. Makefile comments are invoked with the pound (#) character. The # character and any text following it, to the end of the line, are ignored by make.
@@ -235,6 +240,27 @@ directory.In some situations, it is desireable to build a single bytecode module from + a variety of sources, instead of an archive, shared library, or bytecode + library. Bytecode modules can be specified in addition to any of the other + types of libraries by defining the MODULE_NAME + variable. For example:
++ LIBRARYNAME = mylib + BYTECODE_LIBRARY = 1 + MODULE_NAME = mymod ++
will build a module named mymod.bc from the sources in the + directory. This module will be an aggregation of all the bytecode modules + derived from the sources. The example will also build a bytecode archive + containing a bytecode module for each compiled source file. The difference is + subtle, but important depending on how the module or library is to be linked. +
+This section describes each of the targets that can be built using the LLVM Makefile system. Any target can be invoked from any directory but not all are - applicable to a given directory (e.g. "check", "dist", and "install" will + applicable to a given directory (e.g. "check", "dist" and "install" will always operate as if invoked from the top level directory).
Target Name | Implied Targets | Target Description | |
---|---|---|---|
Target Name | Implied Targets | Target Description | +|
all | Compile the software recursively. Default target. | Compile the software in the local directory only. | |
check | - | Change to the llvm/test directory and run regression tests. + | Change to the test directory in a project and run the + test suite there. + |
check-local | + | Run a local test suite. Generally this is only defined in the + Makefile of the project's test directory. | |
clean | Remove built objects recursively.
@@ -377,12 +410,41 @@
the current directory instead of recursively.
+
+
+
+
+
+
+
+This target can be invoked from anywhere within a project's directories + but always invokes the check-local target + in the project's test directory, if it exists and has a + Makefile. A warning is produced otherwise. If + TESTSUITE is defined on the make + command line, it will be passed down to the invocation of + make check-local in the test directory. The intended usage + for this is to assist in running specific suites of tests. If + TESTSUITE is not set, the implementation of check-local + should run all normal tests. It is up to the project to define what + different values for TESTSUTE will do. See the + TestingGuide for further details. +
+
+
This target should be implemented by the Makefile in the project's + test directory. It is invoked by the check target elsewhere. + Each project is free to define the actions of check-local as + appropriate for that project. The LLVM project itself uses dejagnu to run a + suite of feature and regresson tests. Other projects may choose to use + dejagnu or any other testing mechanism. +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 guarded so they shouldn't go awry. + that the Makefile builds. The cleaning rules have been made guarded so they + shouldn't go awry (via rm -f $(UNSET_VARIABLE)/* which will attempt + to erase the entire directory structure.
-
@@ -544,6 +606,14 @@
source files, all built sources, all Makefiles, and most documentation files
will be automatically distributed. Use this variable to distribute any
files that are not automatically distributed.
+ This utility target just causes LLVM to print out some of its variables so - that you can double check how things are set. +This utility target just causes the LLVM makefiles to print out some of + the makefile variables so that you can double check how things are set. The overridable variables are given below: +The override variables are given below:
|