aboutsummaryrefslogtreecommitdiff
path: root/Makefile.common
diff options
context:
space:
mode:
authorEd Schouten <ed@FreeBSD.org>2009-06-02 17:52:33 +0000
committerEd Schouten <ed@FreeBSD.org>2009-06-02 17:52:33 +0000
commit009b1c42aa6266385f2c37e227516b24077e6dd7 (patch)
tree64ba909838c23261cace781ece27d106134ea451 /Makefile.common
downloadsrc-009b1c42aa6266385f2c37e227516b24077e6dd7.tar.gz
src-009b1c42aa6266385f2c37e227516b24077e6dd7.zip
Import LLVM, at r72732.vendor/llvm/llvm-r72732
Notes
Notes: svn path=/vendor/llvm/dist/; revision=193323 svn path=/vendor/llvm/llvm-r72732/; revision=193324; tag=vendor/llvm/llvm-r72732
Diffstat (limited to 'Makefile.common')
-rw-r--r--Makefile.common70
1 files changed, 70 insertions, 0 deletions
diff --git a/Makefile.common b/Makefile.common
new file mode 100644
index 000000000000..e1f52036f6f6
--- /dev/null
+++ b/Makefile.common
@@ -0,0 +1,70 @@
+#===-- Makefile.common - Common make rules for LLVM --------*- Makefile -*--===#
+#
+# The LLVM Compiler Infrastructure
+#
+# This file 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. PROJ_SRC_DIR - The directory which contains the current set of Makefiles
+# and usually the source code too (unless SourceDir is set).
+#
+# 9. PROJ_SRC_ROOT - The root directory of the source code being compiled.
+#
+# 10. PROJ_OBJ_DIR - The directory where object code should be placed.
+#
+# 11. PROJ_OBJ_ROOT - The root directory for where object code should be
+# placed.
+#
+# For building,
+# LLVM, LLVM_SRC_ROOT = PROJ_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
+