Makefile revision 06a801a38c43716564b3b9fb6c7a04ed242ecb61
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 1187b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner 1287b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattnerinclude $(LEVEL)/Makefile.config 137c788888872233748da10a8177a9a1eb176c1bc8Peter Collingbourne 14fe4c10caecc31dcb7a630091e1250e284ed528d5Chandler Carruthifeq ($(MAKECMDGOALS),tools-only) 15fe4c10caecc31dcb7a630091e1250e284ed528d5Chandler Carruth DIRS += tools 161ad92131abbed3d2992d5996969274a8e1ae9a6bDaniel Dunbarelse 171ad92131abbed3d2992d5996969274a8e1ae9a6bDaniel Dunbar ifneq ($(MAKECMDGOALS),libs-only) 181ad92131abbed3d2992d5996969274a8e1ae9a6bDaniel Dunbar DIRS += tools 1987b5101248ad861db5298aad8ceb3a7e407707c5Chris Lattner ifneq ($(LLVMGCC_MAJVERS),4) 20569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov DIRS += runtime 21569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov else 224a53e1ef9d137af590425f77f02a4e974f370656Stuart Hastings $(warning Skipping runtime libraries, llvm-gcc 4 detected.) 234a53e1ef9d137af590425f77f02a4e974f370656Stuart Hastings endif 244a53e1ef9d137af590425f77f02a4e974f370656Stuart Hastings OPTIONAL_DIRS := examples projects 254a53e1ef9d137af590425f77f02a4e974f370656Stuart Hastings DIRS += docs 264a53e1ef9d137af590425f77f02a4e974f370656Stuart Hastings endif 272cdc80c0671617ca9ff74ebcd8b8bd3a7097877eJim Grosbachendif 282cdc80c0671617ca9ff74ebcd8b8bd3a7097877eJim GrosbachEXTRA_DIST := test llvm.spec include 29569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov 30cb497b888aabebe13de431c8a6e7c7d31f4dea0cDaniel Dunbarinclude $(LLVM_SRC_ROOT)/Makefile.rules 310be07d39b1815536fadebf447008ff1ae9a78869Peter Collingbourne 32569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov# Specify options to pass to configure script when we're 33fe4c10caecc31dcb7a630091e1250e284ed528d5Chandler Carruth# running the dist-check target 34cb497b888aabebe13de431c8a6e7c7d31f4dea0cDaniel DunbarDIST_CHECK_CONFIG_OPTIONS = --with-llvmgccdir=$(LLVMGCCDIR) 35da589a3a963e6cc179d850c5fd395d3e10ce741cDaniel Dunbar 36da589a3a963e6cc179d850c5fd395d3e10ce741cDaniel Dunbar.PHONY: debug-opt-prof 37da589a3a963e6cc179d850c5fd395d3e10ce741cDaniel Dunbardebug-opt-prof: 38da589a3a963e6cc179d850c5fd395d3e10ce741cDaniel Dunbar $(Echo) Building Debug Version 39da589a3a963e6cc179d850c5fd395d3e10ce741cDaniel Dunbar $(Verb) $(MAKE) 40569c45cab2354a2ce5e2657f6cd159d8ab84cd5aAnton Korobeynikov $(Echo) 41df93e579757961d9a43c3fee9b97b43da8fb652cDavid Greene $(Echo) Building Optimized Version 428fb520eb4f06d4ef771abe9c22d85b2a275988eeMisha Brukman $(Echo) 43009505452b713ed2e3a8e99c5545a6e721c65495Chris Lattner $(Verb) $(MAKE) ENABLE_OPTIMIZED=1 44ef5dc7072fb96a66cc744c0fd6550def9e7f7159Misha Brukman $(Echo) 4593bc3cdd43a7f4e764049d12bd6aad019b834432Reid Spencer $(Echo) Building Profiling Version 46c90171961d020d93e4ce548016d8ccb8aab00c57Jeffrey Yasskin $(Echo) 47c90171961d020d93e4ce548016d8ccb8aab00c57Jeffrey Yasskin $(Verb) $(MAKE) ENABLE_PROFILING=1 48c90171961d020d93e4ce548016d8ccb8aab00c57Jeffrey Yasskin 49c90171961d020d93e4ce548016d8ccb8aab00c57Jeffrey Yasskindist-hook:: 509d9ae9fb59ee3897ffc21dfa3b7078478ac6d674Rafael Espindola $(Echo) Eliminating files constructed by configure 519d9ae9fb59ee3897ffc21dfa3b7078478ac6d674Rafael Espindola $(Verb) $(RM) -f \ 529d9ae9fb59ee3897ffc21dfa3b7078478ac6d674Rafael Espindola $(TopDistDir)/include/llvm/ADT/hash_map \ 539d9ae9fb59ee3897ffc21dfa3b7078478ac6d674Rafael Espindola $(TopDistDir)/include/llvm/ADT/hash_set \ 545720be4138bba4fafb72a0f3034cfe47af40b696Chris Lattner $(TopDistDir)/include/llvm/ADT/iterator \ 558b2e1419cf24a33df5a87c99e367528b44dc28cfReid Spencer $(TopDistDir)/include/llvm/Config/config.h \ 565720be4138bba4fafb72a0f3034cfe47af40b696Chris Lattner $(TopDistDir)/include/llvm/Support/DataTypes.h \ 575720be4138bba4fafb72a0f3034cfe47af40b696Chris Lattner $(TopDistDir)/include/llvm/Support/ThreadSupport.h 5822033b2a4e0330b24fd601ef36e36bb1e544bf9dChris Lattner 59544f83db6b124d042cdb4eba1c83528056e81f09Nate Begemantools-only: all 60544f83db6b124d042cdb4eba1c83528056e81f09Nate Begemanlibs-only: all 61544f83db6b124d042cdb4eba1c83528056e81f09Nate Begeman 62544f83db6b124d042cdb4eba1c83528056e81f09Nate Begeman#------------------------------------------------------------------------ 63544f83db6b124d042cdb4eba1c83528056e81f09Nate Begeman# Make sure the generated headers are up-to-date. This must be kept in 648b1f7676bddcf099e30b849f511ad5a6a86ea8a0Reid Spencer# sync with the AC_CONFIG_HEADER invocations in autoconf/configure.ac 658b2e1419cf24a33df5a87c99e367528b44dc28cfReid Spencer#------------------------------------------------------------------------ 665720be4138bba4fafb72a0f3034cfe47af40b696Chris LattnerFilesToConfig := \ 676a8c2907b0721ce53ad6887be5b10eef50dac060Chris Lattner include/llvm/Config/config.h \ 6822033b2a4e0330b24fd601ef36e36bb1e544bf9dChris Lattner include/llvm/Support/DataTypes.h \ 69b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stump include/llvm/ADT/hash_map \ 706b8dfed15e765e7b3d2121cd7fef377e6c9e00daDaniel Dunbar include/llvm/ADT/hash_set \ 714e33d94304c499083b2a3d4a8904084001f83882Bob Wilson include/llvm/ADT/iterator 729d8c6786588458e741ca38559f3d66bf006dfa69Argyrios KyrtzidisFilesToConfigPATH := $(addprefix $(LLVM_OBJ_ROOT)/,$(FilesToConfig)) 739fbf6173b8730e18b39c0a6f3f348451f506780eBob Wilson 74e160a520ce94adfb1e1afbaddc2bd5ea7cd12d5cDaniel Dunbarall-local:: $(FilesToConfigPATH) 75a1f21e69c4d3c658975ff4dc914ea6f2ccdaeaa0Bill Wendling$(FilesToConfigPATH) : $(LLVM_OBJ_ROOT)/% : $(LLVM_SRC_ROOT)/%.in 76b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stump $(Echo) Regenerating $* 77b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stump $(Verb) cd $(LLVM_OBJ_ROOT) && $(ConfigStatusScript) $* 78b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stump.PRECIOUS: $(FilesToConfigPATH) 79b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stump 80b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stump# NOTE: This needs to remain as the last target definition in this file so 81a1f21e69c4d3c658975ff4dc914ea6f2ccdaeaa0Bill Wendling# that it gets executed last. 82e160a520ce94adfb1e1afbaddc2bd5ea7cd12d5cDaniel Dunbarall:: 83b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stump $(Echo) '*****' Completed $(BuildMode)$(AssertMode) Build 84b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stumpifeq ($(BuildMode),Debug) 85b76ace310ad72f4c540f260ee18eef6674b15f31Mike Stump $(Echo) '*****' Note: Debug build can be 10 times slower than an 868fb520eb4f06d4ef771abe9c22d85b2a275988eeMisha Brukman $(Echo) '*****' optimized build. Use 'make ENABLE_OPTIMIZED=1' to 878fb520eb4f06d4ef771abe9c22d85b2a275988eeMisha Brukman $(Echo) '*****' make an optimized build. 888fb520eb4f06d4ef771abe9c22d85b2a275988eeMisha Brukmanendif 898fb520eb4f06d4ef771abe9c22d85b2a275988eeMisha Brukman 908fb520eb4f06d4ef771abe9c22d85b2a275988eeMisha Brukman