xref: /dflybsd-src/gnu/lib/gcc80/libstdcxx/components/libconv_2011/Makefile (revision 2233c95bde434daa782d51440e2219ed852a02dd)
1*2233c95bSzrjRELUP=	/../..
2*2233c95bSzrj.include "../../../Makefile.inc"
3*2233c95bSzrjSRCDIR=	${GCCDIR}/libstdc++-v3
4*2233c95bSzrj.include "Makefile.src"
5*2233c95bSzrj
6*2233c95bSzrjLIB=			cxx11convenience
7*2233c95bSzrjINTERNALLIB=		yes
8*2233c95bSzrjINTERNALLIBPROF=	yes
9*2233c95bSzrjINSTALL_PIC_ARCHIVE=	yes
10*2233c95bSzrj
11*2233c95bSzrj.PATH:	${SRCDIR}
12*2233c95bSzrj.PATH:	${SRCDIR}/src
13*2233c95bSzrj.PATH:	${SRCDIR}/src/c++11
14*2233c95bSzrj.PATH:  ${SRCDIR}/config/os/bsd/dragonfly
15*2233c95bSzrj.PATH:	${SRCDIR}/config/locale/dragonfly
16*2233c95bSzrj.PATH:	${SRCDIR}/config/locale/generic
17*2233c95bSzrj
18*2233c95bSzrj# for now do not let the use of -flto (-Wodr...)
19*2233c95bSzrj.if ${CFLAGS:M-flto}
20*2233c95bSzrjCFLAGS+=	-fno-lto
21*2233c95bSzrjLDFLAGS+=	-flto
22*2233c95bSzrj.endif
23*2233c95bSzrj
24*2233c95bSzrjCFLAGS+=	-I${.OBJDIR}
25*2233c95bSzrjCXXFLAGS+=	-std=gnu++11 -fdiagnostics-show-location=once
26*2233c95bSzrjCXXFLAGS+=	-ffunction-sections -fdata-sections
27*2233c95bSzrjSHARED_CXXFLAGS=	-D_GLIBCXX_SHARED
28*2233c95bSzrj
29*2233c95bSzrjSRCS=	${libc__11convenience_la_SOURCES}
30*2233c95bSzrjINTHD=	${SRCDIR}/config/locale/generic/c++locale_internal.h
31*2233c95bSzrjGENHD=	cxxabi_forced.h ${INTHD:T}
32*2233c95bSzrj
33*2233c95bSzrjFLAG_GROUPS=		implicit explicit
34*2233c95bSzrjimplicit_FLAGS=		-fimplicit-templates
35*2233c95bSzrjimplicit_FLAGS_FILES=	hashtable_c++0x.cc
36*2233c95bSzrjexplicit_FLAGS=		-fno-implicit-templates
37*2233c95bSzrjexplicit_FLAGS_FILES=	${SRCS:Nhashtable_c++0x.cc}
38*2233c95bSzrj
39*2233c95bSzrj# PR libstdc++/85222 needs intermediate manipulation
40*2233c95bSzrjOBJS+=	cxx11-ios_failure_sed.o
41*2233c95bSzrjS1DUAL=	'/^_*_ZTISt13__ios_failure:/,/_ZTVN10__cxxabiv120__si_class_type_infoE/s/_ZTVN10__cxxabiv120__si_class_type_infoE/_ZTVSt19__iosfail_type_info/'
42*2233c95bSzrjIOSTMP=	ios_static.s ios_static.tmp ios_po.s ios_po.tmp ios_sh.s ios_sh.tmp
43*2233c95bSzrj
44*2233c95bSzrjcxx11-ios_failure_sed.o: cxx11-ios_failure.cc
45*2233c95bSzrj	${CXX} ${explicit_FLAGS} ${STATIC_CXXFLAGS} ${CXXFLAGS} -S -o ios_static.tmp ${.ALLSRC}
46*2233c95bSzrj	sed -e ${S1DUAL} < ios_static.tmp > ios_static.s
47*2233c95bSzrj	${CXX} ${explicit_FLAGS} ${STATIC_CXXFLAGS} ${CXXFLAGS} -g0 -c ios_static.s -o ${.TARGET}
48*2233c95bSzrj
49*2233c95bSzrjcxx11-ios_failure_sed.po: cxx11-ios_failure.cc
50*2233c95bSzrj	${CXX} ${explicit_FLAGS} ${PO_FLAG} ${STATIC_CXXFLAGS} ${PO_CXXFLAGS} -S -o ios_po.tmp ${.ALLSRC}
51*2233c95bSzrj	sed -e ${S1DUAL} < ios_po.tmp > ios_po.s
52*2233c95bSzrj	${CXX} ${explicit_FLAGS} ${PO_FLAG} ${STATIC_CXXFLAGS} ${PO_CXXFLAGS} -g0 -c ios_po.s -o ${.TARGET}
53*2233c95bSzrj
54*2233c95bSzrjcxx11-ios_failure_sed.So: cxx11-ios_failure.cc
55*2233c95bSzrj	${CXX} ${explicit_FLAGS} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS} ${CXXFLAGS} -S -o ios_sh.tmp ${.ALLSRC}
56*2233c95bSzrj	sed -e ${S1DUAL} < ios_sh.tmp > ios_sh.s
57*2233c95bSzrj	${CXX} ${explicit_FLAGS} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS} ${CXXFLAGS} -g0 -c ios_sh.s -o ${.TARGET}
58*2233c95bSzrj
59*2233c95bSzrjcxxabi_forced.h: ${SRCDIR}/libsupc++/cxxabi_forced.h
60*2233c95bSzrj	cp ${.ALLSRC} ${.TARGET}
61*2233c95bSzrj
62*2233c95bSzrj${INTHD:T}: copybits ${INTHD}
63*2233c95bSzrj	cp ${INTHD} bits/${.TARGET}
64*2233c95bSzrj
65*2233c95bSzrjcopybits:
66*2233c95bSzrj	mkdir -p bits
67*2233c95bSzrj
68*2233c95bSzrjCLEANDIRS=	bits
69*2233c95bSzrjCLEANFILES=	${GENHD} ${IOSTMP}
70*2233c95bSzrj
71*2233c95bSzrjbeforedepend:	${GENHD}
72*2233c95bSzrj
73*2233c95bSzrj.include <bsd.lib.mk>
74