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