Chris Lattner | 9d014e7 | 2003-11-23 17:55:19 +0000 | [diff] [blame] | 1 | ##===- projects/sample/Makefile ----------------------------*- Makefile -*-===## |
| 2 | # |
| 3 | # This is a sample Makefile for a project that uses LLVM. |
| 4 | # |
| 5 | ##===----------------------------------------------------------------------===## |
| 6 | |
| 7 | # |
| 8 | # Indicates our relative path to the top of the project's root directory. |
| 9 | # |
| 10 | LEVEL = ../../.. |
Chris Lattner | 9d014e7 | 2003-11-23 17:55:19 +0000 | [diff] [blame] | 11 | DIRS = |
| 12 | |
Reid Spencer | 64b5fb2 | 2004-10-28 06:42:34 +0000 | [diff] [blame] | 13 | EXTRA_DIST = fibonacci.st hello.st prime.st goof.st |
| 14 | |
| 15 | SAMPLES = fibonacci hello prime goof |
Chris Lattner | 9d014e7 | 2003-11-23 17:55:19 +0000 | [diff] [blame] | 16 | |
Reid Spencer | 6e039e5 | 2004-10-29 06:42:38 +0000 | [diff] [blame] | 17 | LLVMC_EXEC = LLVM_CONFIG_DIR=$(BUILD_SRC_ROOT)/tools/llvmc $(TOOLDIR)/llvmc |
Chris Lattner | 0c82ee7 | 2003-12-08 07:08:00 +0000 | [diff] [blame] | 18 | |
Brian Gaeke | 3e4a271 | 2003-11-24 02:57:25 +0000 | [diff] [blame] | 19 | all :: $(SAMPLES) |
Chris Lattner | 9d014e7 | 2003-11-23 17:55:19 +0000 | [diff] [blame] | 20 | |
| 21 | ifdef OPTIMIZE |
Reid Spencer | 6cb21d4 | 2004-10-27 23:18:45 +0000 | [diff] [blame] | 22 | % : %.st |
Reid Spencer | a98e7b5 | 2004-10-30 09:26:22 +0000 | [diff] [blame] | 23 | $(Echo) "Compiling and Optimizing $(<F)" |
| 24 | $(Verb)$(LLVMC_EXEC) -O3 $< -o $@ |
Chris Lattner | 9d014e7 | 2003-11-23 17:55:19 +0000 | [diff] [blame] | 25 | else |
Reid Spencer | e198cd1 | 2004-10-28 04:08:05 +0000 | [diff] [blame] | 26 | % : %.st |
Reid Spencer | a98e7b5 | 2004-10-30 09:26:22 +0000 | [diff] [blame] | 27 | $(Echo) "Compiling $(<F)" |
| 28 | $(Verb)$(LLVMC_EXEC) $< -o $@ |
Chris Lattner | 9d014e7 | 2003-11-23 17:55:19 +0000 | [diff] [blame] | 29 | endif |
| 30 | |
Brian Gaeke | 3e4a271 | 2003-11-24 02:57:25 +0000 | [diff] [blame] | 31 | SAMPLES_LL = $(SAMPLES:%=%.ll) |
| 32 | SAMPLES_BC = $(SAMPLES:%=%.bc) |
| 33 | SAMPLES_S = $(SAMPLES:%=%.s) |
| 34 | |
| 35 | clean :: |
Reid Spencer | a98e7b5 | 2004-10-30 09:26:22 +0000 | [diff] [blame] | 36 | $(Verb)rm -f gmon.out $(SAMPLES) |
Chris Lattner | 9d014e7 | 2003-11-23 17:55:19 +0000 | [diff] [blame] | 37 | # |
| 38 | # Include the Master Makefile that knows how to build all. |
| 39 | # |
| 40 | include $(LEVEL)/Makefile.common |