sub-makes and recursively append causing huge command lines and incorrect
compilation results.
Also, fix the printvars target to align its output and ensure that the
contents of variables can't get interpreted by the shell.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17348 91177308-0d34-0410-b5e6-96231b3b80d8
* Move rules that build directories earlier in the file so that they are
always built before the things that depend on them. This enables a
parallel "dist-check" target.
* Fix use of TOOLLINKOPTS and TOOLLINKOPTSB (thanks to Henrik Bach)
* Standardize the output - some scripts using plain echo instead of $(ECHO)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17318 91177308-0d34-0410-b5e6-96231b3b80d8
* Ensure that BUILT_SOURCES depends on OBJ_DIR/Makefile so that they do not
get built before the Makefile is updated.
* Fix build script for yacc & lex files by stopping it from thwarting the
dependencies on the file. If the .y file changes, it needs to be rebuilt.
This also cleans up the problem with llvmAsmParser ALWAYS rebuilding its
Yacc files just to throw them away because there's no change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17288 91177308-0d34-0410-b5e6-96231b3b80d8
* Force preconditions to be met FIRST
* Fix dist-check dependency
* Add some variables to the printvars target
* Automatically update Makefile.* as well as just Makefile
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17268 91177308-0d34-0410-b5e6-96231b3b80d8
tarball.
* Fix bugs in the "dist" target (a precursor to dist-check).
* Correct the implementation of the "install" targets so that they ensure
the installation directories are created before attmpting to install
directories in them.
* Reduce the verbosity of the output of the makefile system
* Ensure output includes the configuration whenever libraries or tools are
built, installed, or uninstalled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17250 91177308-0d34-0410-b5e6-96231b3b80d8
* "dist" target now builds tar.gz, tar.bz2, and zip files suitable for
distribution. "dist" can only be run from $(BUILD_OBJ_ROOT) and implies
a "check".
* made the preconditions not do a recursive make and ensured that they are
executed sequentially.
* made the messages output by the makefile be prefixed with "llvm" and the
make level (e.g. llvm[1]: ) in the same way that make does so that the
messages are uniform and more readable.
* Fixed the tags target so that tags depends on TAGS which contains the
rules to build a file named TAGS
* Implemented the EXTRA_DIST feature in a few directories to make sure it
works.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17210 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed the install target to install files correctly
* Implemented the uninstall target to remove files from install dirs
* Isolated the top level targets (dist, dist-check, dist-clean, tags) so
they only run/exist from the top level directory
* Put if/endif gaurds around potentially dangerous $(RM) commands.
* Implemented place-holder rules for distribution targets to just say that
they aren't implemented yet.
* Implemented tags target in Makefile.rules so all projects can use it
* Made a pony for resistor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17202 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix parallel build problem on generated dependency files
* Fix rule confusion between .a and .la libraries so that parallel builds
don't get confused on who is building which .o and which library it is
going into.
* Fix dependency inclusion to only include C/C++ dependency files because
other types of sources won't have dependencies auto generated.
* Change "Source" to "SOURCES" for naming consistency
* Update parallel build rules for new recursive targets
* Implement EXPERIMENTAL_DIRS (failure allowed) feature
* Implement -local version of targets (all-local, clean-local, etc)
* Implement recursive targets in terms of their local counterparts
* Clarify names of some internal variables
* Move documentation to docs/MakefileGuide.html
* Clean up commentary
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17192 91177308-0d34-0410-b5e6-96231b3b80d8
* Use LLVM_SRC_ROOT as the anchor for the Target.td file
* Use MFLAGS instead of MAKEFLAGS for recursive makes so we don't try
to build a target "w" or "s" mysteriously.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17186 91177308-0d34-0410-b5e6-96231b3b80d8
this allows us to have sub-targets whose depth in the tree is not the same as it
is for the standard X86/PowerPC/Sparc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17170 91177308-0d34-0410-b5e6-96231b3b80d8
CONFIG_FILES=a b c
in a Makefile and when you "make install" the files a b and c will get
installed into the $prefix/etc directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15948 91177308-0d34-0410-b5e6-96231b3b80d8
libtool can't parse, e.g., "/path/to/g++ -some-funny-options",
then it will still be able to compile and link.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14072 91177308-0d34-0410-b5e6-96231b3b80d8