Makefile revision 242472
1# $FreeBSD: head/lib/libc++/Makefile 242472 2012-11-02 12:18:38Z dim $
2
3LIBCXXRTDIR=	${.CURDIR}/../../contrib/libcxxrt
4HDRDIR=		${.CURDIR}/../../contrib/libc++/include
5SRCDIR=		${.CURDIR}/../../contrib/libc++/src
6CXXINCLUDEDIR=	${INCLUDEDIR}/c++/v${SHLIB_MAJOR}
7
8.PATH: ${SRCDIR}
9
10LIB=		c++
11SHLIB_MAJOR=	1
12
13SRCS+=		algorithm.cpp\
14		bind.cpp\
15		chrono.cpp\
16		condition_variable.cpp\
17		debug.cpp\
18		exception.cpp\
19		future.cpp\
20		hash.cpp\
21		ios.cpp\
22		iostream.cpp\
23		locale.cpp\
24		memory.cpp\
25		mutex.cpp\
26		new.cpp\
27		random.cpp\
28		regex.cpp\
29		stdexcept.cpp\
30		string.cpp\
31		strstream.cpp\
32		system_error.cpp\
33		thread.cpp\
34		typeinfo.cpp\
35		utility.cpp\
36		valarray.cpp
37
38CXXRT_SRCS+=	libelftc_dem_gnu3.c\
39		terminate.cc\
40		dynamic_cast.cc\
41		memory.cc\
42		auxhelper.cc\
43		exception.cc\
44		stdexcept.cc\
45		typeinfo.cc\
46		guard.cc
47
48.for _S in ${CXXRT_SRCS}
49STATICOBJS+=	cxxrt_${_S:R}.o
50cxxrt_${_S}:
51	ln -sf ${LIBCXXRTDIR}/${_S} ${.TARGET}
52.endfor
53
54WARNS=		0
55CFLAGS+=	-I${HDRDIR} -I${LIBCXXRTDIR} -nostdlib -DLIBCXXRT
56.if empty(CXXFLAGS:M-std=*)
57CXXFLAGS+=	-std=c++0x
58.endif
59
60DPADD=		${LIBCXXRT}
61LDADD=		-lcxxrt
62LDFLAGS+=	--verbose
63INCSGROUPS=	STD EXT
64
65STD_HEADERS=	__bit_reference\
66		__config\
67		__debug\
68		__functional_03\
69		__functional_base\
70		__functional_base_03\
71		__hash_table\
72		__locale\
73		__mutex_base\
74		__split_buffer\
75		__sso_allocator\
76		__std_stream\
77		__tree\
78		__tuple\
79		__tuple_03\
80		__undef_min_max\
81		algorithm\
82		array\
83		atomic\
84		bitset\
85		cassert\
86		ccomplex\
87		cctype\
88		cerrno\
89		cfenv\
90		cfloat\
91		chrono\
92		cinttypes\
93		ciso646\
94		climits\
95		clocale\
96		cmath\
97		codecvt\
98		complex\
99		complex.h\
100		condition_variable\
101		csetjmp\
102		csignal\
103		cstdarg\
104		cstdbool\
105		cstddef\
106		cstdint\
107		cstdio\
108		cstdlib\
109		cstring\
110		ctgmath\
111		ctime\
112		cwchar\
113		cwctype\
114		deque\
115		exception\
116		forward_list\
117		fstream\
118		functional\
119		future\
120		initializer_list\
121		iomanip\
122		ios\
123		iosfwd\
124		iostream\
125		istream\
126		iterator\
127		limits\
128		list\
129		locale\
130		map\
131		memory\
132		mutex\
133		new\
134		numeric\
135		ostream\
136		queue\
137		random\
138		ratio\
139		regex\
140		scoped_allocator\
141		set\
142		sstream\
143		stack\
144		stdexcept\
145		streambuf\
146		string\
147		strstream\
148		system_error\
149		tgmath.h\
150		thread\
151		tuple\
152		type_traits\
153		typeindex\
154		typeinfo\
155		unordered_map\
156		unordered_set\
157		utility\
158		valarray\
159		vector
160RT_HEADERS=	cxxabi.h\
161		unwind.h\
162		unwind-arm.h\
163		unwind-itanium.h
164
165.for hdr in ${STD_HEADERS}
166STD+=		${HDRDIR}/${hdr}
167.endfor
168.for hdr in ${RT_HEADERS}
169STD+=		${LIBCXXRTDIR}/${hdr}
170.endfor
171STDDIR=		${CXXINCLUDEDIR}
172
173EXT_HEADERS=	__hash\
174		hash_map\
175		hash_set
176
177.for hdr in ${EXT_HEADERS}
178EXT+=		${HDRDIR}/ext/${hdr}
179.endfor
180EXTDIR=		${CXXINCLUDEDIR}/ext
181
182.include <bsd.lib.mk>
183