GNUmakefile revision 30174be37a97b8fbc395e92b5895fb8a89cc8c4e
1# LLVM LOCAL file build machinery 2# LLVM Compiler Makefile for use by buildit. 3# 4# This makefile is intended only for use with B&I buildit. For "normal" builds 5# use the conventional top-level makefile. 6# 7# You can specify TARGETS=ppc (or i386) on the buildit command line to limit the 8# build to just one target. The default is for ppc and i386. The compiler 9# targetted at this host gets built anyway, but not installed unless it's listed 10# in TARGETS. 11 12# Include the set of standard Apple makefile definitions. 13ifndef CoreOSMakefiles 14CoreOSMakefiles = $(MAKEFILEPATH)/CoreOS 15endif 16include $(CoreOSMakefiles)/Standard/Standard.make 17 18# Enable Apple extensions to (gnu)make. 19USE_APPLE_PB_SUPPORT = all 20 21RC_ARCHS := ppc i386 22HOSTS = $(RC_ARCHS) 23targets = echo $(RC_ARCHS) 24TARGETS := $(shell $(targets)) 25 26SRCROOT = . 27 28SRC = $(shell cd $(SRCROOT) && pwd | sed s,/private,,) 29OBJROOT = $(SRC)/obj 30SYMROOT = $(OBJROOT)/../sym 31DSTROOT = $(OBJROOT)/../dst 32 33####################################################################### 34 35PREFIX = /usr/local 36 37# Unless assertions are forced on in the GMAKE command line, disable them. 38ifndef ENABLE_ASSERTIONS 39ENABLE_ASSERTIONS := no 40endif 41 42# Default is optimized build. 43ifeq ($(LLVM_DEBUG),1) 44LLVM_OPTIMIZED := no 45else 46LLVM_OPTIMIZED := yes 47endif 48 49ifndef RC_ProjectSourceVersion 50RC_ProjectSourceVersion = 9999 51endif 52 53ifndef RC_ProjectSourceSubversion 54RC_ProjectSourceSubversion = 0 55endif 56 57# NOTE : Always put version numbers at the end because they are optional. 58install: $(OBJROOT) $(SYMROOT) $(DSTROOT) 59 cd $(OBJROOT) && \ 60 $(SRC)/utils/buildit/build_llvm "$(RC_ARCHS)" "$(TARGETS)" \ 61 $(SRC) $(PREFIX) $(DSTROOT) $(SYMROOT) \ 62 $(ENABLE_ASSERTIONS) $(LLVM_OPTIMIZED) \ 63 $(RC_ProjectSourceVersion) $(RC_ProjectSourceSubversion) 64 65 66# installhdrs does nothing, because the headers aren't useful until 67# the compiler is installed. 68installhdrs: 69 70# We build and install in one shell script. 71build: 72 73installsrc: 74 @echo 75 @echo ++++++++++++++++++++++ 76 @echo + Installing sources + 77 @echo ++++++++++++++++++++++ 78 @echo 79 if [ $(SRCROOT) != . ]; then \ 80 $(PAX) -rw . $(SRCROOT); \ 81 fi 82 find -d "$(SRCROOT)" \( -type d -a -name .svn -o \ 83 -type f -a -name .DS_Store -o \ 84 -name \*~ -o -name .\#\* \) \ 85 -exec rm -rf {} \; 86 rm -rf "$(SRCROOT)/test" 87 88####################################################################### 89 90clean: 91 @echo 92 @echo ++++++++++++ 93 @echo + Cleaning + 94 @echo ++++++++++++ 95 @echo 96 @if [ -d $(OBJROOT) -a "$(OBJROOT)" != / ]; then \ 97 echo '*** DELETING ' $(OBJROOT); \ 98 rm -rf $(OBJROOT); \ 99 fi 100 @if [ -d $(SYMROOT) -a "$(SYMROOT)" != / ]; then \ 101 echo '*** DELETING ' $(SYMROOT); \ 102 rm -rf $(SYMROOT); \ 103 fi 104 @if [ -d $(DSTROOT) -a "$(DSTROOT)" != / ]; then \ 105 echo '*** DELETING ' $(DSTROOT); \ 106 rm -rf $(DSTROOT); \ 107 fi 108 109####################################################################### 110 111$(OBJROOT) $(SYMROOT) $(DSTROOT): 112 mkdir -p $@ 113 114.PHONY: install installsrc clean 115