| ##===- projects/sample/Makefile ----------------------------*- Makefile -*-===## | |
| # | |
| # This is a sample Makefile for a project that uses LLVM. | |
| # | |
| ##===----------------------------------------------------------------------===## | |
| # | |
| # Indicates our relative path to the top of the project's root directory. | |
| # | |
| LEVEL = ../../.. | |
| DIRS = | |
| EXTRA_DIST = fibonacci.st hello.st prime.st goof.st | |
| SAMPLES = fibonacci hello prime goof | |
| LLVMC_EXEC = LLVM_CONFIG_DIR=$(BUILD_SRC_ROOT)/tools/llvmc $(TOOLDIR)/llvmc | |
| all :: $(SAMPLES) | |
| ifdef OPTIMIZE | |
| % : %.st | |
| $(Echo) "Compiling and Optimizing $(<F)" | |
| $(Verb)$(LLVMC_EXEC) -O3 $< -o $@ | |
| else | |
| % : %.st | |
| $(Echo) "Compiling $(<F)" | |
| $(Verb)$(LLVMC_EXEC) $< -o $@ | |
| endif | |
| SAMPLES_LL = $(SAMPLES:%=%.ll) | |
| SAMPLES_BC = $(SAMPLES:%=%.bc) | |
| SAMPLES_S = $(SAMPLES:%=%.s) | |
| clean :: | |
| $(Verb)rm -f gmon.out $(SAMPLES) | |
| # | |
| # Include the Master Makefile that knows how to build all. | |
| # | |
| include $(LEVEL)/Makefile.common |