diff options
| -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  | 

