1RELUP=	/../..
2.include "../../../Makefile.inc"
3SRCDIR=	${GCCDIR}/libstdc++-v3
4.include "Makefile.src"
5
6LIB=			cxx98convenience
7INTERNALLIB=		yes
8INTERNALLIBPROF=	yes
9INSTALL_PIC_ARCHIVE=	yes
10
11.PATH:	${SRCDIR}
12.PATH:	${SRCDIR}/src
13.PATH:	${SRCDIR}/src/c++98
14.PATH:	${SRCDIR}/config/locale/dragonfly
15.PATH:	${SRCDIR}/config/locale/generic
16
17# for now do not let the use of -flto (-Wodr...)
18.if ${CFLAGS:M-flto}
19CFLAGS+=	-fno-lto
20LDFLAGS+=	-flto
21.endif
22
23CXXFLAGS+=	-fdiagnostics-show-location=once
24CXXFLAGS+=	-ffunction-sections -fdata-sections
25SHARED_CXXFLAGS=	-D_GLIBCXX_SHARED
26
27SRCS=	${libc__98convenience_la_SOURCES}
28COWD=	collate.x monetary.x numeric.x
29COWG=	messages.x
30GENCC=	atomicity.cc basic_file.cc c++locale.cc
31GENCC+=	${COWD:.x=_members_cow.cc} ${COWG:.x=_members_cow.cc}
32
33FLAGS_GROUPS=		deprecated gnu98 gnu11 cow concept explicit
34deprecated_FLAGS=	-std=gnu++98 -D_BACKWARD_BACKWARD_WARNING_H
35deprecated_FLAGS_FILES=	strstream.cc
36gnu98_FLAGS=		-std=gnu++98
37gnu98_FLAGS_FILES=	bitmap_allocator.cc ios_locale.cc misc-inst.cc
38gnu11_FLAGS=		-std=gnu++11 -fno-implicit-templates
39gnu11_FLAGS_FILES=	locale_init.cc localename.cc
40cow_FLAGS=		-D_GLIBCXX_USE_CXX11_ABI=0 -fimplicit-templates
41cow_FLAGS_FILES=	${cow_string_host_sources}
42concept_FLAGS=		-D_GLIBCXX_CONCEPT_CHECKS -fimplicit-templates
43concept_FLAGS_FILES=	concept-inst.cc
44parallel_FLAGS=		-D_GLIBCXX_PARALLEL -fno-implicit-templates
45parallel_FLAGS_FILES=	parallel_settings.cc
46explicit_FLAGS=		-fno-implicit-templates
47
48REFERENCED_FILES=	${deprecated_FLAGS_FILES} ${gnu98_FLAGS_FILES} \
49			${gnu11_FLAGS_FILES} ${cow_FLAGS_FILES} \
50			${concept_FLAGS_FILES} ${parallel_FLAGS_FILES}
51
52.for F in ${SRCS}
53. if ! ${REFERENCED_FILES:M${F}}
54explicit_FLAGS_FILES+=	${F}
55. endif
56.endfor
57
58.for F in ${COWG}
59${F:.x=_members_cow.cc}: ${SRCDIR}/config/locale/generic/${F:.x=_members.cc}
60	cp ${.ALLSRC} ${.TARGET}
61.endfor
62
63.for F in ${COWD}
64${F:.x=_members_cow.cc}: ${SRCDIR}/config/locale/dragonfly/${F:.x=_members.cc}
65	cp ${.ALLSRC} ${.TARGET}
66.endfor
67
68atomicity.cc: ${SRCDIR}/config/cpu/generic/atomicity_builtins/atomicity.h
69	cp ${.ALLSRC} ${.TARGET}
70
71basic_file.cc: ${SRCDIR}/config/io/basic_file_stdio.cc
72	cp ${.ALLSRC} ${.TARGET}
73
74c++locale.cc: ${SRCDIR}/config/locale/dragonfly/c_locale.cc
75	cp ${.ALLSRC} ${.TARGET}
76
77CLEANFILES+=	${GENCC}
78
79beforedepend:	${GENCC}
80
81.include <bsd.lib.mk>
82