Makefile revision 33799
1# 2# $Id: Makefile,v 1.7 1997/05/23 08:33:59 asami Exp $ 3# 4 5GPPDIR= ${.CURDIR}/../../../contrib/libg++ 6 7.PATH: ${GPPDIR}/libstdc++ ${GPPDIR}/libstdc++/stl ${GPPDIR}/libio \ 8 ${GPPDIR}/libiberty 9 10LIB= stdc++ 11SHLIB_MAJOR= 2 12SHLIB_MINOR= 0 13 14CFLAGS+= -I${GPPDIR}/include -I${DESTDIR}/usr/include/g++ -I. 15CXXFLAGS+= -I${GPPDIR}/include -I${GPPDIR}/libio -I${GPPDIR}/libstdc++ 16CXXFLAGS+= -fno-implicit-templates 17 18DIR= ${GPPDIR}/libstdc++ 19 20HDRS= cassert cctype cerrno cfloat ciso646 climits clocale cmath complex \ 21 csetjmp csignal cstdarg cstddef cstdio cstdlib cstring ctime \ 22 cwchar cwctype new stddef string exception stdexcept typeinfo \ 23 algorithm deque list map queue set stack vector utility functional \ 24 iterator memory numeric \ 25 complex.h new.h stl.h 26 27SHDRS= bastring.cc bastring.h cassert.h cctype.h cerrno.h cfloat.h cinst.h \ 28 ciso646.h climits.h clocale.h cmath.h complex.h complext.cc \ 29 complext.h csetjmp.h csignal.h cstdarg.h cstddef.h cstdio.h \ 30 cstdlib.h cstring.h ctime.h cwchar.h cwctype.h dcomplex.h exception.h \ 31 fcomplex.h ldcomplex.h new.h sinst.h stddef.h stdexcept.h straits.h \ 32 string.h typeinfo.h 33 34STLHDRS=algo.h algobase.h bool.h bvector.h defalloc.h deque.h faralloc.h \ 35 fdeque.h flist.h fmap.h fmultmap.h fmultset.h fset.h function.h \ 36 hdeque.h heap.h hlist.h hmap.h hmultmap.h hmultset.h hset.h \ 37 hugalloc.h hvector.h iterator.h lbvector.h ldeque.h list.h llist.h \ 38 lmap.h lmultmap.h lmultset.h lngalloc.h lset.h map.h multimap.h \ 39 multiset.h neralloc.h nmap.h nmultmap.h nmultset.h nset.h pair.h \ 40 projectn.h set.h stack.h tempbuf.h tree.h vector.h 41 42SRCS+= newi.cc cstringi.cc stddefi.cc typeinfoi.cc exceptioni.cc \ 43 stdexcepti.cc cstdlibi.cc cmathi.cc 44 45# stl sources. 46SRCS+= tempbuf.cc tree.cc random.cc 47 48# "standard" C parts of libiberty (strerror is a superset of the libc version) 49SRCS+= insque.c strerror.c 50 51# Headers for iostream 52IHDRS= PlotFile.h SFile.h builtinbuf.h editbuf.h floatio.h fstream.h \ 53 indstream.h iolibio.h iomanip.h iostdio.h iostream.h iostreamP.h \ 54 istream.h libio.h libioP.h ostream.h parsestream.h pfstream.h \ 55 procbuf.h stdiostream.h stream.h streambuf.h strfile.h strstream.h 56 57# C++ parts of iostream 58SRCS+= PlotFile.cc SFile.cc builtinbuf.cc editbuf.cc filebuf.cc fstream.cc \ 59 indstream.cc ioassign.cc ioextend.cc iomanip.cc iostream.cc \ 60 isgetline.cc isgetsb.cc isscan.cc osform.cc parsestream.cc \ 61 pfstream.cc procbuf.cc sbform.cc sbgetline.cc sbscan.cc \ 62 stdiostream.cc stdstrbufs.cc stdstreams.cc stream.cc streambuf.cc \ 63 strstream.cc 64 65# C parts of iostream 66SRCS+= cleanup.c filedoalloc.c fileops.c floatconv.c genops.c iofclose.c \ 67 iofgetpos.c iofread.c iofscanf.c iofsetpos.c iogetdelim.c iogetline.c \ 68 ioignore.c iopadn.c iopopen.c ioprims.c ioprintf.c ioseekoff.c \ 69 ioseekpos.c iostrerror.c ioungetc.c iovfprintf.c iovfscanf.c \ 70 outfloat.c strops.c 71 72 73 74beforedepend: config.h 75strerror.o: config.h 76CLEANFILES+= config.h 77 78config.h: 79 touch config.h 80 81beforeinstall: 82 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 83 ${.CURDIR}/_G_config.h \ 84 ${HDRS:S;^;${GPPDIR}/libstdc++/;} \ 85 ${IHDRS:S;^;${GPPDIR}/libio/;} \ 86 ${STLHDRS:S;^;${GPPDIR}/libstdc++/stl/;} \ 87 ${DESTDIR}/usr/include/g++ 88 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 89 ${SHDRS:S;^;${GPPDIR}/libstdc++/std/;} \ 90 ${DESTDIR}/usr/include/g++/std 91 92# Lots of special cases 93 94# ======== typeinfoi.o, stdexcepti.o ======== 95.for file in typeinfoi stdexcepti 96${file}.o: ${file}.cc 97 ${CXX} ${CXXFLAGS} -frtti -c ${DIR}/${file}.cc -o ${.TARGET} 98 @${LD} -O ${.TARGET} -x -r ${.TARGET} 99 100${file}.so: ${file}.cc 101 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} -frtti -c ${DIR}/${file}.cc -o ${.TARGET} 102 @${LD} -O ${.TARGET} -x -r ${.TARGET} 103 104${file}.po: ${file}.cc 105 ${CXX} -p ${CXXFLAGS} -frtti -c ${DIR}/${file}.cc -o ${.TARGET} 106 @${LD} -O ${.TARGET} -X -r ${.TARGET} 107.endfor 108 109# ======== exceptioni.o ======== 110.for file in exceptioni 111${file}.o: ${file}.cc 112 ${CXX} ${CXXFLAGS} -O0 -frtti -fhandle-exceptions -c ${DIR}/${file}.cc -o ${.TARGET} 113 @${LD} -O ${.TARGET} -x -r ${.TARGET} 114 115${file}.so: ${file}.cc 116 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} -O0 -frtti -fhandle-exceptions -c ${DIR}/${file}.cc -o ${.TARGET} 117 @${LD} -O ${.TARGET} -x -r ${.TARGET} 118 119${file}.po: ${file}.cc 120 ${CXX} -p ${CXXFLAGS} -O0 -frtti -fhandle-exceptions -c ${DIR}/${file}.cc -o ${.TARGET} 121 @${LD} -O ${.TARGET} -X -r ${.TARGET} 122.endfor 123 124# ======== cstrmain.o ======== 125CSTRMAIN= -DC 126.for i in REP MAIN TRAITS ADDSS ADDPS ADDCS ADDSP ADDSC EQSS EQPS EQSP NESS \ 127 NEPS NESP LTSS LTPS LTSP GTSS GTPS GTSP LESS LEPS LESP GESS GEPS GESP 128CSTRMAIN+= -D${i} 129.endfor 130 131OBJS+= cstrmain.o 132 133cstrmain.o: sinst.cc 134 ${CXX} ${CXXFLAGS} ${CSTRMAIN} -c ${.ALLSRC} -o ${.TARGET} 135 @${LD} -O ${.TARGET} -x -r ${.TARGET} 136 137cstrmain.so: sinst.cc 138 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} ${CSTRMAIN} -c ${.ALLSRC} -o ${.TARGET} 139 @${LD} -O ${.TARGET} -x -r ${.TARGET} 140 141cstrmain.po: sinst.cc 142 ${CXX} -p ${CXXFLAGS} ${CSTRMAIN} -c ${.ALLSRC} -o ${.TARGET} 143 @${LD} -O ${.TARGET} -X -r ${.TARGET} 144 145# ======== cstrio.o ======== 146CSTRIO= -DC 147.for i in EXTRACT INSERT GETLINE 148CSTRIO+= -D${i} 149.endfor 150 151OBJS+= cstrio.o 152 153cstrio.o: sinst.cc 154 ${CXX} ${CXXFLAGS} ${CSTRIO} -c ${.ALLSRC} -o ${.TARGET} 155 @${LD} -O ${.TARGET} -x -r ${.TARGET} 156 157cstrio.so: sinst.cc 158 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} ${CSTRIO} -c ${.ALLSRC} -o ${.TARGET} 159 @${LD} -O ${.TARGET} -x -r ${.TARGET} 160 161cstrio.po: sinst.cc 162 ${CXX} -p ${CXXFLAGS} ${CSTRIO} -c ${.ALLSRC} -o ${.TARGET} 163 @${LD} -O ${.TARGET} -X -r ${.TARGET} 164 165# ======== fcomplex.o ======= 166FCOMPLEX= -DF 167.for i in MAIN ADDCC ADDCF ADDFC SUBCC SUBCF SUBFC MULCC MULCF MULFC DIVCC \ 168 DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG POLAR \ 169 CONJ NORM COS COSH EXP LOG POWCC POWCF POWCI POWFC SIN SINH SQRT 170FCOMPLEX+= -D${i} 171.endfor 172 173OBJS+= fcomplex.o 174 175fcomplex.o: cinst.cc 176 ${CXX} ${CXXFLAGS} ${FCOMPLEX} -c ${.ALLSRC} -o ${.TARGET} 177 @${LD} -O ${.TARGET} -x -r ${.TARGET} 178 179fcomplex.so: cinst.cc 180 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} ${FCOMPLEX} -c ${.ALLSRC} -o ${.TARGET} 181 @${LD} -O ${.TARGET} -x -r ${.TARGET} 182 183fcomplex.po: cinst.cc 184 ${CXX} -p ${CXXFLAGS} ${FCOMPLEX} -c ${.ALLSRC} -o ${.TARGET} 185 @${LD} -O ${.TARGET} -X -r ${.TARGET} 186 187# ======== fcomio.o ======= 188FCOMIO= -DF 189.for i in EXTRACT INSERT 190FCOMIO+=-D${i} 191.endfor 192 193OBJS+= fcomio.o 194 195fcomio.o: cinst.cc 196 ${CXX} ${CXXFLAGS} ${FCOMIO} -c ${.ALLSRC} -o ${.TARGET} 197 @${LD} -O ${.TARGET} -x -r ${.TARGET} 198 199fcomio.so: cinst.cc 200 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} ${FCOMIO} -c ${.ALLSRC} -o ${.TARGET} 201 @${LD} -O ${.TARGET} -x -r ${.TARGET} 202 203fcomio.po: cinst.cc 204 ${CXX} -p ${CXXFLAGS} ${FCOMIO} -c ${.ALLSRC} -o ${.TARGET} 205 @${LD} -O ${.TARGET} -X -r ${.TARGET} 206 207# ======== dcomplex.o ======= 208DCOMPLEX= -DD 209.for i in MAIN ADDCC ADDCF ADDFC SUBCC SUBCF SUBFC MULCC MULCF MULFC DIVCC \ 210 DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG POLAR \ 211 CONJ NORM COS COSH EXP LOG POWCC POWCF POWCI POWFC SIN SINH SQRT 212DCOMPLEX+= -D${i} 213.endfor 214 215OBJS+= dcomplex.o 216 217dcomplex.o: cinst.cc 218 ${CXX} ${CXXFLAGS} ${DCOMPLEX} -c ${.ALLSRC} -o ${.TARGET} 219 @${LD} -O ${.TARGET} -x -r ${.TARGET} 220 221dcomplex.so: cinst.cc 222 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} ${DCOMPLEX} -c ${.ALLSRC} -o ${.TARGET} 223 @${LD} -O ${.TARGET} -x -r ${.TARGET} 224 225dcomplex.po: cinst.cc 226 ${CXX} -p ${CXXFLAGS} ${DCOMPLEX} -c ${.ALLSRC} -o ${.TARGET} 227 @${LD} -O ${.TARGET} -X -r ${.TARGET} 228 229# ======== dcomio.o ======= 230DCOMIO= -DD 231.for i in EXTRACT INSERT 232DCOMIO+=-D${i} 233.endfor 234 235OBJS+= dcomio.o 236 237dcomio.o: cinst.cc 238 ${CXX} ${CXXFLAGS} ${DCOMIO} -c ${.ALLSRC} -o ${.TARGET} 239 @${LD} -O ${.TARGET} -x -r ${.TARGET} 240 241dcomio.so: cinst.cc 242 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} ${DCOMIO} -c ${.ALLSRC} -o ${.TARGET} 243 @${LD} -O ${.TARGET} -x -r ${.TARGET} 244 245dcomio.po: cinst.cc 246 ${CXX} -p ${CXXFLAGS} ${DCOMIO} -c ${.ALLSRC} -o ${.TARGET} 247 @${LD} -O ${.TARGET} -X -r ${.TARGET} 248 249# ======== ldcomplex.o ======= 250LDCOMPLEX= -DLD 251.for i in MAIN ADDCC ADDCF ADDFC SUBCC SUBCF SUBFC MULCC MULCF MULFC DIVCC \ 252 DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG POLAR \ 253 CONJ NORM COS COSH EXP LOG POWCC POWCF POWCI POWFC SIN SINH SQRT 254LDCOMPLEX+= -D${i} 255.endfor 256 257OBJS+= ldcomplex.o 258 259ldcomplex.o: cinst.cc 260 ${CXX} ${CXXFLAGS} ${LDCOMPLEX} -c ${.ALLSRC} -o ${.TARGET} 261 @${LD} -O ${.TARGET} -x -r ${.TARGET} 262 263ldcomplex.so: cinst.cc 264 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} ${LDCOMPLEX} -c ${.ALLSRC} -o ${.TARGET} 265 @${LD} -O ${.TARGET} -x -r ${.TARGET} 266 267ldcomplex.po: cinst.cc 268 ${CXX} -p ${CXXFLAGS} ${LDCOMPLEX} -c ${.ALLSRC} -o ${.TARGET} 269 @${LD} -O ${.TARGET} -X -r ${.TARGET} 270 271# ======== ldcomio.o ======= 272LDCOMIO= -DLD 273.for i in EXTRACT INSERT 274LDCOMIO+=-D${i} 275.endfor 276 277OBJS+= ldcomio.o 278 279ldcomio.o: cinst.cc 280 ${CXX} ${CXXFLAGS} ${LDCOMIO} -c ${.ALLSRC} -o ${.TARGET} 281 @${LD} -O ${.TARGET} -x -r ${.TARGET} 282 283ldcomio.so: cinst.cc 284 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} ${LDCOMIO} -c ${.ALLSRC} -o ${.TARGET} 285 @${LD} -O ${.TARGET} -x -r ${.TARGET} 286 287ldcomio.po: cinst.cc 288 ${CXX} -p ${CXXFLAGS} ${LDCOMIO} -c ${.ALLSRC} -o ${.TARGET} 289 @${LD} -O ${.TARGET} -X -r ${.TARGET} 290 291.include <bsd.lib.mk> 292