cxx/Makefile
Jonathan Roelofs a2ef609ff1 Fix installheaders target's permissions
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@224300 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-16 00:48:13 +00:00

71 lines
2.0 KiB
Makefile

##
# libc++ Makefile
##
SRCDIRS = .
DESTDIR = $(DSTROOT)
OBJROOT=.
SYMROOT=.
export TRIPLE=-apple-
ifeq (,$(RC_INDIGO))
INSTALL_PREFIX=""
else
INSTALL_PREFIX="$(SDKROOT)"
endif
INSTALL_DIR=$(DSTROOT)/$(INSTALL_PREFIX)
.PHONY: help installsrc clean installheaders install
help::
@echo "Use make install DSTROOT=<destination>"
installsrc:: $(SRCROOT)
ditto $(SRCDIRS)/include $(SRCROOT)/include
ditto $(SRCDIRS)/lib $(SRCROOT)/lib
ditto $(SRCDIRS)/src $(SRCROOT)/src
ditto $(SRCDIRS)/Makefile $(SRCROOT)/Makefile
clean::
# The installheaders target is used by clang's runtime/libcxx makefile.
installheaders::
mkdir -p $(HEADER_DIR)/c++/v1/ext
(cd $(SRCDIRS)/include && \
tar cf - --exclude=".*" --exclude=support \
--exclude=CMakeLists.txt *) | \
(cd $(HEADER_DIR)/c++/v1 && tar xf -)
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/*
chmod 755 $(HEADER_DIR)/c++/v1/experimental
chmod 644 $(HEADER_DIR)/c++/v1/experimental/*
chmod 755 $(HEADER_DIR)/c++/v1/support
chmod 644 $(HEADER_DIR)/c++/v1/support/*
chmod 755 $(HEADER_DIR)/c++/v1/support/android
chmod 644 $(HEADER_DIR)/c++/v1/support/android/*
chmod 755 $(HEADER_DIR)/c++/v1/support/ibm
chmod 644 $(HEADER_DIR)/c++/v1/support/ibm/*
chmod 755 $(HEADER_DIR)/c++/v1/support/newlib
chmod 644 $(HEADER_DIR)/c++/v1/support/newlib/*
chmod 755 $(HEADER_DIR)/c++/v1/support/solaris
chmod 644 $(HEADER_DIR)/c++/v1/support/solaris/*
chmod 755 $(HEADER_DIR)/c++/v1/support/win32
chmod 644 $(HEADER_DIR)/c++/v1/support/win32/*
chmod 755 $(HEADER_DIR)/c++/v1/support/xlocale
chmod 644 $(HEADER_DIR)/c++/v1/support/xlocale/*
install::
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 $(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