Makefile revision 21673
1169718Skan# 2169718Skan# $FreeBSD: head/gnu/lib/libstdc++/Makefile 21673 1997-01-14 07:20:47Z jkh $ 3169718Skan# 4169718Skan 5169718SkanGPPDIR= ${.CURDIR}/../../../contrib/libg++ 6169718Skan 7169718Skan.PATH: ${GPPDIR}/libstdc++ ${GPPDIR}/libstdc++/stl ${GPPDIR}/libio \ 8169718Skan ${GPPDIR}/libiberty 9169718Skan 10169718SkanLIB= stdc++ 11169718SkanSHLIB_MAJOR= 2 12169718SkanSHLIB_MINOR= 0 13169718SkanCPLUSPLUSLIB= 1 # include c++rt0.o for static constructors 14169718Skan 15169718SkanCFLAGS+= -I${GPPDIR}/include -I/usr/include/g++ -I. 16169718SkanCXXFLAGS+= -I${GPPDIR}/include -I${GPPDIR}/libio -I${GPPDIR}/libstdc++ 17169718SkanCXXFLAGS+= -fno-implicit-templates 18169718Skan 19169718SkanDIR= ${GPPDIR}/libstdc++ 20169718Skan 21169718SkanHDRS= cassert cctype cerrno cfloat ciso646 climits clocale cmath complex \ 22169718Skan csetjmp csignal cstdarg cstddef cstdio cstdlib cstring ctime \ 23169718Skan cwchar cwctype new stddef string exception stdexcept typeinfo \ 24169718Skan algorithm deque list map queue set stack vector utility functional \ 25169718Skan iterator memory numeric \ 26169718Skan complex.h new.h stl.h 27169718Skan 28169718SkanSHDRS= bastring.cc bastring.h cassert.h cctype.h cerrno.h cfloat.h cinst.h \ 29169718Skan ciso646.h climits.h clocale.h cmath.h complex.h complext.cc \ 30169718Skan complext.h csetjmp.h csignal.h cstdarg.h cstddef.h cstdio.h \ 31169718Skan cstdlib.h cstring.h ctime.h cwchar.h cwctype.h dcomplex.h exception.h \ 32169718Skan fcomplex.h ldcomplex.h new.h sinst.h stddef.h stdexcept.h straits.h \ 33169718Skan string.h typeinfo.h 34169718Skan 35169718SkanSTLHDRS=algo.h algobase.h bool.h bvector.h defalloc.h deque.h faralloc.h \ 36169718Skan fdeque.h flist.h fmap.h fmultmap.h fmultset.h fset.h function.h \ 37169718Skan hdeque.h heap.h hlist.h hmap.h hmultmap.h hmultset.h hset.h \ 38169718Skan hugalloc.h hvector.h iterator.h lbvector.h ldeque.h list.h llist.h \ 39169718Skan lmap.h lmultmap.h lmultset.h lngalloc.h lset.h map.h multimap.h \ 40169718Skan multiset.h neralloc.h nmap.h nmultmap.h nmultset.h nset.h pair.h \ 41169718Skan projectn.h set.h stack.h tempbuf.h tree.h vector.h 42169718Skan 43169718SkanSRCS+= newi.cc cstringi.cc stddefi.cc typeinfoi.cc exceptioni.cc \ 44169718Skan stdexcepti.cc cstdlibi.cc cmathi.cc 45169718Skan 46169718Skan# stl sources. 47169718SkanSRCS+= tempbuf.cc tree.cc random.cc 48169718Skan 49169718Skan# "standard" C parts of libiberty (strerror is a superset of the libc version) 50169718SkanSRCS+= insque.c strerror.c 51169718Skan 52169718Skan# Headers for iostream 53169718SkanIHDRS= PlotFile.h SFile.h builtinbuf.h editbuf.h floatio.h fstream.h \ 54169718Skan indstream.h iolibio.h iomanip.h iostdio.h iostream.h iostreamP.h \ 55169718Skan istream.h libio.h libioP.h ostream.h parsestream.h pfstream.h \ 56169718Skan procbuf.h stdiostream.h stream.h streambuf.h strfile.h strstream.h 57169718Skan 58169718Skan# C++ parts of iostream 59169718SkanSRCS+= PlotFile.cc SFile.cc builtinbuf.cc editbuf.cc filebuf.cc fstream.cc \ 60169718Skan indstream.cc ioassign.cc ioextend.cc iomanip.cc iostream.cc \ 61169718Skan isgetline.cc isgetsb.cc isscan.cc osform.cc parsestream.cc \ 62169718Skan pfstream.cc procbuf.cc sbform.cc sbgetline.cc sbscan.cc \ 63169718Skan stdiostream.cc stdstrbufs.cc stdstreams.cc stream.cc streambuf.cc \ 64169718Skan streambuf.cc strstream.cc 65169718Skan 66169718Skan# C parts of iostream 67169718SkanSRCS+= cleanup.c filedoalloc.c fileops.c floatconv.c genops.c iofclose.c \ 68169718Skan iofgetpos.c iofread.c iofscanf.c iofsetpos.c iogetdelim.c iogetline.c \ 69169718Skan ioignore.c iopadn.c iopopen.c ioprims.c ioprintf.c ioseekoff.c \ 70169718Skan ioseekpos.c iostrerror.c ioungetc.c iovfprintf.c iovfscanf.c \ 71169718Skan outfloat.c strops.c 72169718Skan 73169718Skan 74169718Skan 75169718Skanbeforedepend: config.h 76169718Skanstrerror.o: config.h 77169718SkanCLEANFILES+= config.h 78169718Skan 79169718Skanconfig.h: 80169718Skan touch config.h 81 82beforeinstall: 83 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 84 ${.CURDIR}/_G_config.h \ 85 ${HDRS:S;^;${GPPDIR}/libstdc++/;} \ 86 ${IHDRS:S;^;${GPPDIR}/libio/;} \ 87 ${STLHDRS:S;^;${GPPDIR}/libstdc++/stl/;} \ 88 ${DESTDIR}/usr/include/g++ 89 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 90 ${SHDRS:S;^;${GPPDIR}/libstdc++/std/;} \ 91 ${DESTDIR}/usr/include/g++/std 92 93# Lots of special cases 94 95# ======== typeinfoi.o, stdexcepti.o ======== 96.for file in typeinfoi stdexcepti 97${file}.o: ${file}.cc 98 ${CXX} ${CXXFLAGS} -frtti -c ${DIR}/${file}.cc -o ${.TARGET} 99 @${LD} -O ${.TARGET} -x -r ${.TARGET} 100 101${file}.so: ${file}.cc 102 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} -frtti -c ${DIR}/${file}.cc -o ${.TARGET} 103 @${LD} -O ${.TARGET} -x -r ${.TARGET} 104 105${file}.po: ${file}.cc 106 ${CXX} -p ${CXXFLAGS} -frtti -c ${DIR}/${file}.cc -o ${.TARGET} 107 @${LD} -O ${.TARGET} -X -r ${.TARGET} 108.endfor 109 110# ======== exceptioni.o ======== 111.for file in exceptioni 112${file}.o: ${file}.cc 113 ${CXX} ${CXXFLAGS} -O0 -frtti -fhandle-exceptions -c ${DIR}/${file}.cc -o ${.TARGET} 114 @${LD} -O ${.TARGET} -x -r ${.TARGET} 115 116${file}.so: ${file}.cc 117 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} -O0 -frtti -fhandle-exceptions -c ${DIR}/${file}.cc -o ${.TARGET} 118 @${LD} -O ${.TARGET} -x -r ${.TARGET} 119 120${file}.po: ${file}.cc 121 ${CXX} -p ${CXXFLAGS} -O0 -frtti -fhandle-exceptions -c ${DIR}/${file}.cc -o ${.TARGET} 122 @${LD} -O ${.TARGET} -X -r ${.TARGET} 123.endfor 124 125# ======== cstrmain.o ======== 126CSTRMAIN= -DC 127.for i in REP MAIN TRAITS ADDSS ADDPS ADDCS ADDSP ADDSC EQSS EQPS EQSP NESS \ 128 NEPS NESP LTSS LTPS LTSP GTSS GTPS GTSP LESS LEPS LESP GESS GEPS GESP 129CSTRMAIN+= -D${i} 130.endfor 131 132OBJS+= cstrmain.o 133 134cstrmain.o: sinst.cc 135 ${CXX} ${CXXFLAGS} ${CSTRMAIN} -c ${.ALLSRC} -o ${.TARGET} 136 @${LD} -O ${.TARGET} -x -r ${.TARGET} 137 138cstrmain.so: sinst.cc 139 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} ${CSTRMAIN} -c ${.ALLSRC} -o ${.TARGET} 140 @${LD} -O ${.TARGET} -x -r ${.TARGET} 141 142cstrmain.po: sinst.cc 143 ${CXX} -p ${CXXFLAGS} ${CSTRMAIN} -c ${.ALLSRC} -o ${.TARGET} 144 @${LD} -O ${.TARGET} -X -r ${.TARGET} 145 146# ======== cstrio.o ======== 147CSTRIO= -DC 148.for i in EXTRACT INSERT GETLINE 149CSTRIO+= -D${i} 150.endfor 151 152OBJS+= cstrio.o 153 154cstrio.o: sinst.cc 155 ${CXX} ${CXXFLAGS} ${CSTRIO} -c ${.ALLSRC} -o ${.TARGET} 156 @${LD} -O ${.TARGET} -x -r ${.TARGET} 157 158cstrio.so: sinst.cc 159 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} ${CSTRIO} -c ${.ALLSRC} -o ${.TARGET} 160 @${LD} -O ${.TARGET} -x -r ${.TARGET} 161 162cstrio.po: sinst.cc 163 ${CXX} -p ${CXXFLAGS} ${CSTRIO} -c ${.ALLSRC} -o ${.TARGET} 164 @${LD} -O ${.TARGET} -X -r ${.TARGET} 165 166# ======== fcomplex.o ======= 167FCOMPLEX= -DF 168.for i in MAIN ADD CC ADDCF ADDFC SUBCC SUBCF SUBFC MULCC MULCF MULFC DIVCC \ 169 DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG POLAR \ 170 CONJ NORM COS COSH EXP LOG POWCC POWCF POWCI POWFC SIN SINH SQRT 171FCOMPLEX+= -D${i} 172.endfor 173 174OBJS+= fcomplex.o 175 176fcomplex.o: cinst.cc 177 ${CXX} ${CXXFLAGS} ${FCOMPLEX} -c ${.ALLSRC} -o ${.TARGET} 178 @${LD} -O ${.TARGET} -x -r ${.TARGET} 179 180fcomplex.so: cinst.cc 181 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} ${FCOMPLEX} -c ${.ALLSRC} -o ${.TARGET} 182 @${LD} -O ${.TARGET} -x -r ${.TARGET} 183 184fcomplex.po: cinst.cc 185 ${CXX} -p ${CXXFLAGS} ${FCOMPLEX} -c ${.ALLSRC} -o ${.TARGET} 186 @${LD} -O ${.TARGET} -X -r ${.TARGET} 187 188# ======== fcomio.o ======= 189FCOMIO= -DF 190.for i in EXTRACT INSERT 191FCOMIO+=-D${i} 192.endfor 193 194OBJS+= fcomio.o 195 196fcomio.o: cinst.cc 197 ${CXX} ${CXXFLAGS} ${FCOMIO} -c ${.ALLSRC} -o ${.TARGET} 198 @${LD} -O ${.TARGET} -x -r ${.TARGET} 199 200fcomio.so: cinst.cc 201 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} ${FCOMIO} -c ${.ALLSRC} -o ${.TARGET} 202 @${LD} -O ${.TARGET} -x -r ${.TARGET} 203 204fcomio.po: cinst.cc 205 ${CXX} -p ${CXXFLAGS} ${FCOMIO} -c ${.ALLSRC} -o ${.TARGET} 206 @${LD} -O ${.TARGET} -X -r ${.TARGET} 207 208# ======== dcomplex.o ======= 209DCOMPLEX= -DD 210.for i in MAIN ADD CC ADDCF ADDFC SUBCC SUBCF SUBFC MULCC MULCF MULFC DIVCC \ 211 DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG POLAR \ 212 CONJ NORM COS COSH EXP LOG POWCC POWCF POWCI POWFC SIN SINH SQRT 213DCOMPLEX+= -D${i} 214.endfor 215 216OBJS+= dcomplex.o 217 218dcomplex.o: cinst.cc 219 ${CXX} ${CXXFLAGS} ${DCOMPLEX} -c ${.ALLSRC} -o ${.TARGET} 220 @${LD} -O ${.TARGET} -x -r ${.TARGET} 221 222dcomplex.so: cinst.cc 223 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} ${DCOMPLEX} -c ${.ALLSRC} -o ${.TARGET} 224 @${LD} -O ${.TARGET} -x -r ${.TARGET} 225 226dcomplex.po: cinst.cc 227 ${CXX} -p ${CXXFLAGS} ${DCOMPLEX} -c ${.ALLSRC} -o ${.TARGET} 228 @${LD} -O ${.TARGET} -X -r ${.TARGET} 229 230# ======== dcomio.o ======= 231DCOMIO= -DD 232.for i in EXTRACT INSERT 233DCOMIO+=-D${i} 234.endfor 235 236OBJS+= dcomio.o 237 238dcomio.o: cinst.cc 239 ${CXX} ${CXXFLAGS} ${DCOMIO} -c ${.ALLSRC} -o ${.TARGET} 240 @${LD} -O ${.TARGET} -x -r ${.TARGET} 241 242dcomio.so: cinst.cc 243 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} ${DCOMIO} -c ${.ALLSRC} -o ${.TARGET} 244 @${LD} -O ${.TARGET} -x -r ${.TARGET} 245 246dcomio.po: cinst.cc 247 ${CXX} -p ${CXXFLAGS} ${DCOMIO} -c ${.ALLSRC} -o ${.TARGET} 248 @${LD} -O ${.TARGET} -X -r ${.TARGET} 249 250# ======== ldcomplex.o ======= 251LDCOMPLEX= -DLD 252.for i in MAIN ADD CC ADDCF ADDFC SUBCC SUBCF SUBFC MULCC MULCF MULFC DIVCC \ 253 DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG POLAR \ 254 CONJ NORM COS COSH EXP LOG POWCC POWCF POWCI POWFC SIN SINH SQRT 255LDCOMPLEX+= -D${i} 256.endfor 257 258OBJS+= ldcomplex.o 259 260ldcomplex.o: cinst.cc 261 ${CXX} ${CXXFLAGS} ${LDCOMPLEX} -c ${.ALLSRC} -o ${.TARGET} 262 @${LD} -O ${.TARGET} -x -r ${.TARGET} 263 264ldcomplex.so: cinst.cc 265 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} ${LDCOMPLEX} -c ${.ALLSRC} -o ${.TARGET} 266 @${LD} -O ${.TARGET} -x -r ${.TARGET} 267 268ldcomplex.po: cinst.cc 269 ${CXX} -p ${CXXFLAGS} ${LDCOMPLEX} -c ${.ALLSRC} -o ${.TARGET} 270 @${LD} -O ${.TARGET} -X -r ${.TARGET} 271 272# ======== ldcomio.o ======= 273LDCOMIO= -DLD 274.for i in EXTRACT INSERT 275LDCOMIO+=-D${i} 276.endfor 277 278OBJS+= ldcomio.o 279 280ldcomio.o: cinst.cc 281 ${CXX} ${CXXFLAGS} ${LDCOMIO} -c ${.ALLSRC} -o ${.TARGET} 282 @${LD} -O ${.TARGET} -x -r ${.TARGET} 283 284ldcomio.so: cinst.cc 285 ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} ${LDCOMIO} -c ${.ALLSRC} -o ${.TARGET} 286 @${LD} -O ${.TARGET} -x -r ${.TARGET} 287 288ldcomio.po: cinst.cc 289 ${CXX} -p ${CXXFLAGS} ${LDCOMIO} -c ${.ALLSRC} -o ${.TARGET} 290 @${LD} -O ${.TARGET} -X -r ${.TARGET} 291 292.include <bsd.lib.mk> 293