xref: /freebsd/lib/libc++/Makefile (revision 145992504973bd16cf3518af9ba5ce185fefa82a)
1# $FreeBSD$
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
56CXXFLAGS+=	-std=c++0x
57
58DPADD=		${LIBCXXRT}
59LDADD=		-lcxxrt
60LDFLAGS+=	--verbose
61INCSGROUPS=	STD EXT
62
63STD_HEADERS=	__bit_reference\
64		__config\
65		__debug\
66		__functional_03\
67		__functional_base\
68		__functional_base_03\
69		__hash_table\
70		__locale\
71		__mutex_base\
72		__split_buffer\
73		__sso_allocator\
74		__std_stream\
75		__tree\
76		__tuple\
77		__tuple_03\
78		__undef_min_max\
79		algorithm\
80		array\
81		atomic\
82		bitset\
83		cassert\
84		ccomplex\
85		cctype\
86		cerrno\
87		cfenv\
88		cfloat\
89		chrono\
90		cinttypes\
91		ciso646\
92		climits\
93		clocale\
94		cmath\
95		codecvt\
96		complex\
97		complex.h\
98		condition_variable\
99		csetjmp\
100		csignal\
101		cstdarg\
102		cstdbool\
103		cstddef\
104		cstdint\
105		cstdio\
106		cstdlib\
107		cstring\
108		ctgmath\
109		ctime\
110		cwchar\
111		cwctype\
112		deque\
113		exception\
114		forward_list\
115		fstream\
116		functional\
117		future\
118		initializer_list\
119		iomanip\
120		ios\
121		iosfwd\
122		iostream\
123		istream\
124		iterator\
125		limits\
126		list\
127		locale\
128		map\
129		memory\
130		mutex\
131		new\
132		numeric\
133		ostream\
134		queue\
135		random\
136		ratio\
137		regex\
138		scoped_allocator\
139		set\
140		sstream\
141		stack\
142		stdexcept\
143		streambuf\
144		string\
145		strstream\
146		system_error\
147		tgmath.h\
148		thread\
149		tuple\
150		type_traits\
151		typeindex\
152		typeinfo\
153		unordered_map\
154		unordered_set\
155		utility\
156		valarray\
157		vector
158RT_HEADERS=	cxxabi.h\
159		unwind.h\
160		unwind-arm.h\
161		unwind-itanium.h
162
163.for hdr in ${STD_HEADERS}
164STD+=		${HDRDIR}/${hdr}
165.endfor
166.for hdr in ${RT_HEADERS}
167STD+=		${LIBCXXRTDIR}/${hdr}
168.endfor
169STDDIR=		${CXXINCLUDEDIR}
170
171EXT_HEADERS=	__hash\
172		hash_map\
173		hash_set
174
175.for hdr in ${EXT_HEADERS}
176EXT+=		${HDRDIR}/ext/${hdr}
177.endfor
178EXTDIR=		${CXXINCLUDEDIR}/ext
179
180.include <bsd.lib.mk>
181