blob: ab7b5b603a04d83bc8f10face76774c8635ad2d6 [file] [log] [blame]
Howard Hinnantbc8d3f92010-05-11 19:42:161##
Bob Wilsonf9e75ae2013-04-23 19:26:552# libc++ Makefile
Howard Hinnantbc8d3f92010-05-11 19:42:163##
4
5SRCDIRS = .
6DESTDIR = $(DSTROOT)
7
8OBJROOT=.
9SYMROOT=.
Howard Hinnantdb0bc342010-06-28 17:19:4710export TRIPLE=-apple-
Howard Hinnantbc8d3f92010-05-11 19:42:1611
Nick Kledzik8feadca2011-05-24 20:27:3112ifeq (,$(RC_INDIGO))
13INSTALL_PREFIX=""
14else
15INSTALL_PREFIX="$(SDKROOT)"
16endif
Bob Wilson0dd0b4d2011-11-27 05:39:5817INSTALL_DIR=$(DSTROOT)/$(INSTALL_PREFIX)
18
Howard Hinnant364e9452012-08-13 16:32:1519.PHONY: help installsrc clean installheaders install
Nick Kledzik8feadca2011-05-24 20:27:3120
Howard Hinnant3c8894b2011-07-04 14:12:2721help::
Nuno Lopes67c80822012-06-25 23:51:0522@echo "Use make install DSTROOT=<destination>"
Howard Hinnant3c8894b2011-07-04 14:12:2723
Howard Hinnantbc8d3f92010-05-11 19:42:1624installsrc:: $(SRCROOT)
25
26ditto $(SRCDIRS)/include $(SRCROOT)/include
Nick Kledzikc7e4d822010-09-10 20:42:3627ditto $(SRCDIRS)/lib $(SRCROOT)/lib
Howard Hinnantbc8d3f92010-05-11 19:42:1628ditto $(SRCDIRS)/src $(SRCROOT)/src
29ditto $(SRCDIRS)/Makefile $(SRCROOT)/Makefile
30
31clean::
32
Bob Wilson3c6fefd2012-09-21 20:49:5433# The installheaders target is used by clang's runtime/libcxx makefile.
Howard Hinnant364e9452012-08-13 16:32:1534installheaders::
Bob Wilson3c6fefd2012-09-21 20:49:5435mkdir -p $(HEADER_DIR)/c++/v1/ext
Bob Wilsonec7009a2014-02-26 17:14:0936(cd $(SRCDIRS)/include && \
Bob Wilsond4245e72014-03-13 16:13:5437 tar cf - --exclude=".*" --exclude=support \
38 --exclude=CMakeLists.txt *) | \
Bob Wilson9493e272013-04-23 18:51:5139 (cd $(HEADER_DIR)/c++/v1 && tar xf -)
Bob Wilson3c6fefd2012-09-21 20:49:5440chmod 755 $(HEADER_DIR)/c++/v1
41chmod 644 $(HEADER_DIR)/c++/v1/*
42chmod 755 $(HEADER_DIR)/c++/v1/ext
43chmod 644 $(HEADER_DIR)/c++/v1/ext/*
Bill Wendling35080ea2013-11-18 07:01:1644chmod 755 $(HEADER_DIR)/c++/v1/experimental
45chmod 644 $(HEADER_DIR)/c++/v1/experimental/*
Howard Hinnant6e4971f2012-01-18 17:44:3146
Howard Hinnantfcf7bd12012-01-17 16:09:3247install::
Howard Hinnantbc8d3f92010-05-11 19:42:1648
49cd lib && ./buildit
50ditto lib/libc++.1.dylib $(SYMROOT)/usr/lib/libc++.1.dylib
Bob Wilson0dd0b4d2011-11-27 05:39:5851cd lib && dsymutil -o $(SYMROOT)/libc++.1.dylib.dSYM \
52 $(SYMROOT)/usr/lib/libc++.1.dylib
53mkdir -p $(INSTALL_DIR)/usr/lib
54strip -S -o $(INSTALL_DIR)/usr/lib/libc++.1.dylib \
55 $(SYMROOT)/usr/lib/libc++.1.dylib
56cd $(INSTALL_DIR)/usr/lib && ln -s libc++.1.dylib libc++.dylib