| #===-- Makefile.common - Common make rules for LLVM --------*- Makefile -*--===# |
| # |
| # The LLVM Compiler Infrastructure |
| # |
| # This file was developed by the LLVM research group and is distributed under |
| # the University of Illinois Open Source License. See LICENSE.TXT for details. |
| # |
| #===------------------------------------------------------------------------===# |
| # |
| # This file is included by all of the LLVM makefiles. This file defines common |
| # rules to do things like compile a .cpp file or generate dependency info. |
| # These are platform dependent, so this is the file used to specify these |
| # system dependent operations. |
| # |
| # The following functionality can be set by setting incoming variables. |
| # The variable $(LEVEL) *must* be set: |
| # |
| # 1. LEVEL - The level of the current subdirectory from the top of the |
| # source directory. This level should be expressed as a path, for |
| # example, ../.. for two levels deep. |
| # |
| # 2. DIRS - A list of subdirectories to be built. Fake targets are set up |
| # so that each of the targets "all", "install", and "clean" each build |
| # the subdirectories before the local target. DIRS are guaranteed to be |
| # built in order. |
| # |
| # 3. PARALLEL_DIRS - A list of subdirectories to be built, but that may be |
| # built in any order. All DIRS are built in order before PARALLEL_DIRS are |
| # built, which are then built in any order. |
| # |
| # 4. Source - If specified, this sets the source code filenames. If this |
| # is not set, it defaults to be all of the .cpp, .c, .y, and .l files |
| # in the current directory. Also, if you want to build files in addition |
| # to the local files, you can use the ExtraSource variable |
| # |
| # 5. SourceDir - If specified, this specifies a directory that the source files |
| # are in, if they are not in the current directory. This should include a |
| # trailing / character. |
| # |
| # 6. LLVM_SRC_ROOT - If specified, points to the top of the LLVM source tree. |
| # |
| # 8. BUILD_SRC_DIR - The directory which contains the current set of Makefiles |
| # and usually the source code too (unless SourceDir is set). |
| # |
| # 9. BUILD_SRC_ROOT - The root directory of the source code being compiled. |
| # |
| # 10. BUILD_OBJ_DIR - The directory where object code should be placed. |
| # |
| # 11. BUILD_OBJ_ROOT - The root directory for where object code should be |
| # placed. |
| # |
| # For building, |
| # LLVM, LLVM_SRC_ROOT = BUILD_SRC_ROOT |
| # |
| #===-----------------------------------------------------------------------==== |
| |
| # |
| # Configuration file to set paths specific to local installation of LLVM |
| # |
| ifndef LLVM_OBJ_ROOT |
| include $(LEVEL)/Makefile.config |
| else |
| include $(LLVM_OBJ_ROOT)/Makefile.config |
| endif |
| |
| # |
| # Include all of the build rules used for making LLVM |
| # |
| include $(LLVM_SRC_ROOT)/Makefile.rules |
| |