1227983Stheraven# $FreeBSD: releng/10.3/lib/libc++/Makefile 289079 2015-10-09 19:38:53Z dim $ 2227983Stheraven 3278724Sdim.include <bsd.own.mk> 4278724Sdim 5236442SdimLIBCXXRTDIR= ${.CURDIR}/../../contrib/libcxxrt 6236442SdimHDRDIR= ${.CURDIR}/../../contrib/libc++/include 7236442SdimSRCDIR= ${.CURDIR}/../../contrib/libc++/src 8236442SdimCXXINCLUDEDIR= ${INCLUDEDIR}/c++/v${SHLIB_MAJOR} 9227983Stheraven 10227983Stheraven.PATH: ${SRCDIR} 11227983Stheraven 12236442SdimLIB= c++ 13236442SdimSHLIB_MAJOR= 1 14253917SdimSHLIB_LDSCRIPT= libc++.ldscript 15227983Stheraven 16236442SdimSRCS+= algorithm.cpp\ 17236442Sdim bind.cpp\ 18236442Sdim chrono.cpp\ 19236442Sdim condition_variable.cpp\ 20236442Sdim debug.cpp\ 21236442Sdim exception.cpp\ 22236442Sdim future.cpp\ 23236442Sdim hash.cpp\ 24236442Sdim ios.cpp\ 25236442Sdim iostream.cpp\ 26236442Sdim locale.cpp\ 27236442Sdim memory.cpp\ 28236442Sdim mutex.cpp\ 29236442Sdim new.cpp\ 30262801Sdim optional.cpp\ 31236442Sdim random.cpp\ 32236442Sdim regex.cpp\ 33262801Sdim shared_mutex.cpp\ 34236442Sdim stdexcept.cpp\ 35236442Sdim string.cpp\ 36236442Sdim strstream.cpp\ 37236442Sdim system_error.cpp\ 38236442Sdim thread.cpp\ 39236442Sdim typeinfo.cpp\ 40236442Sdim utility.cpp\ 41236442Sdim valarray.cpp 42227983Stheraven 43239680SdimCXXRT_SRCS+= libelftc_dem_gnu3.c\ 44239680Sdim terminate.cc\ 45239680Sdim dynamic_cast.cc\ 46239680Sdim memory.cc\ 47239680Sdim auxhelper.cc\ 48239680Sdim exception.cc\ 49239680Sdim stdexcept.cc\ 50239680Sdim typeinfo.cc\ 51239680Sdim guard.cc 52239680Sdim 53239680Sdim.for _S in ${CXXRT_SRCS} 54239680SdimSTATICOBJS+= cxxrt_${_S:R}.o 55239680Sdimcxxrt_${_S}: 56239680Sdim ln -sf ${LIBCXXRTDIR}/${_S} ${.TARGET} 57239680Sdim.endfor 58239680Sdim 59236442SdimWARNS= 0 60239680SdimCFLAGS+= -I${HDRDIR} -I${LIBCXXRTDIR} -nostdlib -DLIBCXXRT 61242472Sdim.if empty(CXXFLAGS:M-std=*) 62278724SdimCXXFLAGS+= -std=c++11 63241909Sdim.endif 64227983Stheraven 65236442SdimDPADD= ${LIBCXXRT} 66236442SdimLDADD= -lcxxrt 67262801SdimINCSGROUPS= STD EXP EXT 68227983Stheraven 69236442SdimSTD_HEADERS= __bit_reference\ 70236442Sdim __config\ 71236442Sdim __debug\ 72236442Sdim __functional_03\ 73236442Sdim __functional_base\ 74236442Sdim __functional_base_03\ 75236442Sdim __hash_table\ 76236442Sdim __locale\ 77236442Sdim __mutex_base\ 78278724Sdim __refstring\ 79236442Sdim __split_buffer\ 80236442Sdim __sso_allocator\ 81236442Sdim __std_stream\ 82236442Sdim __tree\ 83236442Sdim __tuple\ 84236442Sdim __tuple_03\ 85236442Sdim __undef_min_max\ 86236442Sdim algorithm\ 87236442Sdim array\ 88236442Sdim atomic\ 89236442Sdim bitset\ 90236442Sdim cassert\ 91236442Sdim ccomplex\ 92236442Sdim cctype\ 93236442Sdim cerrno\ 94236442Sdim cfenv\ 95236442Sdim cfloat\ 96236442Sdim chrono\ 97236442Sdim cinttypes\ 98236442Sdim ciso646\ 99236442Sdim climits\ 100236442Sdim clocale\ 101236442Sdim cmath\ 102236442Sdim codecvt\ 103236442Sdim complex\ 104236442Sdim complex.h\ 105236442Sdim condition_variable\ 106236442Sdim csetjmp\ 107236442Sdim csignal\ 108236442Sdim cstdarg\ 109236442Sdim cstdbool\ 110236442Sdim cstddef\ 111236442Sdim cstdint\ 112236442Sdim cstdio\ 113236442Sdim cstdlib\ 114236442Sdim cstring\ 115236442Sdim ctgmath\ 116236442Sdim ctime\ 117236442Sdim cwchar\ 118236442Sdim cwctype\ 119236442Sdim deque\ 120236442Sdim exception\ 121236442Sdim forward_list\ 122236442Sdim fstream\ 123236442Sdim functional\ 124236442Sdim future\ 125236442Sdim initializer_list\ 126236442Sdim iomanip\ 127236442Sdim ios\ 128236442Sdim iosfwd\ 129236442Sdim iostream\ 130236442Sdim istream\ 131236442Sdim iterator\ 132236442Sdim limits\ 133236442Sdim list\ 134236442Sdim locale\ 135236442Sdim map\ 136236442Sdim memory\ 137236442Sdim mutex\ 138236442Sdim new\ 139236442Sdim numeric\ 140236442Sdim ostream\ 141236442Sdim queue\ 142236442Sdim random\ 143236442Sdim ratio\ 144236442Sdim regex\ 145236442Sdim scoped_allocator\ 146236442Sdim set\ 147262801Sdim shared_mutex\ 148236442Sdim sstream\ 149236442Sdim stack\ 150236442Sdim stdexcept\ 151236442Sdim streambuf\ 152236442Sdim string\ 153236442Sdim strstream\ 154236442Sdim system_error\ 155236442Sdim tgmath.h\ 156236442Sdim thread\ 157236442Sdim tuple\ 158236442Sdim type_traits\ 159236442Sdim typeindex\ 160236442Sdim typeinfo\ 161236442Sdim unordered_map\ 162236442Sdim unordered_set\ 163236442Sdim utility\ 164236442Sdim valarray\ 165236442Sdim vector 166236444SdimRT_HEADERS= cxxabi.h\ 167236444Sdim unwind.h\ 168236444Sdim unwind-arm.h\ 169236444Sdim unwind-itanium.h 170227983Stheraven 171227983Stheraven.for hdr in ${STD_HEADERS} 172236442SdimSTD+= ${HDRDIR}/${hdr} 173255206StheravenINCSLINKS+= ${CXXINCLUDEDIR}/${hdr} ${CXXINCLUDEDIR}/tr1/${hdr} 174227983Stheraven.endfor 175236444Sdim.for hdr in ${RT_HEADERS} 176236444SdimSTD+= ${LIBCXXRTDIR}/${hdr} 177236444Sdim.endfor 178236442SdimSTDDIR= ${CXXINCLUDEDIR} 179227983Stheraven 180278724SdimEXP_HEADERS= __config\ 181278724Sdim dynarray\ 182278724Sdim optional\ 183278724Sdim string_view\ 184278724Sdim type_traits\ 185278724Sdim utility 186262801Sdim 187262801Sdim.for hdr in ${EXP_HEADERS} 188262801SdimEXP+= ${HDRDIR}/experimental/${hdr} 189262801Sdim.endfor 190262801SdimEXPDIR= ${CXXINCLUDEDIR}/experimental 191262801Sdim 192236442SdimEXT_HEADERS= __hash\ 193236442Sdim hash_map\ 194236442Sdim hash_set 195227983Stheraven 196227983Stheraven.for hdr in ${EXT_HEADERS} 197236442SdimEXT+= ${HDRDIR}/ext/${hdr} 198227983Stheraven.endfor 199236442SdimEXTDIR= ${CXXINCLUDEDIR}/ext 200227983Stheraven 201278724Sdim.if ${MK_GNUCXX} == "no" && ${COMPILER_TYPE} == "gcc" 202278724SdimCLEANFILES+= libstdc++.so libstdc++.a 203278724Sdim 204278724Sdimafterinstall: 205278724Sdim ln -sf ${DESTDIR}${LIBDIR}/lib${LIB}.so \ 206278724Sdim ${.OBJDIR}/libstdc++.so 207278724Sdim ln -sf ${DESTDIR}${LIBDIR}/lib${LIB}.a \ 208278724Sdim ${.OBJDIR}/libstdc++.a 209278724Sdim.endif 210278724Sdim 211227983Stheraven.include <bsd.lib.mk> 212