blob: 9fe71c0b1c6ca1da7cbc73c5e48399c2abb0e9c4 [file] [log] [blame]
Misha Brukman6d5ab862004-04-24 00:10:56 +00001#===-- Makefile.common - Common make rules for LLVM --------*- Makefile -*--===#
John Criswelld8846c12003-10-21 14:33:46 +00002#
3# The LLVM Compiler Infrastructure
4#
5# This file was developed by the LLVM research group and is distributed under
6# the University of Illinois Open Source License. See LICENSE.TXT for details.
7#
Misha Brukman6d5ab862004-04-24 00:10:56 +00008#===------------------------------------------------------------------------===#
Chris Lattner00950542001-06-06 20:29:01 +00009#
10# This file is included by all of the LLVM makefiles. This file defines common
Misha Brukman36bc6422003-08-21 22:02:18 +000011# 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.
Chris Lattner00950542001-06-06 20:29:01 +000014#
Vikram S. Advec214e712002-08-29 23:28:46 +000015# The following functionality can be set by setting incoming variables.
16# The variable $(LEVEL) *must* be set:
Chris Lattner00950542001-06-06 20:29:01 +000017#
18# 1. LEVEL - The level of the current subdirectory from the top of the
19# MagicStats view. 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
Chris Lattnera8abc222002-09-18 03:22:27 +000023# 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.
Chris Lattner00950542001-06-06 20:29:01 +000026#
Chris Lattnera8abc222002-09-18 03:22:27 +000027# 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
Chris Lattner00950542001-06-06 20:29:01 +000032# is not set, it defaults to be all of the .cpp, .c, .y, and .l files
Chris Lattnere0010592001-10-18 01:48:09 +000033# in the current directory. Also, if you want to build files in addition
34# to the local files, you can use the ExtraSource variable
Chris Lattner00950542001-06-06 20:29:01 +000035#
Chris Lattner694c5df2003-05-15 21:28:55 +000036# 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#
John Criswell7a73b802003-06-30 21:59:07 +000040# 6. LLVM_SRC_ROOT - If specified, points to the top of the LLVM source tree.
Dinakar Dhurjati584dd182003-05-29 21:49:00 +000041#
John Criswell7a73b802003-06-30 21:59:07 +000042# 8. BUILD_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. BUILD_SRC_ROOT - The root directory of the source code being compiled.
46#
47# 10. BUILD_OBJ_DIR - The directory where object code should be placed.
48#
49# 11. BUILD_OBJ_ROOT - The root directory for where object code should be
50# placed.
51#
52# For building,
Chris Lattnere430a1e2003-08-21 22:23:49 +000053# LLVM, LLVM_SRC_ROOT = BUILD_SRC_ROOT
Chris Lattneraf06a082003-08-15 03:02:52 +000054#
Vikram S. Adved60aede2002-07-09 12:04:21 +000055#===-----------------------------------------------------------------------====
Chris Lattner00950542001-06-06 20:29:01 +000056
John Criswell2a6530f2003-06-27 16:58:44 +000057#
Vikram S. Advec214e712002-08-29 23:28:46 +000058# Configuration file to set paths specific to local installation of LLVM
59#
60include $(LEVEL)/Makefile.config
61
John Criswell8bff5092003-06-11 13:55:44 +000062#
John Criswell7f336952003-09-06 14:44:17 +000063# Include all of the build rules used for making LLVM
John Criswell8bff5092003-06-11 13:55:44 +000064#
John Criswell7f336952003-09-06 14:44:17 +000065include $(LLVM_SRC_ROOT)/Makefile.rules
Chris Lattner1ddb6b62003-08-18 17:27:40 +000066