• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#===-- Makefile.common - Common make rules for LLVM --------*- Makefile -*--===#
2#
3#                     The LLVM Compiler Infrastructure
4#
5# This file is distributed under the University of Illinois Open Source
6# License. See LICENSE.TXT for details.
7#
8#===------------------------------------------------------------------------===#
9#
10# This file is included by all of the LLVM makefiles.  This file defines common
11# rules to do things like compile a .cpp file or generate dependency info.
12# These are platform dependent, so this is the file used to specify these
13# system dependent operations.
14#
15# The following functionality can be set by setting incoming variables.
16# The variable $(LEVEL) *must* be set:
17#
18# 1. LEVEL - The level of the current subdirectory from the top of the
19#    source directory.  This level should be expressed as a path, for
20#    example, ../.. for two levels deep.
21#
22# 2. DIRS - A list of subdirectories to be built.  Fake targets are set up
23#    so that each of the targets "all", "install", and "clean" each build
24#    the subdirectories before the local target.  DIRS are guaranteed to be
25#    built in order.
26#
27# 3. PARALLEL_DIRS - A list of subdirectories to be built, but that may be
28#    built in any order.  All DIRS are built in order before PARALLEL_DIRS are
29#    built, which are then built in any order.
30#
31# 4. Source - If specified, this sets the source code filenames.  If this
32#    is not set, it defaults to be all of the .cpp, .c, .y, and .l files
33#    in the current directory.  Also, if you want to build files in addition
34#    to the local files, you can use the ExtraSource variable
35#
36# 5. SourceDir - If specified, this specifies a directory that the source files
37#    are in, if they are not in the current directory.  This should include a
38#    trailing / character.
39#
40# 6. LLVM_SRC_ROOT - If specified, points to the top of the LLVM source tree.
41#
42# 8. PROJ_SRC_DIR - The directory which contains the current set of Makefiles
43#    and usually the source code too (unless SourceDir is set).
44#
45# 9. PROJ_SRC_ROOT - The root directory of the source code being compiled.
46#
47# 10. PROJ_OBJ_DIR - The directory where object code should be placed.
48#
49# 11. PROJ_OBJ_ROOT - The root directory for where object code should be
50#     placed.
51#
52# For building,
53# 	LLVM, LLVM_SRC_ROOT = PROJ_SRC_ROOT
54#
55#===-----------------------------------------------------------------------====
56
57#
58# Configuration file to set paths specific to local installation of LLVM
59#
60ifndef LLVM_OBJ_ROOT
61include $(LEVEL)/Makefile.config
62else
63include $(LLVM_OBJ_ROOT)/Makefile.config
64endif
65
66#
67# Include all of the build rules used for making LLVM
68#
69include $(LLVM_SRC_ROOT)/Makefile.rules
70
71