summaryrefslogtreecommitdiff
path: root/gnu/lib/libstdc++-v3_4/Makefile
blob: 24fc1f2431c8cf9f2c42266aab18ca206e89174f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#	$NetBSD: Makefile,v 1.2 2006/07/16 19:54:21 tron Exp $

REQUIRETOOLS=	yes
NOLINT=		# defined

.include <bsd.own.mk>

LIB=		stdc++

.if exists(${.CURDIR}/arch/${MACHINE_ARCH}/defs.mk) && ${MKGCC} != "no"
.include "${.CURDIR}/arch/${MACHINE_ARCH}/defs.mk"

SHLIB_MAJOR=	6
SHLIB_MINOR=	0

SUBDIR=		include

INCS=		c++config.h
INCSDIR=	/usr/include/g++

.include "${.CURDIR}/../libsupc++4/Makefile.common"

SRCS=		${LIBMATHSRCS} ${LIBSUPCXXSRCS} ${LIBSTDCXXSRCS}
# affects profiling; can't switch it off just for profiling easily.
#CXXFLAGS+=	${G_SECTION_FLAGS}
#CXXFLAGS+=	-ffunction-sections -fdata-sections 
CXXFLAGS+=	-fno-implicit-templates -fdiagnostics-show-location=once
CPPFLAGS+=	-I${DIST}/libstdc++-v3/include

CONF=		${DIST}/libstdc++-v3/config

#BUILDSYMLINKS+=	${CONF}/io/basic_file_stdio.cc		basic_file.cc \
#		${CONF}/locale/generic/c_locale.cc	c++locale.cc

GLIBCPP_INCLUDE_DIR=	${DESTDIR}/usr/include/g++

COPTS.concept-inst.cc=	-D_GLIBCPP_CONCEPT_CHECKS -fimplicit-templates
CPPFLAGS.strstream.cc=	-I$(GLIBCPP_INCLUDE_DIR)/backward -Wno-deprecated

# XXX
MKDEPFLAGS+=	-I$(GLIBCPP_INCLUDE_DIR)/backward

.include <bsd.lib.mk>
.include <bsd.subdir.mk>
.include <bsd.info.mk>

GLIBCXX_SRCDIR=	${DIST}/libstdc++-v3

codecvt_members.cc: ${GLIBCXX_SRCDIR}/${G_CCODECVT_CC}
	${_MKTARGET_CREATE}
	rm -f ${.TARGET}
	ln -s ${GLIBCXX_SRCDIR}/${G_CCODECVT_CC} ${.TARGET}

collate_members.cc: ${GLIBCXX_SRCDIR}/${G_CCOLLATE_CC}
	${_MKTARGET_CREATE}
	rm -f ${.TARGET}
	ln -s ${GLIBCXX_SRCDIR}/${G_CCOLLATE_CC} ${.TARGET}

ctype_members.cc: ${GLIBCXX_SRCDIR}/${G_CCTYPE_CC}
	${_MKTARGET_CREATE}
	rm -f ${.TARGET}
	ln -s ${GLIBCXX_SRCDIR}/${G_CCTYPE_CC} ${.TARGET}

messages_members.cc: ${GLIBCXX_SRCDIR}/${G_CMESSAGES_CC}
	${_MKTARGET_CREATE}
	rm -f ${.TARGET}
	ln -s ${GLIBCXX_SRCDIR}/${G_CMESSAGES_CC} ${.TARGET}

monetary_members.cc: ${GLIBCXX_SRCDIR}/${G_CMONEY_CC}
	${_MKTARGET_CREATE}
	rm -f ${.TARGET}
	ln -s ${GLIBCXX_SRCDIR}/${G_CMONEY_CC} ${.TARGET}

numeric_members.cc: ${GLIBCXX_SRCDIR}/${G_CNUMERIC_CC}
	${_MKTARGET_CREATE}
	rm -f ${.TARGET}
	ln -s ${GLIBCXX_SRCDIR}/${G_CNUMERIC_CC} ${.TARGET}

time_members.cc: ${GLIBCXX_SRCDIR}/${G_CTIME_CC}
	${_MKTARGET_CREATE}
	rm -f ${.TARGET}
	ln -s ${GLIBCXX_SRCDIR}/${G_CTIME_CC} ${.TARGET}

atomicity.cc: ${G_atomicity_file}
	${_MKTARGET_CREATE}
	rm -f ${.TARGET}
	ln -s ${G_atomicity_file} ${.TARGET}

c++locale.cc: ${GLIBCXX_SRCDIR}/${G_CLOCALE_CC}
	${_MKTARGET_CREATE}
	rm -f ${.TARGET}
	ln -s ${GLIBCXX_SRCDIR}/${G_CLOCALE_CC} ${.TARGET}

basic_file.cc: ${GLIBCXX_SRCDIR}/${G_BASIC_FILE_CC}
	${_MKTARGET_CREATE}
	rm -f ${.TARGET}
	ln -s ${GLIBCXX_SRCDIR}/${G_BASIC_FILE_CC} ${.TARGET}


CLEANFILES+=	atomicity.cc basic_file.cc c++locale.cc codecvt_members.cc
CLEANFILES+=	collate_members.cc ctype_members.cc messages_members.cc
CLEANFILES+=	monetary_members.cc numeric_members.cc time_members.cc

${SRCS}: unwind.h
unwind.h: ${G_UNWIND_H}
	${_MKTARGET_CREATE}
	rm -f ${.TARGET}
	ln -s ${G_UNWIND_H} ${.TARGET}
CLEANFILES+= unwind.h

.PATH:	${DIST}/libstdc++-v3/src \
	${DIST}/libstdc++-v3/libmath \
	${DIST}/libstdc++-v3/libsupc++ \
	${DIST}/libiberty \
	${CONF}/locale/generic \
	${.CURDIR}/arch/${MACHINE_ARCH}

${OBJS}: ${.CURDIR}/arch/${MACHINE_ARCH}/defs.mk
.else
.include <bsd.prog.mk> # do nothing
.endif

.if (${OBJECT_FMT} == "a.out")
LDADD=	${DESTDIR}/usr/lib/c++rt0.o
DPADD=	${DESTDIR}/usr/lib/c++rt0.o
.endif