1# $FreeBSD$ 2 3LIBCXXRTDIR= ${.CURDIR}/../../contrib/libcxxrt 4HDRDIR= ${.CURDIR}/../../contrib/libc++/include 5SRCDIR= ${.CURDIR}/../../contrib/libc++/src 6CXXINCLUDEDIR= ${INCLUDEDIR}/c++/v${SHLIB_MAJOR} 7 8.PATH: ${SRCDIR} 9 10LIB= c++ 11SHLIB_MAJOR= 1 12 13SRCS+= algorithm.cpp\ 14 bind.cpp\ 15 chrono.cpp\ 16 condition_variable.cpp\ 17 debug.cpp\ 18 exception.cpp\ 19 future.cpp\ 20 hash.cpp\ 21 ios.cpp\ 22 iostream.cpp\ 23 locale.cpp\ 24 memory.cpp\ 25 mutex.cpp\ 26 new.cpp\ 27 random.cpp\ 28 regex.cpp\ 29 stdexcept.cpp\ 30 string.cpp\ 31 strstream.cpp\ 32 system_error.cpp\ 33 thread.cpp\ 34 typeinfo.cpp\ 35 utility.cpp\ 36 valarray.cpp 37 38CXXRT_SRCS+= libelftc_dem_gnu3.c\ 39 terminate.cc\ 40 dynamic_cast.cc\ 41 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 empty(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