freebsd-nq/lib/libc++/Makefile
Dimitry Andric 15e154df01 Add libcxxrt's objects (prefixing them with cxxrt_ to avoid collisions)
to libc++.a and libc++_p.a, to make static linking of C++ executables
with libc++ easier.  This is similar to the approach used in libstdc++.

MFC after:	2 weeks
2012-08-25 13:15:44 +00:00

181 lines
2.5 KiB
Makefile

# $FreeBSD$
LIBCXXRTDIR= ${.CURDIR}/../../contrib/libcxxrt
HDRDIR= ${.CURDIR}/../../contrib/libc++/include
SRCDIR= ${.CURDIR}/../../contrib/libc++/src
CXXINCLUDEDIR= ${INCLUDEDIR}/c++/v${SHLIB_MAJOR}
.PATH: ${SRCDIR}
LIB= c++
SHLIB_MAJOR= 1
SRCS+= algorithm.cpp\
bind.cpp\
chrono.cpp\
condition_variable.cpp\
debug.cpp\
exception.cpp\
future.cpp\
hash.cpp\
ios.cpp\
iostream.cpp\
locale.cpp\
memory.cpp\
mutex.cpp\
new.cpp\
random.cpp\
regex.cpp\
stdexcept.cpp\
string.cpp\
strstream.cpp\
system_error.cpp\
thread.cpp\
typeinfo.cpp\
utility.cpp\
valarray.cpp
CXXRT_SRCS+= libelftc_dem_gnu3.c\
terminate.cc\
dynamic_cast.cc\
memory.cc\
auxhelper.cc\
exception.cc\
stdexcept.cc\
typeinfo.cc\
guard.cc
.for _S in ${CXXRT_SRCS}
STATICOBJS+= cxxrt_${_S:R}.o
cxxrt_${_S}:
ln -sf ${LIBCXXRTDIR}/${_S} ${.TARGET}
.endfor
WARNS= 0
CFLAGS+= -I${HDRDIR} -I${LIBCXXRTDIR} -nostdlib -DLIBCXXRT
CXXFLAGS+= -std=c++0x
DPADD= ${LIBCXXRT}
LDADD= -lcxxrt
LDFLAGS+= --verbose
INCSGROUPS= STD EXT
STD_HEADERS= __bit_reference\
__config\
__debug\
__functional_03\
__functional_base\
__functional_base_03\
__hash_table\
__locale\
__mutex_base\
__split_buffer\
__sso_allocator\
__std_stream\
__tree\
__tuple\
__tuple_03\
__undef_min_max\
algorithm\
array\
atomic\
bitset\
cassert\
ccomplex\
cctype\
cerrno\
cfenv\
cfloat\
chrono\
cinttypes\
ciso646\
climits\
clocale\
cmath\
codecvt\
complex\
complex.h\
condition_variable\
csetjmp\
csignal\
cstdarg\
cstdbool\
cstddef\
cstdint\
cstdio\
cstdlib\
cstring\
ctgmath\
ctime\
cwchar\
cwctype\
deque\
exception\
forward_list\
fstream\
functional\
future\
initializer_list\
iomanip\
ios\
iosfwd\
iostream\
istream\
iterator\
limits\
list\
locale\
map\
memory\
mutex\
new\
numeric\
ostream\
queue\
random\
ratio\
regex\
scoped_allocator\
set\
sstream\
stack\
stdexcept\
streambuf\
string\
strstream\
system_error\
tgmath.h\
thread\
tuple\
type_traits\
typeindex\
typeinfo\
unordered_map\
unordered_set\
utility\
valarray\
vector
RT_HEADERS= cxxabi.h\
unwind.h\
unwind-arm.h\
unwind-itanium.h
.for hdr in ${STD_HEADERS}
STD+= ${HDRDIR}/${hdr}
.endfor
.for hdr in ${RT_HEADERS}
STD+= ${LIBCXXRTDIR}/${hdr}
.endfor
STDDIR= ${CXXINCLUDEDIR}
EXT_HEADERS= __hash\
hash_map\
hash_set
.for hdr in ${EXT_HEADERS}
EXT+= ${HDRDIR}/ext/${hdr}
.endfor
EXTDIR= ${CXXINCLUDEDIR}/ext
.include <bsd.lib.mk>