Makefile revision 06a801a38c43716564b3b9fb6c7a04ed242ecb61
16d5ab866fc1492c12b1f2531bbe7dcdb55ac9e15Misha Brukman#===- ./Makefile -------------------------------------------*- Makefile -*--===# 2e488e9360b1a865ba604330965edcf139e590b65John Criswell# 3e488e9360b1a865ba604330965edcf139e590b65John Criswell# The LLVM Compiler Infrastructure 4e488e9360b1a865ba604330965edcf139e590b65John Criswell# 5e488e9360b1a865ba604330965edcf139e590b65John Criswell# This file was developed by the LLVM research group and is distributed under 6e488e9360b1a865ba604330965edcf139e590b65John Criswell# the University of Illinois Open Source License. See LICENSE.TXT for details. 7e488e9360b1a865ba604330965edcf139e590b65John Criswell# 86d5ab866fc1492c12b1f2531bbe7dcdb55ac9e15Misha Brukman#===------------------------------------------------------------------------===# 9009505452b713ed2e3a8e99c5545a6e721c65495Chris LattnerLEVEL = . 108b1f7676bddcf099e30b849f511ad5a6a86ea8a0Reid SpencerDIRS = lib/System lib/Support utils lib 11009505452b713ed2e3a8e99c5545a6e721c65495Chris Lattner 1206a801a38c43716564b3b9fb6c7a04ed242ecb61Reid Spencerinclude $(LEVEL)/Makefile.config 1393bc3cdd43a7f4e764049d12bd6aad019b834432Reid Spencer 148b1f7676bddcf099e30b849f511ad5a6a86ea8a0Reid Spencerifeq ($(MAKECMDGOALS),tools-only) 1593bc3cdd43a7f4e764049d12bd6aad019b834432Reid Spencer DIRS += tools 168b1f7676bddcf099e30b849f511ad5a6a86ea8a0Reid Spencerelse 178b1f7676bddcf099e30b849f511ad5a6a86ea8a0Reid Spencer ifneq ($(MAKECMDGOALS),libs-only) 1893bc3cdd43a7f4e764049d12bd6aad019b834432Reid Spencer DIRS += tools 1930ea2fa93314e5b6ce3f58beaffe37f04ba76ac8Reid Spencer ifneq ($(LLVMGCC_MAJVERS),4) 2093bc3cdd43a7f4e764049d12bd6aad019b834432Reid Spencer DIRS += runtime 2193bc3cdd43a7f4e764049d12bd6aad019b834432Reid Spencer else 2293bc3cdd43a7f4e764049d12bd6aad019b834432Reid Spencer $(warning Skipping runtime libraries, llvm-gcc 4 detected.) 2393bc3cdd43a7f4e764049d12bd6aad019b834432Reid Spencer endif 2406a801a38c43716564b3b9fb6c7a04ed242ecb61Reid Spencer OPTIONAL_DIRS := examples projects 2593bc3cdd43a7f4e764049d12bd6aad019b834432Reid Spencer DIRS += docs 268b1f7676bddcf099e30b849f511ad5a6a86ea8a0Reid Spencer endif 276a8c2907b0721ce53ad6887be5b10eef50dac060Chris Lattnerendif 2890c29494121e3a4cefb5cae5d272178bbc49d3a9Reid SpencerEXTRA_DIST := test llvm.spec include 2990c29494121e3a4cefb5cae5d272178bbc49d3a9Reid Spencer 3006a801a38c43716564b3b9fb6c7a04ed242ecb61Reid Spencerinclude $(LLVM_SRC_ROOT)/Makefile.rules 3106a801a38c43716564b3b9fb6c7a04ed242ecb61Reid Spencer 3245eeed9b359eba3a69fd0911c543feed3d112d15Reid Spencer# Specify options to pass to configure script when we're 3345eeed9b359eba3a69fd0911c543feed3d112d15Reid Spencer# running the dist-check target 3445eeed9b359eba3a69fd0911c543feed3d112d15Reid SpencerDIST_CHECK_CONFIG_OPTIONS = --with-llvmgccdir=$(LLVMGCCDIR) 3545eeed9b359eba3a69fd0911c543feed3d112d15Reid Spencer 36df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer.PHONY: debug-opt-prof 37df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencerdebug-opt-prof: 38df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer $(Echo) Building Debug Version 39df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer $(Verb) $(MAKE) 40df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer $(Echo) 41df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer $(Echo) Building Optimized Version 42df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer $(Echo) 43df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer $(Verb) $(MAKE) ENABLE_OPTIMIZED=1 44df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer $(Echo) 45df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer $(Echo) Building Profiling Version 46df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer $(Echo) 47df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer $(Verb) $(MAKE) ENABLE_PROFILING=1 48df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer 49151f8ba3645defc371eb4b68427384e411305734Reid Spencerdist-hook:: 50cc2d1e25f37d0d00c7f7f3ec562be61bc34e54caReid Spencer $(Echo) Eliminating files constructed by configure 51cc2d1e25f37d0d00c7f7f3ec562be61bc34e54caReid Spencer $(Verb) $(RM) -f \ 5290c29494121e3a4cefb5cae5d272178bbc49d3a9Reid Spencer $(TopDistDir)/include/llvm/ADT/hash_map \ 5390c29494121e3a4cefb5cae5d272178bbc49d3a9Reid Spencer $(TopDistDir)/include/llvm/ADT/hash_set \ 5490c29494121e3a4cefb5cae5d272178bbc49d3a9Reid Spencer $(TopDistDir)/include/llvm/ADT/iterator \ 5590c29494121e3a4cefb5cae5d272178bbc49d3a9Reid Spencer $(TopDistDir)/include/llvm/Config/config.h \ 5690c29494121e3a4cefb5cae5d272178bbc49d3a9Reid Spencer $(TopDistDir)/include/llvm/Support/DataTypes.h \ 5790c29494121e3a4cefb5cae5d272178bbc49d3a9Reid Spencer $(TopDistDir)/include/llvm/Support/ThreadSupport.h 58151f8ba3645defc371eb4b68427384e411305734Reid Spencer 599cf662b367795f07ddf2c6deca33839b6581548bChris Lattnertools-only: all 608b1f7676bddcf099e30b849f511ad5a6a86ea8a0Reid Spencerlibs-only: all 61ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer 62ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer#------------------------------------------------------------------------ 63ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer# Make sure the generated headers are up-to-date. This must be kept in 64ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer# sync with the AC_CONFIG_HEADER invocations in autoconf/configure.ac 65ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer#------------------------------------------------------------------------ 66ca739c685b963b103ae2d201e038ac37e7af4b29Reid SpencerFilesToConfig := \ 67ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer include/llvm/Config/config.h \ 68ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer include/llvm/Support/DataTypes.h \ 69ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer include/llvm/ADT/hash_map \ 70ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer include/llvm/ADT/hash_set \ 71ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer include/llvm/ADT/iterator 72ca739c685b963b103ae2d201e038ac37e7af4b29Reid SpencerFilesToConfigPATH := $(addprefix $(LLVM_OBJ_ROOT)/,$(FilesToConfig)) 73ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer 74ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencerall-local:: $(FilesToConfigPATH) 75ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer$(FilesToConfigPATH) : $(LLVM_OBJ_ROOT)/% : $(LLVM_SRC_ROOT)/%.in 76ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer $(Echo) Regenerating $* 77ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer $(Verb) cd $(LLVM_OBJ_ROOT) && $(ConfigStatusScript) $* 78ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer.PRECIOUS: $(FilesToConfigPATH) 79e22f3c004a04806dbe45936ab0b5e48e6c5bc016Reid Spencer 8038ab6d887c660c7e2fe08707e8f982ab451fb224Chris Lattner# NOTE: This needs to remain as the last target definition in this file so 8138ab6d887c660c7e2fe08707e8f982ab451fb224Chris Lattner# that it gets executed last. 82e22f3c004a04806dbe45936ab0b5e48e6c5bc016Reid Spencerall:: 83e22f3c004a04806dbe45936ab0b5e48e6c5bc016Reid Spencer $(Echo) '*****' Completed $(BuildMode)$(AssertMode) Build 84e22f3c004a04806dbe45936ab0b5e48e6c5bc016Reid Spencerifeq ($(BuildMode),Debug) 85e22f3c004a04806dbe45936ab0b5e48e6c5bc016Reid Spencer $(Echo) '*****' Note: Debug build can be 10 times slower than an 86e22f3c004a04806dbe45936ab0b5e48e6c5bc016Reid Spencer $(Echo) '*****' optimized build. Use 'make ENABLE_OPTIMIZED=1' to 87e22f3c004a04806dbe45936ab0b5e48e6c5bc016Reid Spencer $(Echo) '*****' make an optimized build. 88e22f3c004a04806dbe45936ab0b5e48e6c5bc016Reid Spencerendif 8938ab6d887c660c7e2fe08707e8f982ab451fb224Chris Lattner 90