6 _LIBCXXRTDIR= ${.CURDIR}/../../contrib/libcxxrt
7 HDRDIR= ${.CURDIR}/../../contrib/libc++/include
8 SRCDIR= ${.CURDIR}/../../contrib/libc++/src
9 CXXINCLUDEDIR= ${INCLUDEDIR}/c++/v${SHLIB_MAJOR}
10 .if ${MACHINE_CPUARCH} == "arm"
11 STATIC_CXXFLAGS+= -mlong-calls
18 SHLIB_LDSCRIPT= libc++.ldscript
23 condition_variable.cpp\
47 CXXRT_SRCS+= libelftc_dem_gnu3.c\
57 .for _S in ${CXXRT_SRCS}
58 CLEANFILES+= cxxrt_${_S}
59 STATICOBJS+= cxxrt_${_S:R}.o
60 cxxrt_${_S}: ${_LIBCXXRTDIR}/${_S} .NOMETA
61 ln -sf ${.ALLSRC} ${.TARGET}
65 CFLAGS+= -I${HDRDIR} -I${_LIBCXXRTDIR} -nostdlib -DLIBCXXRT
66 .if empty(CXXFLAGS:M-std=*)
71 INCSGROUPS= STD EXP EXT
73 STD_HEADERS= __bit_reference\
170 RT_HEADERS= cxxabi.h\
175 .for hdr in ${STD_HEADERS}
176 STD+= ${HDRDIR}/${hdr}
177 INCSLINKS+= ${CXXINCLUDEDIR}/${hdr} ${CXXINCLUDEDIR}/tr1/${hdr}
179 .for hdr in ${RT_HEADERS}
180 STD+= ${_LIBCXXRTDIR}/${hdr}
182 STDDIR= ${CXXINCLUDEDIR}
184 EXP_HEADERS= __config\
196 .for hdr in ${EXP_HEADERS}
197 EXP+= ${HDRDIR}/experimental/${hdr}
199 EXPDIR= ${CXXINCLUDEDIR}/experimental
205 .for hdr in ${EXT_HEADERS}
206 EXT+= ${HDRDIR}/ext/${hdr}
208 EXTDIR= ${CXXINCLUDEDIR}/ext
210 .if ${MK_GNUCXX} == "no" && ${COMPILER_TYPE} == "gcc"
211 CLEANFILES+= libstdc++.so libstdc++.a
214 ${INSTALL_SYMLINK} ${DESTDIR}${LIBDIR}/lib${LIB}.so \
215 ${.OBJDIR}/libstdc++.so
216 ${INSTALL_SYMLINK} ${DESTDIR}${LIBDIR}/lib${LIB}.a \
217 ${.OBJDIR}/libstdc++.a
220 .include <bsd.lib.mk>