Makefile revision 5b30ee1c13a742f0c1843f867a6f75680c14e894
16d5ab866fc1492c12b1f2531bbe7dcdb55ac9e15Misha Brukman#===- ./Makefile -------------------------------------------*- Makefile -*--===# 2ef5dc7072fb96a66cc744c0fd6550def9e7f7159Misha Brukman# 3e488e9360b1a865ba604330965edcf139e590b65John Criswell# The LLVM Compiler Infrastructure 4e488e9360b1a865ba604330965edcf139e590b65John Criswell# 557360d1f1cede3b26744d0ce3ade814fcc0f332dChris Lattner# This file was developed by the LLVM research group and is distributed under 657360d1f1cede3b26744d0ce3ade814fcc0f332dChris Lattner# the University of Illinois Open Source License. See LICENSE.TXT for details. 7ef5dc7072fb96a66cc744c0fd6550def9e7f7159Misha Brukman# 86d5ab866fc1492c12b1f2531bbe7dcdb55ac9e15Misha Brukman#===------------------------------------------------------------------------===# 922033b2a4e0330b24fd601ef36e36bb1e544bf9dChris LattnerLEVEL = . 105720be4138bba4fafb72a0f3034cfe47af40b696Chris LattnerDIRS = lib/System lib/Support utils lib/VMCore lib 1187b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner 1287b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattnerinclude $(LEVEL)/Makefile.config 1387b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner 1487b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattnerifeq ($(MAKECMDGOALS),tools-only) 1587b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner DIRS += tools 1687b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattnerelse 1787b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner ifneq ($(MAKECMDGOALS),libs-only) 188b2e1419cf24a33df5a87c99e367528b44dc28cfReid Spencer DIRS += tools 1987b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner ifneq ($(LLVMGCC_MAJVERS),4) 20569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov DIRS += runtime 21569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov else 22569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov $(warning Skipping runtime libraries, llvm-gcc 4 detected.) 23569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov endif 24569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov OPTIONAL_DIRS := examples projects 25569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov DIRS += docs 26569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov endif 27569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikovendif 28569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton KorobeynikovEXTRA_DIST := test llvm.spec include win32 Xcode 29569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov 30df93e579757961d9a43c3fee9b97b43da8fb652cDavid Greeneinclude $(LLVM_SRC_ROOT)/Makefile.rules 318fb520eb4f06d4ef771abe9c22d85b2a275988eeMisha Brukman 32009505452b713ed2e3a8e99c5545a6e721c65495Chris Lattner# Specify options to pass to configure script when we're 33ef5dc7072fb96a66cc744c0fd6550def9e7f7159Misha Brukman# running the dist-check target 3493bc3cdd43a7f4e764049d12bd6aad019b834432Reid SpencerDIST_CHECK_CONFIG_OPTIONS = --with-llvmgccdir=$(LLVMGCCDIR) 35c6b66ebba9e77ecc766780f4c860ec554f963855Chris Lattner 36c6b66ebba9e77ecc766780f4c860ec554f963855Chris Lattner.PHONY: debug-opt-prof 37c6b66ebba9e77ecc766780f4c860ec554f963855Chris Lattnerdebug-opt-prof: 38c6b66ebba9e77ecc766780f4c860ec554f963855Chris Lattner $(Echo) Building Debug Version 398b2e1419cf24a33df5a87c99e367528b44dc28cfReid Spencer $(Verb) $(MAKE) 40c6b66ebba9e77ecc766780f4c860ec554f963855Chris Lattner $(Echo) 418b2e1419cf24a33df5a87c99e367528b44dc28cfReid Spencer $(Echo) Building Optimized Version 425720be4138bba4fafb72a0f3034cfe47af40b696Chris Lattner $(Echo) 438b2e1419cf24a33df5a87c99e367528b44dc28cfReid Spencer $(Verb) $(MAKE) ENABLE_OPTIMIZED=1 445720be4138bba4fafb72a0f3034cfe47af40b696Chris Lattner $(Echo) 455720be4138bba4fafb72a0f3034cfe47af40b696Chris Lattner $(Echo) Building Profiling Version 4622033b2a4e0330b24fd601ef36e36bb1e544bf9dChris Lattner $(Echo) 47544f83db6b124d042cdb4eba1c83528056e81f09Nate Begeman $(Verb) $(MAKE) ENABLE_PROFILING=1 48544f83db6b124d042cdb4eba1c83528056e81f09Nate Begeman 49544f83db6b124d042cdb4eba1c83528056e81f09Nate Begemandist-hook:: 50544f83db6b124d042cdb4eba1c83528056e81f09Nate Begeman $(Echo) Eliminating files constructed by configure 51544f83db6b124d042cdb4eba1c83528056e81f09Nate Begeman $(Verb) $(RM) -f \ 528b1f7676bddcf099e30b849f511ad5a6a86ea8a0Reid Spencer $(TopDistDir)/include/llvm/ADT/hash_map \ 538b2e1419cf24a33df5a87c99e367528b44dc28cfReid Spencer $(TopDistDir)/include/llvm/ADT/hash_set \ 545720be4138bba4fafb72a0f3034cfe47af40b696Chris Lattner $(TopDistDir)/include/llvm/ADT/iterator \ 556a8c2907b0721ce53ad6887be5b10eef50dac060Chris Lattner $(TopDistDir)/include/llvm/Config/config.h \ 5622033b2a4e0330b24fd601ef36e36bb1e544bf9dChris Lattner $(TopDistDir)/include/llvm/Support/DataTypes.h \ 57b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stump $(TopDistDir)/include/llvm/Support/ThreadSupport.h 58e568f641311883c2a1240e8e50d2e1e2cf04e15fMike Stump 59166c9e244c18d0c4003b80d80cbc5d32ec3e5dbeMike Stumptools-only: all 60b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stumplibs-only: all 61b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stump 62b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stump#------------------------------------------------------------------------ 63b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stump# Make sure the generated headers are up-to-date. This must be kept in 64b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stump# sync with the AC_CONFIG_HEADER invocations in autoconf/configure.ac 65b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stump#------------------------------------------------------------------------ 66b76ace310ad72f4c540f260ee18eef6674b15f31Mike StumpFilesToConfig := \ 67b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stump include/llvm/Config/config.h \ 68b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stump include/llvm/Support/DataTypes.h \ 698fb520eb4f06d4ef771abe9c22d85b2a275988eeMisha Brukman include/llvm/ADT/hash_map \ 708fb520eb4f06d4ef771abe9c22d85b2a275988eeMisha Brukman include/llvm/ADT/hash_set \ 718fb520eb4f06d4ef771abe9c22d85b2a275988eeMisha Brukman include/llvm/ADT/iterator 728fb520eb4f06d4ef771abe9c22d85b2a275988eeMisha BrukmanFilesToConfigPATH := $(addprefix $(LLVM_OBJ_ROOT)/,$(FilesToConfig)) 738fb520eb4f06d4ef771abe9c22d85b2a275988eeMisha Brukman 74c89146587ac8a030b1c63a52bdecd8eedbc87b09Chris Lattnerall-local:: $(FilesToConfigPATH) 75c89146587ac8a030b1c63a52bdecd8eedbc87b09Chris Lattner$(FilesToConfigPATH) : $(LLVM_OBJ_ROOT)/% : $(LLVM_SRC_ROOT)/%.in 76122c05571141b695d9683b3fb4ce060e1ea1c009Chris Lattner $(Echo) Regenerating $* 778ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen $(Verb) cd $(LLVM_OBJ_ROOT) && $(ConfigStatusScript) $* 78122c05571141b695d9683b3fb4ce060e1ea1c009Chris Lattner.PRECIOUS: $(FilesToConfigPATH) 79122c05571141b695d9683b3fb4ce060e1ea1c009Chris Lattner 80569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov# NOTE: This needs to remain as the last target definition in this file so 81569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov# that it gets executed last. 82569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikovall:: 83569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov $(Echo) '*****' Completed $(BuildMode)$(AssertMode) Build 84569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikovifeq ($(BuildMode),Debug) 85569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov $(Echo) '*****' Note: Debug build can be 10 times slower than an 86569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov $(Echo) '*****' optimized build. Use 'make ENABLE_OPTIMIZED=1' to 87569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov $(Echo) '*****' make an optimized build. 88569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikovendif 89569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov 90569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikovcheck-llvm2cpp: 91569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov $(MAKE) check TESTSUITE=Feature RUNLLVM2CPP=1 92569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov