]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/libc++/Makefile
Merge ^/head r314270 through r314419.
[FreeBSD/FreeBSD.git] / lib / libc++ / Makefile
1 # $FreeBSD$
2
3 .include <src.opts.mk>
4
5 PACKAGE=        clibs
6 _LIBCXXRTDIR=   ${SRCTOP}/contrib/libcxxrt
7 HDRDIR=         ${SRCTOP}/contrib/libc++/include
8 SRCDIR=         ${SRCTOP}/contrib/libc++/src
9 CXXINCLUDEDIR=  ${INCLUDEDIR}/c++/v${SHLIB_MAJOR}
10 .if ${MACHINE_CPUARCH} == "arm"
11 STATIC_CXXFLAGS+= -mlong-calls
12 .endif
13
14 .PATH: ${SRCDIR}
15
16 LIB=            c++
17 SHLIB_MAJOR=    1
18 SHLIB_LDSCRIPT= libc++.ldscript
19
20 SRCS+=          algorithm.cpp
21 SRCS+=          any.cpp
22 SRCS+=          bind.cpp
23 SRCS+=          chrono.cpp
24 SRCS+=          condition_variable.cpp
25 SRCS+=          debug.cpp
26 SRCS+=          exception.cpp
27 SRCS+=          future.cpp
28 SRCS+=          hash.cpp
29 SRCS+=          ios.cpp
30 SRCS+=          iostream.cpp
31 SRCS+=          locale.cpp
32 SRCS+=          memory.cpp
33 SRCS+=          mutex.cpp
34 SRCS+=          new.cpp
35 SRCS+=          optional.cpp
36 SRCS+=          random.cpp
37 SRCS+=          regex.cpp
38 SRCS+=          shared_mutex.cpp
39 SRCS+=          stdexcept.cpp
40 SRCS+=          string.cpp
41 SRCS+=          strstream.cpp
42 SRCS+=          system_error.cpp
43 SRCS+=          thread.cpp
44 SRCS+=          typeinfo.cpp
45 SRCS+=          utility.cpp
46 SRCS+=          valarray.cpp
47 SRCS+=          variant.cpp
48
49 CXXRT_SRCS+=    auxhelper.cc
50 CXXRT_SRCS+=    dynamic_cast.cc
51 CXXRT_SRCS+=    exception.cc
52 CXXRT_SRCS+=    guard.cc
53 CXXRT_SRCS+=    libelftc_dem_gnu3.c
54 CXXRT_SRCS+=    memory.cc
55 CXXRT_SRCS+=    stdexcept.cc
56 CXXRT_SRCS+=    terminate.cc
57 CXXRT_SRCS+=    typeinfo.cc
58
59 .for _S in ${CXXRT_SRCS}
60 CLEANFILES+=    cxxrt_${_S}
61 STATICOBJS+=    cxxrt_${_S:R}.o
62 cxxrt_${_S}: ${_LIBCXXRTDIR}/${_S} .NOMETA
63         ln -sf ${.ALLSRC} ${.TARGET}
64 .endfor
65
66 WARNS=          0
67 CFLAGS+=        -isystem ${HDRDIR} -isystem ${_LIBCXXRTDIR} -nostdinc++ -nostdlib -D_LIBCPP_BUILDING_LIBRARY -DLIBCXXRT
68 .if empty(CXXFLAGS:M-std=*)
69 CXXFLAGS+=      -std=c++11
70 .endif
71
72 LIBADD+=        cxxrt
73 INCSGROUPS=     STD EXP EXT
74
75 STD_HEADERS+=   __bit_reference
76 STD_HEADERS+=   __bsd_locale_defaults.h
77 STD_HEADERS+=   __bsd_locale_fallbacks.h
78 STD_HEADERS+=   __config
79 STD_HEADERS+=   __debug
80 STD_HEADERS+=   __functional_03
81 STD_HEADERS+=   __functional_base
82 STD_HEADERS+=   __functional_base_03
83 STD_HEADERS+=   __hash_table
84 STD_HEADERS+=   __libcpp_version
85 STD_HEADERS+=   __locale
86 STD_HEADERS+=   __mutex_base
87 STD_HEADERS+=   __nullptr
88 STD_HEADERS+=   __refstring
89 STD_HEADERS+=   __split_buffer
90 STD_HEADERS+=   __sso_allocator
91 STD_HEADERS+=   __std_stream
92 STD_HEADERS+=   __string
93 STD_HEADERS+=   __threading_support
94 STD_HEADERS+=   __tree
95 STD_HEADERS+=   __tuple
96 STD_HEADERS+=   __undef_min_max
97 STD_HEADERS+=   algorithm
98 STD_HEADERS+=   any
99 STD_HEADERS+=   array
100 STD_HEADERS+=   atomic
101 STD_HEADERS+=   bitset
102 STD_HEADERS+=   cassert
103 STD_HEADERS+=   ccomplex
104 STD_HEADERS+=   cctype
105 STD_HEADERS+=   cerrno
106 STD_HEADERS+=   cfenv
107 STD_HEADERS+=   cfloat
108 STD_HEADERS+=   chrono
109 STD_HEADERS+=   cinttypes
110 STD_HEADERS+=   ciso646
111 STD_HEADERS+=   climits
112 STD_HEADERS+=   clocale
113 STD_HEADERS+=   cmath
114 STD_HEADERS+=   codecvt
115 STD_HEADERS+=   complex
116 STD_HEADERS+=   complex.h
117 STD_HEADERS+=   condition_variable
118 STD_HEADERS+=   csetjmp
119 STD_HEADERS+=   csignal
120 STD_HEADERS+=   cstdarg
121 STD_HEADERS+=   cstdbool
122 STD_HEADERS+=   cstddef
123 STD_HEADERS+=   cstdint
124 STD_HEADERS+=   cstdio
125 STD_HEADERS+=   cstdlib
126 STD_HEADERS+=   cstring
127 STD_HEADERS+=   ctgmath
128 STD_HEADERS+=   ctime
129 STD_HEADERS+=   ctype.h
130 STD_HEADERS+=   cwchar
131 STD_HEADERS+=   cwctype
132 STD_HEADERS+=   deque
133 STD_HEADERS+=   errno.h
134 STD_HEADERS+=   exception
135 STD_HEADERS+=   float.h
136 STD_HEADERS+=   forward_list
137 STD_HEADERS+=   fstream
138 STD_HEADERS+=   functional
139 STD_HEADERS+=   future
140 STD_HEADERS+=   initializer_list
141 STD_HEADERS+=   inttypes.h
142 STD_HEADERS+=   iomanip
143 STD_HEADERS+=   ios
144 STD_HEADERS+=   iosfwd
145 STD_HEADERS+=   iostream
146 STD_HEADERS+=   istream
147 STD_HEADERS+=   iterator
148 STD_HEADERS+=   limits
149 STD_HEADERS+=   limits.h
150 STD_HEADERS+=   list
151 STD_HEADERS+=   locale
152 STD_HEADERS+=   locale.h
153 STD_HEADERS+=   map
154 STD_HEADERS+=   math.h
155 STD_HEADERS+=   memory
156 STD_HEADERS+=   mutex
157 STD_HEADERS+=   new
158 STD_HEADERS+=   numeric
159 STD_HEADERS+=   optional
160 STD_HEADERS+=   ostream
161 STD_HEADERS+=   queue
162 STD_HEADERS+=   random
163 STD_HEADERS+=   ratio
164 STD_HEADERS+=   regex
165 STD_HEADERS+=   scoped_allocator
166 STD_HEADERS+=   set
167 STD_HEADERS+=   setjmp.h
168 STD_HEADERS+=   shared_mutex
169 STD_HEADERS+=   sstream
170 STD_HEADERS+=   stack
171 STD_HEADERS+=   stdbool.h
172 STD_HEADERS+=   stddef.h
173 STD_HEADERS+=   stdexcept
174 STD_HEADERS+=   stdint.h
175 STD_HEADERS+=   stdio.h
176 STD_HEADERS+=   stdlib.h
177 STD_HEADERS+=   streambuf
178 STD_HEADERS+=   string
179 STD_HEADERS+=   string.h
180 STD_HEADERS+=   string_view
181 STD_HEADERS+=   strstream
182 STD_HEADERS+=   system_error
183 STD_HEADERS+=   tgmath.h
184 STD_HEADERS+=   thread
185 STD_HEADERS+=   tuple
186 STD_HEADERS+=   type_traits
187 STD_HEADERS+=   typeindex
188 STD_HEADERS+=   typeinfo
189 STD_HEADERS+=   unordered_map
190 STD_HEADERS+=   unordered_set
191 STD_HEADERS+=   utility
192 STD_HEADERS+=   valarray
193 STD_HEADERS+=   variant
194 STD_HEADERS+=   vector
195 STD_HEADERS+=   wchar.h
196 STD_HEADERS+=   wctype.h
197
198 RT_HEADERS+=    cxxabi.h
199 RT_HEADERS+=    unwind-arm.h
200 RT_HEADERS+=    unwind-itanium.h
201 RT_HEADERS+=    unwind.h
202
203 .for hdr in ${STD_HEADERS}
204 STD+=           ${HDRDIR}/${hdr}
205 INCSLINKS+=     ../${hdr} ${CXXINCLUDEDIR}/tr1/${hdr}
206 .endfor
207 .for hdr in ${RT_HEADERS}
208 STD+=           ${_LIBCXXRTDIR}/${hdr}
209 .endfor
210 STDDIR=         ${CXXINCLUDEDIR}
211
212 EXP_HEADERS+=   __config
213 EXP_HEADERS+=   __memory
214 EXP_HEADERS+=   algorithm
215 EXP_HEADERS+=   any
216 EXP_HEADERS+=   chrono
217 EXP_HEADERS+=   deque
218 EXP_HEADERS+=   dynarray
219 EXP_HEADERS+=   filesystem
220 EXP_HEADERS+=   forward_list
221 EXP_HEADERS+=   functional
222 EXP_HEADERS+=   iterator
223 EXP_HEADERS+=   list
224 EXP_HEADERS+=   map
225 EXP_HEADERS+=   memory_resource
226 EXP_HEADERS+=   numeric
227 EXP_HEADERS+=   optional
228 EXP_HEADERS+=   propagate_const
229 EXP_HEADERS+=   ratio
230 EXP_HEADERS+=   regex
231 EXP_HEADERS+=   set
232 EXP_HEADERS+=   string
233 EXP_HEADERS+=   string_view
234 EXP_HEADERS+=   system_error
235 EXP_HEADERS+=   tuple
236 EXP_HEADERS+=   type_traits
237 EXP_HEADERS+=   unordered_map
238 EXP_HEADERS+=   unordered_set
239 EXP_HEADERS+=   utility
240 EXP_HEADERS+=   vector
241
242 .for hdr in ${EXP_HEADERS}
243 EXP+=           ${HDRDIR}/experimental/${hdr}
244 .endfor
245 EXPDIR=         ${CXXINCLUDEDIR}/experimental
246
247 EXT_HEADERS+=   __hash
248 EXT_HEADERS+=   hash_map
249 EXT_HEADERS+=   hash_set
250
251 .for hdr in ${EXT_HEADERS}
252 EXT+=           ${HDRDIR}/ext/${hdr}
253 .endfor
254 EXTDIR=         ${CXXINCLUDEDIR}/ext
255
256 .include <bsd.lib.mk>