Makefile revision c90171961d020d93e4ce548016d8ccb8aab00c57
16d5ab866fc1492c12b1f2531bbe7dcdb55ac9e15Misha Brukman#===- ./Makefile -------------------------------------------*- Makefile -*--===# 2ef5dc7072fb96a66cc744c0fd6550def9e7f7159Misha Brukman# 3e488e9360b1a865ba604330965edcf139e590b65John Criswell# The LLVM Compiler Infrastructure 4e488e9360b1a865ba604330965edcf139e590b65John Criswell# 557360d1f1cede3b26744d0ce3ade814fcc0f332dChris Lattner# This file is distributed under the University of Illinois Open Source 657360d1f1cede3b26744d0ce3ade814fcc0f332dChris Lattner# License. See LICENSE.TXT for details. 7ef5dc7072fb96a66cc744c0fd6550def9e7f7159Misha Brukman# 86d5ab866fc1492c12b1f2531bbe7dcdb55ac9e15Misha Brukman#===------------------------------------------------------------------------===# 922033b2a4e0330b24fd601ef36e36bb1e544bf9dChris Lattner 105720be4138bba4fafb72a0f3034cfe47af40b696Chris LattnerLEVEL := . 1187b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner 1287b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner# Top-Level LLVM Build Stages: 1387b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner# 1. Build lib/System and lib/Support, which are used by utils (tblgen). 1487b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner# 2. Build utils, which is used by VMCore. 1587b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner# 3. Build VMCore, which builds the Intrinsics.inc file used by libs. 1687b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner# 4. Build libs, which are needed by llvm-config. 1787b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner# 5. Build llvm-config, which determines inter-lib dependencies for tools. 188b2e1419cf24a33df5a87c99e367528b44dc28cfReid Spencer# 6. Build tools, runtime, docs. 1987b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner# 20569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov# When cross-compiling, there are some things (tablegen) that need to 21569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov# be build for the build system first. 224a53e1ef9d137af590425f77f02a4e974f370656Stuart Hastings 234a53e1ef9d137af590425f77f02a4e974f370656Stuart Hastings# If "RC_ProjectName" exists in the environment, and its value is 244a53e1ef9d137af590425f77f02a4e974f370656Stuart Hastings# "llvmCore", then this is an "Apple-style" build; search for 254a53e1ef9d137af590425f77f02a4e974f370656Stuart Hastings# "Apple-style" in the comments for more info. Anything else is a 264a53e1ef9d137af590425f77f02a4e974f370656Stuart Hastings# normal build. 272cdc80c0671617ca9ff74ebcd8b8bd3a7097877eJim Grosbachifneq ($(findstring llvmCore, $(RC_ProjectName)),llvmCore) # Normal build (not "Apple-style"). 282cdc80c0671617ca9ff74ebcd8b8bd3a7097877eJim Grosbach 29569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikovifeq ($(BUILD_DIRS_ONLY),1) 30569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov DIRS := lib/System lib/Support utils 31569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov OPTIONAL_DIRS := 32569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikovelse 33c90171961d020d93e4ce548016d8ccb8aab00c57Jeffrey Yasskin DIRS := lib/System lib/Support utils lib/VMCore lib tools/llvm-shlib \ 34c90171961d020d93e4ce548016d8ccb8aab00c57Jeffrey Yasskin tools/llvm-config tools runtime docs unittests 35da589a3a963e6cc179d850c5fd395d3e10ce741cDaniel Dunbar OPTIONAL_DIRS := projects bindings 36da589a3a963e6cc179d850c5fd395d3e10ce741cDaniel Dunbarendif 37da589a3a963e6cc179d850c5fd395d3e10ce741cDaniel Dunbar 38da589a3a963e6cc179d850c5fd395d3e10ce741cDaniel Dunbarifeq ($(BUILD_EXAMPLES),1) 39da589a3a963e6cc179d850c5fd395d3e10ce741cDaniel Dunbar OPTIONAL_DIRS += examples 40569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikovendif 41df93e579757961d9a43c3fee9b97b43da8fb652cDavid Greene 428fb520eb4f06d4ef771abe9c22d85b2a275988eeMisha BrukmanEXTRA_DIST := test unittests llvm.spec include win32 Xcode 43009505452b713ed2e3a8e99c5545a6e721c65495Chris Lattner 44ef5dc7072fb96a66cc744c0fd6550def9e7f7159Misha Brukmaninclude $(LEVEL)/Makefile.config 4593bc3cdd43a7f4e764049d12bd6aad019b834432Reid Spencer 46c90171961d020d93e4ce548016d8ccb8aab00c57Jeffrey Yasskinifneq ($(ENABLE_SHARED),1) 47c90171961d020d93e4ce548016d8ccb8aab00c57Jeffrey Yasskin DIRS := $(filter-out tools/llvm-shlib, $(DIRS)) 48c90171961d020d93e4ce548016d8ccb8aab00c57Jeffrey Yasskinendif 49c90171961d020d93e4ce548016d8ccb8aab00c57Jeffrey Yasskin 505720be4138bba4fafb72a0f3034cfe47af40b696Chris Lattnerifeq ($(MAKECMDGOALS),libs-only) 518b2e1419cf24a33df5a87c99e367528b44dc28cfReid Spencer DIRS := $(filter-out tools runtime docs, $(DIRS)) 525720be4138bba4fafb72a0f3034cfe47af40b696Chris Lattner OPTIONAL_DIRS := 535720be4138bba4fafb72a0f3034cfe47af40b696Chris Lattnerendif 5422033b2a4e0330b24fd601ef36e36bb1e544bf9dChris Lattner 55544f83db6b124d042cdb4eba1c83528056e81f09Nate Begemanifeq ($(MAKECMDGOALS),install-libs) 56544f83db6b124d042cdb4eba1c83528056e81f09Nate Begeman DIRS := $(filter-out tools runtime docs, $(DIRS)) 57544f83db6b124d042cdb4eba1c83528056e81f09Nate Begeman OPTIONAL_DIRS := $(filter bindings, $(OPTIONAL_DIRS)) 58544f83db6b124d042cdb4eba1c83528056e81f09Nate Begemanendif 59544f83db6b124d042cdb4eba1c83528056e81f09Nate Begeman 608b1f7676bddcf099e30b849f511ad5a6a86ea8a0Reid Spencerifeq ($(MAKECMDGOALS),tools-only) 618b2e1419cf24a33df5a87c99e367528b44dc28cfReid Spencer DIRS := $(filter-out runtime docs, $(DIRS)) 625720be4138bba4fafb72a0f3034cfe47af40b696Chris Lattner OPTIONAL_DIRS := 636a8c2907b0721ce53ad6887be5b10eef50dac060Chris Lattnerendif 6422033b2a4e0330b24fd601ef36e36bb1e544bf9dChris Lattner 65b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stumpifeq ($(MAKECMDGOALS),install-clang) 666b8dfed15e765e7b3d2121cd7fef377e6c9e00daDaniel Dunbar DIRS := tools/clang/tools/driver tools/clang/lib/Headers \ 676b8dfed15e765e7b3d2121cd7fef377e6c9e00daDaniel Dunbar tools/clang/lib/Runtime tools/clang/docs 68b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stump OPTIONAL_DIRS := 69b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stump NO_INSTALL = 1 70b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stumpendif 71b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stump 72b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stumpifeq ($(MAKECMDGOALS),clang-only) 73282098be8463035143bd8444796e6a58b0205c29Torok Edwin DIRS := $(filter-out tools runtime docs unittests, $(DIRS)) tools/clang 74b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stump OPTIONAL_DIRS := 75b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stumpendif 76b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stump 778fb520eb4f06d4ef771abe9c22d85b2a275988eeMisha Brukmanifeq ($(MAKECMDGOALS),unittests) 788fb520eb4f06d4ef771abe9c22d85b2a275988eeMisha Brukman DIRS := $(filter-out tools runtime docs, $(DIRS)) utils unittests 798fb520eb4f06d4ef771abe9c22d85b2a275988eeMisha Brukman OPTIONAL_DIRS := 808fb520eb4f06d4ef771abe9c22d85b2a275988eeMisha Brukmanendif 818fb520eb4f06d4ef771abe9c22d85b2a275988eeMisha Brukman 82c89146587ac8a030b1c63a52bdecd8eedbc87b09Chris Lattner# Use NO_INSTALL define of the Makefile of each directory for deciding 83c89146587ac8a030b1c63a52bdecd8eedbc87b09Chris Lattner# if the directory is installed or not 84122c05571141b695d9683b3fb4ce060e1ea1c009Chris Lattnerifeq ($(MAKECMDGOALS),install) 858ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen OPTIONAL_DIRS := $(filter bindings, $(OPTIONAL_DIRS)) 86122c05571141b695d9683b3fb4ce060e1ea1c009Chris Lattnerendif 87122c05571141b695d9683b3fb4ce060e1ea1c009Chris Lattner 88569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov# If we're cross-compiling, build the build-hosted tools first 89569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikovifeq ($(LLVM_CROSS_COMPILING),1) 90569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikovall:: cross-compile-build-tools 91569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov 92569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikovclean:: 93569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov $(Verb) rm -rf BuildTools 94569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov 95569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikovcross-compile-build-tools: 96569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov $(Verb) if [ ! -f BuildTools/Makefile ]; then \ 97569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov $(MKDIR) BuildTools; \ 98569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov cd BuildTools ; \ 991f22d6f131170f4dca02296fe266323d6339e6a3Jim Grosbach unset CFLAGS ; \ 1001f22d6f131170f4dca02296fe266323d6339e6a3Jim Grosbach unset CXXFLAGS ; \ 1015e869c353c01f168712ae33cb7de2e9ba5cdf658Shantonu Sen $(PROJ_SRC_DIR)/configure --build=$(BUILD_TRIPLE) \ 1025e869c353c01f168712ae33cb7de2e9ba5cdf658Shantonu Sen --host=$(BUILD_TRIPLE) --target=$(BUILD_TRIPLE); \ 103569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov cd .. ; \ 104569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov fi; \ 1055e869c353c01f168712ae33cb7de2e9ba5cdf658Shantonu Sen ($(MAKE) -C BuildTools \ 1065e869c353c01f168712ae33cb7de2e9ba5cdf658Shantonu Sen BUILD_DIRS_ONLY=1 \ 1075e869c353c01f168712ae33cb7de2e9ba5cdf658Shantonu Sen UNIVERSAL= \ 1085e869c353c01f168712ae33cb7de2e9ba5cdf658Shantonu Sen ENABLE_OPTIMIZED=$(ENABLE_OPTIMIZED) \ 1095e869c353c01f168712ae33cb7de2e9ba5cdf658Shantonu Sen ENABLE_PROFILING=$(ENABLE_PROFILING) \ 1105e869c353c01f168712ae33cb7de2e9ba5cdf658Shantonu Sen ENABLE_COVERAGE=$(ENABLE_COVERAGE) \ 1115e869c353c01f168712ae33cb7de2e9ba5cdf658Shantonu Sen DISABLE_ASSERTIONS=$(DISABLE_ASSERTIONS) \ 1125e869c353c01f168712ae33cb7de2e9ba5cdf658Shantonu Sen ENABLE_EXPENSIVE_CHECKS=$(ENABLE_EXPENSIVE_CHECKS) \ 1135e869c353c01f168712ae33cb7de2e9ba5cdf658Shantonu Sen ) || exit 1; 114569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikovendif 115569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov 11622033b2a4e0330b24fd601ef36e36bb1e544bf9dChris Lattner# Include the main makefile machinery. 11706a801a38c43716564b3b9fb6c7a04ed242ecb61Reid Spencerinclude $(LLVM_SRC_ROOT)/Makefile.rules 11806a801a38c43716564b3b9fb6c7a04ed242ecb61Reid Spencer 11945eeed9b359eba3a69fd0911c543feed3d112d15Reid Spencer# Specify options to pass to configure script when we're 12045eeed9b359eba3a69fd0911c543feed3d112d15Reid Spencer# running the dist-check target 12145eeed9b359eba3a69fd0911c543feed3d112d15Reid SpencerDIST_CHECK_CONFIG_OPTIONS = --with-llvmgccdir=$(LLVMGCCDIR) 12245eeed9b359eba3a69fd0911c543feed3d112d15Reid Spencer 123df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer.PHONY: debug-opt-prof 124df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencerdebug-opt-prof: 125df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer $(Echo) Building Debug Version 126df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer $(Verb) $(MAKE) 127df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer $(Echo) 128df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer $(Echo) Building Optimized Version 129df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer $(Echo) 130df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer $(Verb) $(MAKE) ENABLE_OPTIMIZED=1 131df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer $(Echo) 132df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer $(Echo) Building Profiling Version 133df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer $(Echo) 134df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer $(Verb) $(MAKE) ENABLE_PROFILING=1 135df561f4ab347736cc513ef0483d9049987ac32c9Reid Spencer 136151f8ba3645defc371eb4b68427384e411305734Reid Spencerdist-hook:: 137cc2d1e25f37d0d00c7f7f3ec562be61bc34e54caReid Spencer $(Echo) Eliminating files constructed by configure 138cc2d1e25f37d0d00c7f7f3ec562be61bc34e54caReid Spencer $(Verb) $(RM) -f \ 13990c29494121e3a4cefb5cae5d272178bbc49d3a9Reid Spencer $(TopDistDir)/include/llvm/Config/config.h \ 1408b67f774e9c38b7718b2b300b628388f966df4e0Chandler Carruth $(TopDistDir)/include/llvm/System/DataTypes.h 141151f8ba3645defc371eb4b68427384e411305734Reid Spencer 142b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stumpclang-only: all 1439cf662b367795f07ddf2c6deca33839b6581548bChris Lattnertools-only: all 1448b1f7676bddcf099e30b849f511ad5a6a86ea8a0Reid Spencerlibs-only: all 145b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stumpinstall-clang: install 146544f83db6b124d042cdb4eba1c83528056e81f09Nate Begemaninstall-libs: install 147ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer 148ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer#------------------------------------------------------------------------ 149ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer# Make sure the generated headers are up-to-date. This must be kept in 150ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer# sync with the AC_CONFIG_HEADER invocations in autoconf/configure.ac 151ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer#------------------------------------------------------------------------ 152ca739c685b963b103ae2d201e038ac37e7af4b29Reid SpencerFilesToConfig := \ 153ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer include/llvm/Config/config.h \ 1541555a23335400143f2b54a66aedc4b5cbbb79f8dDouglas Gregor include/llvm/Config/Targets.def \ 155f87ea4dd9ac9816131ee52ee6393c7b4012f2e68Daniel Dunbar include/llvm/Config/AsmPrinters.def \ 156f87ea4dd9ac9816131ee52ee6393c7b4012f2e68Daniel Dunbar include/llvm/Config/AsmParsers.def \ 157f87ea4dd9ac9816131ee52ee6393c7b4012f2e68Daniel Dunbar include/llvm/Config/Disassemblers.def \ 1588b67f774e9c38b7718b2b300b628388f966df4e0Chandler Carruth include/llvm/System/DataTypes.h \ 159f87ea4dd9ac9816131ee52ee6393c7b4012f2e68Daniel Dunbar tools/llvmc/plugins/Base/Base.td 160ca739c685b963b103ae2d201e038ac37e7af4b29Reid SpencerFilesToConfigPATH := $(addprefix $(LLVM_OBJ_ROOT)/,$(FilesToConfig)) 161ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer 162ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencerall-local:: $(FilesToConfigPATH) 163ef5dc7072fb96a66cc744c0fd6550def9e7f7159Misha Brukman$(FilesToConfigPATH) : $(LLVM_OBJ_ROOT)/% : $(LLVM_SRC_ROOT)/%.in 164ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer $(Echo) Regenerating $* 165ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer $(Verb) cd $(LLVM_OBJ_ROOT) && $(ConfigStatusScript) $* 166ca739c685b963b103ae2d201e038ac37e7af4b29Reid Spencer.PRECIOUS: $(FilesToConfigPATH) 167e22f3c004a04806dbe45936ab0b5e48e6c5bc016Reid Spencer 16838ab6d887c660c7e2fe08707e8f982ab451fb224Chris Lattner# NOTE: This needs to remain as the last target definition in this file so 16938ab6d887c660c7e2fe08707e8f982ab451fb224Chris Lattner# that it gets executed last. 170569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikovifneq ($(BUILD_DIRS_ONLY),1) 171ef5dc7072fb96a66cc744c0fd6550def9e7f7159Misha Brukmanall:: 172e22f3c004a04806dbe45936ab0b5e48e6c5bc016Reid Spencer $(Echo) '*****' Completed $(BuildMode)$(AssertMode) Build 173e22f3c004a04806dbe45936ab0b5e48e6c5bc016Reid Spencerifeq ($(BuildMode),Debug) 174e22f3c004a04806dbe45936ab0b5e48e6c5bc016Reid Spencer $(Echo) '*****' Note: Debug build can be 10 times slower than an 175e22f3c004a04806dbe45936ab0b5e48e6c5bc016Reid Spencer $(Echo) '*****' optimized build. Use 'make ENABLE_OPTIMIZED=1' to 1762ae19553980ac99a8881445623f55cc8f153cce3Gabor Greif $(Echo) '*****' make an optimized build. Alternatively you can 1772ae19553980ac99a8881445623f55cc8f153cce3Gabor Greif $(Echo) '*****' configure with --enable-optimized. 178e22f3c004a04806dbe45936ab0b5e48e6c5bc016Reid Spencerendif 179569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikovendif 18038ab6d887c660c7e2fe08707e8f982ab451fb224Chris Lattner 1815b30ee1c13a742f0c1843f867a6f75680c14e894Reid Spencercheck-llvm2cpp: 18242f98e54d11b40c76e13d852bfb30b6be9719663Reid Spencer $(Verb)$(MAKE) check TESTSUITE=Feature RUNLLVM2CPP=1 1835720be4138bba4fafb72a0f3034cfe47af40b696Chris Lattner 1849df5561a952cbfe32aea4e1fbde16655af82efd0Reid Spencercheck-one: 18542f98e54d11b40c76e13d852bfb30b6be9719663Reid Spencer $(Verb)$(MAKE) -C test check-one TESTONE=$(TESTONE) 1869df5561a952cbfe32aea4e1fbde16655af82efd0Reid Spencer 187ef5dc7072fb96a66cc744c0fd6550def9e7f7159Misha Brukmansrpm: $(LLVM_OBJ_ROOT)/llvm.spec 188f7c75a6832d86885db3af408307c42e7f1a1adacReid Spencer rpmbuild -bs $(LLVM_OBJ_ROOT)/llvm.spec 189f7c75a6832d86885db3af408307c42e7f1a1adacReid Spencer 190ef5dc7072fb96a66cc744c0fd6550def9e7f7159Misha Brukmanrpm: $(LLVM_OBJ_ROOT)/llvm.spec 191f7c75a6832d86885db3af408307c42e7f1a1adacReid Spencer rpmbuild -bb --target $(TARGET_TRIPLE) $(LLVM_OBJ_ROOT)/llvm.spec 192f7c75a6832d86885db3af408307c42e7f1a1adacReid Spencer 1931e46ae47b1dfe2d8f59da9cac9cedb52390c50feReid Spencershow-footprint: 1941e46ae47b1dfe2d8f59da9cac9cedb52390c50feReid Spencer $(Verb) du -sk $(LibDir) 1951e46ae47b1dfe2d8f59da9cac9cedb52390c50feReid Spencer $(Verb) du -sk $(ToolDir) 1961e46ae47b1dfe2d8f59da9cac9cedb52390c50feReid Spencer $(Verb) du -sk $(ExmplDir) 1971e46ae47b1dfe2d8f59da9cac9cedb52390c50feReid Spencer $(Verb) du -sk $(ObjDir) 1981e46ae47b1dfe2d8f59da9cac9cedb52390c50feReid Spencer 19951cf6426bf2ec569d843418077af59e7080e7f3eReid Spencerbuild-for-llvm-top: 20051cf6426bf2ec569d843418077af59e7080e7f3eReid Spencer $(Verb) if test ! -f ./config.status ; then \ 20151cf6426bf2ec569d843418077af59e7080e7f3eReid Spencer ./configure --prefix="$(LLVM_TOP)/install" \ 20251cf6426bf2ec569d843418077af59e7080e7f3eReid Spencer --with-llvm-gcc="$(LLVM_TOP)/llvm-gcc" ; \ 20351cf6426bf2ec569d843418077af59e7080e7f3eReid Spencer fi 20451cf6426bf2ec569d843418077af59e7080e7f3eReid Spencer $(Verb) $(MAKE) tools-only 20551cf6426bf2ec569d843418077af59e7080e7f3eReid Spencer 2061d7ca713bacb12a356b3b3de0f6a942eb3c085a1Gabor GreifSVN = svn 2079fa4226925cbc4d1aa54fc3eaecf95c898713e73Gabor GreifSVN-UPDATE-OPTIONS = 2081d7ca713bacb12a356b3b3de0f6a942eb3c085a1Gabor GreifAWK = awk 209a4a0323f634c792fc21ed4ed415f36b6e8cdfa8bGabor GreifSUB-SVN-DIRS = $(AWK) '/\?\ \ \ \ \ \ / {print $$2}' \ 21095fc7aac600803a6a29e73746f9336e3a7cdf383Gabor Greif | LC_ALL=C xargs $(SVN) info 2>/dev/null \ 211a4a0323f634c792fc21ed4ed415f36b6e8cdfa8bGabor Greif | $(AWK) '/Path:\ / {print $$2}' 2121d7ca713bacb12a356b3b3de0f6a942eb3c085a1Gabor Greif 2131d7ca713bacb12a356b3b3de0f6a942eb3c085a1Gabor Greifupdate: 2148e0c20bf1b7f507621d765cc7d795362fda639ffGabor Greif $(SVN) $(SVN-UPDATE-OPTIONS) update $(LLVM_SRC_ROOT) 2158e0c20bf1b7f507621d765cc7d795362fda639ffGabor Greif @ $(SVN) status $(LLVM_SRC_ROOT) | $(SUB-SVN-DIRS) | xargs $(SVN) $(SVN-UPDATE-OPTIONS) update 2161d7ca713bacb12a356b3b3de0f6a942eb3c085a1Gabor Greif 2174113bd1dc6032f9559fa58c61d5cc7d9a8c079beBill Wendlinghappiness: update all check unittests 2181d7ca713bacb12a356b3b3de0f6a942eb3c085a1Gabor Greif 2191d7ca713bacb12a356b3b3de0f6a942eb3c085a1Gabor Greif.PHONY: srpm rpm update happiness 22051cf6426bf2ec569d843418077af59e7080e7f3eReid Spencer 2212ae19553980ac99a8881445623f55cc8f153cce3Gabor Greif# declare all targets at this level to be serial: 2222ae19553980ac99a8881445623f55cc8f153cce3Gabor Greif 2232ae19553980ac99a8881445623f55cc8f153cce3Gabor Greif.NOTPARALLEL: 2242ae19553980ac99a8881445623f55cc8f153cce3Gabor Greif 2254a53e1ef9d137af590425f77f02a4e974f370656Stuart Hastingselse # Building "Apple-style." 2264a53e1ef9d137af590425f77f02a4e974f370656Stuart Hastings# In an Apple-style build, once configuration is done, lines marked 2274a53e1ef9d137af590425f77f02a4e974f370656Stuart Hastings# "Apple-style" are removed with sed! Please don't remove these! 2284a53e1ef9d137af590425f77f02a4e974f370656Stuart Hastings# Look for the string "Apple-style" in utils/buildit/build_llvm. 2294a53e1ef9d137af590425f77f02a4e974f370656Stuart Hastingsinclude $(shell find . -name GNUmakefile) # Building "Apple-style." 2304a53e1ef9d137af590425f77f02a4e974f370656Stuart Hastingsendif # Building "Apple-style." 231