diff options
| author | Bob Wilson <bob.wilson@apple.com> | 2011-11-27 05:39:58 +0000 | 
|---|---|---|
| committer | Bob Wilson <bob.wilson@apple.com> | 2011-11-27 05:39:58 +0000 | 
| commit | 8a3c663e95513912f705bbcd0c0ba922159a732b (patch) | |
| tree | 68f9ce934643da661538ca5f563858412a735de1 | |
| parent | 97b3da5433e799c077f3f139b1f0e339d04b932d (diff) | |
| download | bcm5719-llvm-8a3c663e95513912f705bbcd0c0ba922159a732b.tar.gz bcm5719-llvm-8a3c663e95513912f705bbcd0c0ba922159a732b.zip  | |
Refactor libcxx makefile.  No functional changes intended.
Besides cleaning up the repetition in the installhdrs target, the point of this
change is to provide a separate do-installhdrs target that can be used directly
from clang's runtime/libcxx makefile to install a copy of the headers along
with clang.  <rdar://problem/10397739>
llvm-svn: 145162
| -rw-r--r-- | libcxx/Makefile | 64 | 
1 files changed, 25 insertions, 39 deletions
diff --git a/libcxx/Makefile b/libcxx/Makefile index 7c75a32a079..ec68880dc0a 100644 --- a/libcxx/Makefile +++ b/libcxx/Makefile @@ -14,6 +14,9 @@ ifeq (,$(RC_INDIGO))  else  	INSTALL_PREFIX="$(SDKROOT)"  endif +INSTALL_DIR=$(DSTROOT)/$(INSTALL_PREFIX) + +.PHONY: help installsrc clean installhdrs do-installhdrs install  help::  	echo Use make install DSTROOT=<destination> @@ -29,47 +32,30 @@ clean::  installhdrs:: -	mkdir -p $(DSTROOT)/$(INSTALL_PREFIX)/usr/include/c++/v1/ext -	mkdir -p $(DSTROOT)/$(INSTALL_PREFIX)/usr/lib/c++/v1/ext -	mkdir -p $(DSTROOT)/$(INSTALL_PREFIX)/usr/clang-ide/lib/c++/v1/ext -	mkdir -p $(DSTROOT)/$(INSTALL_PREFIX)/Developer/usr/lib/c++/v1/ext -	mkdir -p $(DSTROOT)/$(INSTALL_PREFIX)/Developer/Platforms/iPhoneOS.platform/usr/lib/c++/v1/ext -	rsync -r --exclude=".*" --exclude="support" $(SRCDIRS)/include/* $(DSTROOT)/$(INSTALL_PREFIX)/usr/include/c++/v1/ -	rsync -r --exclude=".*" --exclude="support" $(SRCDIRS)/include/* $(DSTROOT)/$(INSTALL_PREFIX)/usr/lib/c++/v1/ -	rsync -r --exclude=".*" --exclude="support" $(SRCDIRS)/include/* $(DSTROOT)/$(INSTALL_PREFIX)/usr/clang-ide/lib/c++/v1/ -	rsync -r --exclude=".*" --exclude="support" $(SRCDIRS)/include/* $(DSTROOT)/$(INSTALL_PREFIX)/Developer/usr/lib/c++/v1/ -	rsync -r --exclude=".*" --exclude="support" $(SRCDIRS)/include/* $(DSTROOT)/$(INSTALL_PREFIX)/Developer/Platforms/iPhoneOS.platform/usr/lib/c++/v1/ -	chown -R root:wheel $(DSTROOT)/$(INSTALL_PREFIX)/usr/include/c++ -	chown -R root:wheel $(DSTROOT)/$(INSTALL_PREFIX)/usr/lib/c++ -	chown -R root:wheel $(DSTROOT)/$(INSTALL_PREFIX)/usr/clang-ide/lib/c++ -	chown -R root:wheel $(DSTROOT)/$(INSTALL_PREFIX)/Developer/usr/lib/c++ -	chown -R root:wheel $(DSTROOT)/$(INSTALL_PREFIX)/Developer/Platforms/iPhoneOS.platform/usr/lib/c++ -	chmod 755 $(DSTROOT)/$(INSTALL_PREFIX)/usr/include/c++/v1 -	chmod 755 $(DSTROOT)/$(INSTALL_PREFIX)/usr/lib/c++/v1 -	chmod 755 $(DSTROOT)/$(INSTALL_PREFIX)/usr/clang-ide/lib/c++/v1 -	chmod 755 $(DSTROOT)/$(INSTALL_PREFIX)/Developer/usr/lib/c++/v1 -	chmod 755 $(DSTROOT)/$(INSTALL_PREFIX)/Developer/Platforms/iPhoneOS.platform/usr/lib/c++/v1 -	chmod 644 $(DSTROOT)/$(INSTALL_PREFIX)/usr/include/c++/v1/* -	chmod 644 $(DSTROOT)/$(INSTALL_PREFIX)/usr/lib/c++/v1/* -	chmod 644 $(DSTROOT)/$(INSTALL_PREFIX)/usr/clang-ide/lib/c++/v1/* -	chmod 644 $(DSTROOT)/$(INSTALL_PREFIX)/Developer/usr/lib/c++/v1/* -	chmod 644 $(DSTROOT)/$(INSTALL_PREFIX)/Developer/Platforms/iPhoneOS.platform/usr/lib/c++/v1/* -	chmod 755 $(DSTROOT)/$(INSTALL_PREFIX)/usr/include/c++/v1/ext -	chmod 755 $(DSTROOT)/$(INSTALL_PREFIX)/usr/lib/c++/v1/ext -	chmod 755 $(DSTROOT)/$(INSTALL_PREFIX)/usr/clang-ide/lib/c++/v1/ext -	chmod 755 $(DSTROOT)/$(INSTALL_PREFIX)/Developer/usr/lib/c++/v1/ext -	chmod 755 $(DSTROOT)/$(INSTALL_PREFIX)/Developer/Platforms/iPhoneOS.platform/usr/lib/c++/v1/ext -	chmod 644 $(DSTROOT)/$(INSTALL_PREFIX)/usr/include/c++/v1/ext/* -	chmod 644 $(DSTROOT)/$(INSTALL_PREFIX)/usr/lib/c++/v1/ext/* -	chmod 644 $(DSTROOT)/$(INSTALL_PREFIX)/usr/clang-ide/lib/c++/v1/ext/* -	chmod 644 $(DSTROOT)/$(INSTALL_PREFIX)/Developer/usr/lib/c++/v1/ext/* -	chmod 644 $(DSTROOT)/$(INSTALL_PREFIX)/Developer/Platforms/iPhoneOS.platform/usr/lib/c++/v1/ext/* +	$(MAKE) HEADER_DIR=$(INSTALL_DIR)/usr/include do-installhdrs +	$(MAKE) HEADER_DIR=$(INSTALL_DIR)/usr/lib do-installhdrs +	$(MAKE) HEADER_DIR=$(INSTALL_DIR)/usr/clang-ide/lib do-installhdrs +	$(MAKE) HEADER_DIR=$(INSTALL_DIR)/Developer/usr/lib do-installhdrs +	$(MAKE) HEADER_DIR=$(INSTALL_DIR)/Developer/Platforms/iPhoneOS.platform/usr/lib do-installhdrs + +# The do-installhdrs target is also used by clang's runtime/libcxx makefile. +do-installhdrs: +	mkdir -p $(HEADER_DIR)/c++/v1/ext +	rsync -r --exclude=".*" --exclude="support" $(SRCDIRS)/include/* \ +	  $(HEADER_DIR)/c++/v1/ +	chown -R root:wheel $(HEADER_DIR)/c++ +	chmod 755 $(HEADER_DIR)/c++/v1 +	chmod 644 $(HEADER_DIR)/c++/v1/* +	chmod 755 $(HEADER_DIR)/c++/v1/ext +	chmod 644 $(HEADER_DIR)/c++/v1/ext/*  install:: installhdrs $(DESTDIR)  	cd lib && ./buildit  	ditto lib/libc++.1.dylib $(SYMROOT)/usr/lib/libc++.1.dylib -	cd lib && dsymutil -o $(SYMROOT)/libc++.1.dylib.dSYM  $(SYMROOT)/usr/lib/libc++.1.dylib -	mkdir -p $(DSTROOT)/$(INSTALL_PREFIX)/usr/lib -	strip -S -o $(DSTROOT)/$(INSTALL_PREFIX)/usr/lib/libc++.1.dylib $(SYMROOT)/usr/lib/libc++.1.dylib -	cd $(DSTROOT)/$(INSTALL_PREFIX)/usr/lib && ln -s libc++.1.dylib libc++.dylib +	cd lib && dsymutil -o $(SYMROOT)/libc++.1.dylib.dSYM \ +	  $(SYMROOT)/usr/lib/libc++.1.dylib +	mkdir -p $(INSTALL_DIR)/usr/lib +	strip -S -o $(INSTALL_DIR)/usr/lib/libc++.1.dylib \ +	  $(SYMROOT)/usr/lib/libc++.1.dylib +	cd $(INSTALL_DIR)/usr/lib && ln -s libc++.1.dylib libc++.dylib  | 

