summaryrefslogtreecommitdiff
path: root/gnu/lib/libstdc++/Makefile
blob: 585135ec6b872a8fce481e18d364f4f0b57689c6 (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
127
128
129
130
131
132
133
134
135
136
137
#	$NetBSD: Makefile,v 1.5 1998/04/12 14:18:41 tv Exp $

HAVE_GCC28!= ${CXX} --version | egrep "^(2\.8|egcs)" ; echo

.if (${HAVE_GCC28} != "")
INCS=	cassert cctype cerrno cfloat ciso646 climits clocale cmath complex \
	csetjmp csignal cstdarg cstddef cstdio cstdlib cstring ctime cwchar \
	cwctype fstream iomanip iosfwd iostream stdexcept string strstream
INCS+=	complex.h stl.h _G_config.h
INCSDIR=/usr/include/g++

SUBDIR=std stl io

LIB=	stdc++

SRCS=	PlotFile.cc SFile.cc builtinbuf.cc editbuf.cc filebuf.cc fstream.cc \
	indstream.cc ioassign.cc ioextend.cc iomanip.cc iostream.cc \
	isgetline.cc isgetsb.cc isscan.cc osform.cc parsestream.cc \
	pfstream.cc procbuf.cc sbform.cc sbgetline.cc sbscan.cc \
	stdiostream.cc stdstrbufs.cc stdstreams.cc stream.cc streambuf.cc \
	strstream.cc \
	cleanup.c filedoalloc.c fileops.c floatconv.c genops.c iofclose.c \
	iofdopen.c iofeof.c ioferror.c iofflush.c iofflush_u.c iofgetpos.c \
	iofgets.c iofopen.c iofprintf.c iofputs.c iofread.c iofscanf.c \
	iofsetpos.c ioftell.c iofwrite.c iogetc.c iogetdelim.c iogetline.c \
	iogets.c ioignore.c iopadn.c ioperror.c iopopen.c ioprims.c \
	ioprintf.c ioputc.c ioputs.c ioscanf.c ioseekoff.c ioseekpos.c \
	iosetbuffer.c iosetvbuf.c iosprintf.c iosscanf.c iostrerror.c \
	ioungetc.c iovfprintf.c iovfscanf.c iovsprintf.c iovsscanf.c \
	outfloat.c peekc.c strops.c \
	cmathi.cc cstdlibi.cc cstringi.cc stdexcepti.cc stlinst.cc \
	cstrmain.cc cstrio.cc fcomplex.cc fcomio.cc dcomplex.cc dcomio.cc \
	ldcomplex.cc ldcomio.cc 

DIST=		$(.CURDIR)/../../dist
CXXFLAGS+=	-nostdinc++ 
CPPFLAGS+=	-I$(.CURDIR) -I$(DIST)/libstdc++ -I$(DIST)/libio \
		-I$(DIST)/libstdc++/stl -I$(DIST)/gcc/cp/inc
NOMAN=		noman
NOLINT=		nolint (c++)

.PATH:	$(DIST)/libstdc++ $(DIST)/libstdc++/stl $(DIST)/libio

.if (${MACHINE} != "alpha")
LDADD=	${DESTDIR}/usr/lib/c++rt0.o
DPADD=	${DESTDIR}/usr/lib/c++rt0.o
.endif

# XXX Workaround the .cc -> (NULL) extension rule
.cc:
	@true

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

SINSTCC=	$(DIST)/libstdc++/sinst.cc
CINSTCC=	$(DIST)/libstdc++/cinst.cc

cstrmain.cc: Makefile
	@echo Creating cstrmain.cc
	@(for i in REP MAIN TRAITS ADDSS ADDPS ADDCS ADDSP ADDSC EQSS EQPS EQSP NESS NEPS NESP LTSS LTPS LTSP GTSS GTPS GTSP LESS LEPS LESP GESS GEPS GESP ; do \
		echo "#define $$i"; \
		done;\
	echo '#define C';\
	cat $(SINSTCC)) > $(.TARGET)
CLEANFILES+=cstrmain.cc

cstrio.cc: Makefile
	@echo Creating cstrio.cc
	@(for i in EXTRACT INSERT GETLINE ; do \
		echo "#define $$i"; \
		done;\
	echo '#define C';\
	cat $(SINSTCC)) > $(.TARGET)
CLEANFILES+=cstrio.cc

fcomplex.cc: Makefile
	@echo Creating fcomplex.cc
	@(for i in MAIN ADDCC ADDCF ADDFC SUBCC SUBCF SUBFC MULCC MULCF MULFC DIVCC DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG POLAR CONJ NORM COS COSH EXP LOG POWCC POWCF POWCI POWFC SIN SINH SQRT ; do \
		echo "#define $$i"; \
		done;\
	echo '#define F';\
	cat $(CINSTCC)) > $(.TARGET)
CLEANFILES+=fcomplex.cc

fcomio.cc: Makefile
	@echo Creating fcomio.cc
	@(for i in EXTRACT INSERT ; do \
		echo "#define $$i"; \
		done;\
	echo '#define F';\
	cat $(CINSTCC)) > $(.TARGET)
CLEANFILES+=fcomio.cc

dcomplex.cc: Makefile
	@echo Creating dcomplex.cc
	@(for i in MAIN ADDCC ADDCF ADDFC SUBCC SUBCF SUBFC MULCC MULCF MULFC DIVCC DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG POLAR CONJ NORM COS COSH EXP LOG POWCC POWCF POWCI POWFC SIN SINH SQRT ; do \
		echo "#define $$i"; \
		done;\
	echo '#define D';\
	cat $(CINSTCC)) > $(.TARGET)
CLEANFILES+=dcomplex.cc

dcomio.cc: Makefile
	@echo Creating dcomio.cc
	@(for i in EXTRACT INSERT ; do \
		echo "#define $$i"; \
		done;\
	echo '#define D';\
	cat $(CINSTCC)) > $(.TARGET)
CLEANFILES+=dcomio.cc

ldcomplex.cc: Makefile
	@echo Creating ldcomplex.cc
	@(for i in MAIN ADDCC ADDCF ADDFC SUBCC SUBCF SUBFC MULCC MULCF MULFC DIVCC DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG POLAR CONJ NORM COS COSH EXP LOG POWCC POWCF POWCI POWFC SIN SINH SQRT ; do \
		echo "#define $$i"; \
		done;\
	echo '#define LD';\
	cat $(CINSTCC)) > $(.TARGET)
CLEANFILES+=ldcomplex.cc

ldcomio.cc: Makefile
	@echo Creating ldcomio.cc
	@(for i in EXTRACT INSERT ; do \
		echo "#define $$i"; \
		done;\
	echo '#define LD';\
	cat $(CINSTCC)) > $(.TARGET)
CLEANFILES+=ldcomio.cc

.else

# XXX Temporary: during an egcs bootstrap, don't try to build with gcc 2.7
.include <bsd.own.mk>
${TARGETS}:

.endif