| Vikram S. Adve | d60aede | 2002-07-09 12:04:21 +0000 | [diff] [blame] | 1 | #===-- Makefile.common - Common make rules for LLVM -------*- makefile -*--==== | 
| Chris Lattner | 0095054 | 2001-06-06 20:29:01 +0000 | [diff] [blame] | 2 | # | 
 | 3 | # This file is included by all of the LLVM makefiles.  This file defines common | 
| Misha Brukman | 36bc642 | 2003-08-21 22:02:18 +0000 | [diff] [blame] | 4 | # rules to do things like compile a .cpp file or generate dependency info. | 
 | 5 | # These are platform dependent, so this is the file used to specify these | 
 | 6 | # system dependent operations. | 
| Chris Lattner | 0095054 | 2001-06-06 20:29:01 +0000 | [diff] [blame] | 7 | # | 
| Vikram S. Adve | c214e71 | 2002-08-29 23:28:46 +0000 | [diff] [blame] | 8 | # The following functionality can be set by setting incoming variables. | 
 | 9 | # The variable $(LEVEL) *must* be set: | 
| Chris Lattner | 0095054 | 2001-06-06 20:29:01 +0000 | [diff] [blame] | 10 | # | 
 | 11 | # 1. LEVEL - The level of the current subdirectory from the top of the  | 
 | 12 | #    MagicStats view.  This level should be expressed as a path, for  | 
 | 13 | #    example, ../.. for two levels deep. | 
 | 14 | # | 
 | 15 | # 2. DIRS - A list of subdirectories to be built.  Fake targets are set up | 
| Chris Lattner | a8abc22 | 2002-09-18 03:22:27 +0000 | [diff] [blame] | 16 | #    so that each of the targets "all", "install", and "clean" each build | 
 | 17 | #    the subdirectories before the local target.  DIRS are guaranteed to be | 
 | 18 | #    built in order. | 
| Chris Lattner | 0095054 | 2001-06-06 20:29:01 +0000 | [diff] [blame] | 19 | # | 
| Chris Lattner | a8abc22 | 2002-09-18 03:22:27 +0000 | [diff] [blame] | 20 | # 3. PARALLEL_DIRS - A list of subdirectories to be built, but that may be | 
 | 21 | #    built in any order.  All DIRS are built in order before PARALLEL_DIRS are | 
 | 22 | #    built, which are then built in any order. | 
 | 23 | # | 
 | 24 | # 4. Source - If specified, this sets the source code filenames.  If this | 
| Chris Lattner | 0095054 | 2001-06-06 20:29:01 +0000 | [diff] [blame] | 25 | #    is not set, it defaults to be all of the .cpp, .c, .y, and .l files  | 
| Chris Lattner | e001059 | 2001-10-18 01:48:09 +0000 | [diff] [blame] | 26 | #    in the current directory.  Also, if you want to build files in addition | 
 | 27 | #    to the local files, you can use the ExtraSource variable | 
| Chris Lattner | 0095054 | 2001-06-06 20:29:01 +0000 | [diff] [blame] | 28 | # | 
| Chris Lattner | 694c5df | 2003-05-15 21:28:55 +0000 | [diff] [blame] | 29 | # 5. SourceDir - If specified, this specifies a directory that the source files | 
 | 30 | #    are in, if they are not in the current directory.  This should include a | 
 | 31 | #    trailing / character. | 
 | 32 | # | 
| John Criswell | 7a73b80 | 2003-06-30 21:59:07 +0000 | [diff] [blame] | 33 | # 6. LLVM_SRC_ROOT - If specified, points to the top of the LLVM source tree. | 
| Dinakar Dhurjati | 584dd18 | 2003-05-29 21:49:00 +0000 | [diff] [blame] | 34 | # | 
| John Criswell | 7a73b80 | 2003-06-30 21:59:07 +0000 | [diff] [blame] | 35 | # 8. BUILD_SRC_DIR - The directory which contains the current set of Makefiles | 
 | 36 | #    and usually the source code too (unless SourceDir is set). | 
 | 37 | # | 
 | 38 | # 9. BUILD_SRC_ROOT - The root directory of the source code being compiled. | 
 | 39 | # | 
 | 40 | # 10. BUILD_OBJ_DIR - The directory where object code should be placed. | 
 | 41 | # | 
 | 42 | # 11. BUILD_OBJ_ROOT - The root directory for where object code should be | 
 | 43 | #     placed. | 
 | 44 | # | 
 | 45 | # For building, | 
| Chris Lattner | e430a1e | 2003-08-21 22:23:49 +0000 | [diff] [blame] | 46 | # 	LLVM, LLVM_SRC_ROOT = BUILD_SRC_ROOT | 
| Chris Lattner | af06a08 | 2003-08-15 03:02:52 +0000 | [diff] [blame] | 47 | # | 
| Vikram S. Adve | d60aede | 2002-07-09 12:04:21 +0000 | [diff] [blame] | 48 | #===-----------------------------------------------------------------------==== | 
| Chris Lattner | 0095054 | 2001-06-06 20:29:01 +0000 | [diff] [blame] | 49 |  | 
| John Criswell | 2a6530f | 2003-06-27 16:58:44 +0000 | [diff] [blame] | 50 | # | 
| Vikram S. Adve | c214e71 | 2002-08-29 23:28:46 +0000 | [diff] [blame] | 51 | # Configuration file to set paths specific to local installation of LLVM | 
 | 52 | #  | 
 | 53 | include $(LEVEL)/Makefile.config | 
 | 54 |  | 
| John Criswell | 8bff509 | 2003-06-11 13:55:44 +0000 | [diff] [blame] | 55 | # | 
| John Criswell | 7f33695 | 2003-09-06 14:44:17 +0000 | [diff] [blame] | 56 | # Include all of the build rules used for making LLVM | 
| John Criswell | 8bff509 | 2003-06-11 13:55:44 +0000 | [diff] [blame] | 57 | # | 
| John Criswell | 7f33695 | 2003-09-06 14:44:17 +0000 | [diff] [blame] | 58 | include $(LLVM_SRC_ROOT)/Makefile.rules | 
| Chris Lattner | 1ddb6b6 | 2003-08-18 17:27:40 +0000 | [diff] [blame] | 59 |  |