Makefile revision 241909
1226031Sstas# $FreeBSD: head/lib/libc++/Makefile 241909 2012-10-22 19:44:17Z dim $
2226031Sstas
3226031SstasLIBCXXRTDIR=	${.CURDIR}/../../contrib/libcxxrt
4226031SstasHDRDIR=		${.CURDIR}/../../contrib/libc++/include
5226031SstasSRCDIR=		${.CURDIR}/../../contrib/libc++/src
6226031SstasCXXINCLUDEDIR=	${INCLUDEDIR}/c++/v${SHLIB_MAJOR}
7226031Sstas
8226031Sstas.PATH: ${SRCDIR}
9226031Sstas
10226031SstasLIB=		c++
11226031SstasSHLIB_MAJOR=	1
12226031Sstas
13226031SstasSRCS+=		algorithm.cpp\
14226031Sstas		bind.cpp\
15226031Sstas		chrono.cpp\
16226031Sstas		condition_variable.cpp\
17226031Sstas		debug.cpp\
18226031Sstas		exception.cpp\
19226031Sstas		future.cpp\
20226031Sstas		hash.cpp\
21226031Sstas		ios.cpp\
22226031Sstas		iostream.cpp\
23226031Sstas		locale.cpp\
24226031Sstas		memory.cpp\
25226031Sstas		mutex.cpp\
26226031Sstas		new.cpp\
27226031Sstas		random.cpp\
28226031Sstas		regex.cpp\
29226031Sstas		stdexcept.cpp\
30226031Sstas		string.cpp\
31226031Sstas		strstream.cpp\
32226031Sstas		system_error.cpp\
33226031Sstas		thread.cpp\
34226031Sstas		typeinfo.cpp\
35226031Sstas		utility.cpp\
36226031Sstas		valarray.cpp
37226031Sstas
38226031SstasCXXRT_SRCS+=	libelftc_dem_gnu3.c\
39226031Sstas		terminate.cc\
40226031Sstas		dynamic_cast.cc\
41226031Sstas		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 !defined(CXXFLAGS) || ${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