Makefile revision 74743
1# $FreeBSD: head/gnu/lib/libstdc++/Makefile 74743 2001-03-24 09:01:31Z obrien $ 2 3SRCDIR= ${.CURDIR}/../../../contrib/libstdc++.295 4 5.PATH: ${SRCDIR} ${SRCDIR}/stl ${SRCDIR}/../libio 6 7SUBDIR= doc 8 9LIB= stdc++ 10SHLIB_MAJOR= 3 11SHLIB_MINOR= 0 12 13CFLAGS+= -I${.CURDIR} -I${SRCDIR}/include -I${SRCDIR}/../libio -I. 14CXXFLAGS+= -I${SRCDIR}/stl -I${SRCDIR} -I${SRCDIR}/../gcc/cp/inc -I. 15CXXFLAGS+= -nostdinc++ -fno-implicit-templates 16 17LDADD+= -lm 18DPADD+= ${LIBM} 19 20HDRS= cassert cctype cerrno cfloat ciso646 climits clocale cmath complex \ 21 csetjmp csignal cstdarg cstddef cstdio cstdlib cstring ctime \ 22 cwchar cwctype fstream iomanip iosfwd iostream sstream stdexcept \ 23 string strstream complex.h stl.h valarray 24 25STDHDRS=bastring.cc bastring.h complext.cc complext.h dcomplex.h fcomplex.h \ 26 gslice.h gslice_array.h indirect_array.h ldcomplex.h mask_array.h \ 27 slice.h slice_array.h std_valarray.h straits.h valarray_array.h \ 28 valarray_array.tcc valarray_meta.h 29 30STLHDRS=algo.h algobase.h algorithm alloc.h bitset bvector.h defalloc.h deque \ 31 deque.h function.h functional hash_map hash_map.h hash_set hash_set.h \ 32 hashtable.h heap.h iterator iterator.h list list.h map map.h memory \ 33 multimap.h multiset.h numeric pair.h pthread_alloc pthread_alloc.h \ 34 queue rope rope.h ropeimpl.h set set.h slist slist.h stack stack.h \ 35 stl_algo.h stl_algobase.h stl_alloc.h stl_bvector.h stl_config.h \ 36 stl_construct.h stl_deque.h stl_function.h stl_hash_fun.h \ 37 stl_hash_map.h stl_hash_set.h stl_hashtable.h stl_heap.h \ 38 stl_iterator.h stl_list.h stl_map.h stl_multimap.h stl_multiset.h \ 39 stl_numeric.h stl_pair.h stl_queue.h stl_raw_storage_iter.h \ 40 stl_relops.h stl_rope.h stl_set.h stl_slist.h stl_stack.h \ 41 stl_tempbuf.h stl_tree.h stl_uninitialized.h stl_vector.h \ 42 tempbuf.h tree.h type_traits.h utility vector vector.h 43 44# libstdc++ sources 45SRCS+= cmathi.cc cstdlibi.cc cstringi.cc stdexcepti.cc stlinst.cc 46 47# Headers for iostream / libio 48IHDRS= PlotFile.h SFile.h builtinbuf.h editbuf.h floatio.h fstream.h \ 49 indstream.h iolibio.h iomanip.h iostdio.h iostream.h iostreamP.h \ 50 istream.h libio.h libioP.h ostream.h parsestream.h pfstream.h \ 51 procbuf.h stdiostream.h stream.h streambuf.h strfile.h strstream.h 52 53# C++ parts of iostream / libio 54SRCS+= PlotFile.cc SFile.cc builtinbuf.cc editbuf.cc filebuf.cc fstream.cc \ 55 indstream.cc ioassign.cc ioextend.cc iomanip.cc iostream.cc \ 56 isgetline.cc isgetsb.cc isscan.cc osform.cc parsestream.cc \ 57 pfstream.cc procbuf.cc sbform.cc sbgetline.cc sbscan.cc \ 58 stdiostream.cc stdstrbufs.cc stdstreams.cc stream.cc streambuf.cc \ 59 strstream.cc 60 61# C parts of iostream / libio 62SRCS+= cleanup.c filedoalloc.c fileops.c floatconv.c genops.c iofclose.c \ 63 iofdopen.c iofeof.c ioferror.c iofflush.c iofflush_u.c iofgetpos.c \ 64 iofgets.c iofopen.c iofprintf.c iofputs.c iofread.c iofscanf.c \ 65 iofsetpos.c ioftell.c iofwrite.c iogetc.c iogetdelim.c iogetline.c \ 66 iogets.c ioignore.c iopadn.c ioperror.c iopopen.c ioprims.c ioprintf.c \ 67 ioputc.c ioputs.c ioscanf.c ioseekoff.c ioseekpos.c iosetbuffer.c \ 68 iosetvbuf.c iosprintf.c iosscanf.c iostrerror.c ioungetc.c \ 69 iovfprintf.c iovfscanf.c iovsprintf.c iovsscanf.c outfloat.c \ 70 peekc.c strops.c 71 72beforeinstall: 73 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 74 ${.CURDIR}/_G_config.h \ 75 ${HDRS:S;^;${SRCDIR}/;} \ 76 ${IHDRS:S;^;${SRCDIR}/../libio/;} \ 77 ${STLHDRS:S;^;${SRCDIR}/stl/;} \ 78 ${DESTDIR}/usr/include/g++ 79 ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \ 80 ${STDHDRS:S;^;${SRCDIR}/std/;} \ 81 ${DESTDIR}/usr/include/g++/std 82 83CLEANFILES+= dummy.h dummy.c dummy.C 84 85# Lots of special cases 86 87# ======== cstrmain.o ======== 88SRCS+= cstrmain.cc 89CLEANFILES+= cstrmain.cc 90 91cstrmain.cc: sinst.cc 92 echo "#define C 1" > ${.TARGET} 93.for i in REP MAIN TRAITS ADDSS ADDPS ADDCS ADDSP ADDSC EQSS EQPS EQSP NESS \ 94 NEPS NESP LTSS LTPS LTSP GTSS GTPS GTSP LESS LEPS LESP GESS GEPS GESP 95 echo "#define $i 1" >> ${.TARGET} 96.endfor 97 cat ${.ALLSRC} >> ${.TARGET} 98 99# ======== cstrio.o ======== 100SRCS+= cstrio.cc 101CLEANFILES+= cstrio.cc 102 103cstrio.cc: sinst.cc 104 echo "#define C 1" > ${.TARGET} 105.for i in EXTRACT INSERT GETLINE 106 echo "#define $i 1" >> ${.TARGET} 107.endfor 108 cat ${.ALLSRC} >> ${.TARGET} 109 110# ======== fcomplex.o ======= 111SRCS+= fcomplex.cc 112CLEANFILES+= fcomplex.cc 113 114fcomplex.cc: cinst.cc 115 echo "#define F 1" > ${.TARGET} 116.for i in MAIN ADDCC ADDCF ADDFC SUBCC SUBCF SUBFC MULCC MULCF MULFC DIVCC \ 117 DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG POLAR CONJ \ 118 NORM COS COSH EXP LOG POWCC POWCF POWCI POWFC SIN SINH SQRT 119 echo "#define $i 1" >> ${.TARGET} 120.endfor 121 cat ${.ALLSRC} >> ${.TARGET} 122 123# ======== fcomio.o ======= 124SRCS+= fcomio.cc 125CLEANFILES+= fcomio.cc 126 127fcomio.cc: cinst.cc 128 echo "#define F 1" > ${.TARGET} 129.for i in EXTRACT INSERT 130 echo "#define $i 1" >> ${.TARGET} 131.endfor 132 cat ${.ALLSRC} >> ${.TARGET} 133 134# ======== dcomplex.o ======= 135SRCS+= dcomplex.cc 136CLEANFILES+= dcomplex.cc 137 138dcomplex.cc: cinst.cc 139 echo "#define D 1" > ${.TARGET} 140.for i in MAIN ADDCC ADDCF ADDFC SUBCC SUBCF SUBFC MULCC MULCF MULFC DIVCC \ 141 DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG POLAR CONJ \ 142 NORM COS COSH EXP LOG POWCC POWCF POWCI POWFC SIN SINH SQRT 143 echo "#define $i 1" >> ${.TARGET} 144.endfor 145 cat ${.ALLSRC} >> ${.TARGET} 146 147# ======== dcomio.o ======= 148SRCS+= dcomio.cc 149CLEANFILES+= dcomio.cc 150 151dcomio.cc: cinst.cc 152 echo "#define D 1" > ${.TARGET} 153.for i in EXTRACT INSERT 154 echo "#define $i 1" >> ${.TARGET} 155.endfor 156 cat ${.ALLSRC} >> ${.TARGET} 157 158# ======== ldcomplex.o ======= 159SRCS+= ldcomplex.cc 160CLEANFILES+= ldcomplex.cc 161 162ldcomplex.cc: cinst.cc 163 echo "#define LD 1" > ${.TARGET} 164.for i in MAIN ADDCC ADDCF ADDFC SUBCC SUBCF SUBFC MULCC MULCF MULFC DIVCC \ 165 DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC NECF NEFC ABS ARG POLAR CONJ \ 166 NORM COS COSH EXP LOG POWCC POWCF POWCI POWFC SIN SINH SQRT 167 echo "#define $i 1" >> ${.TARGET} 168.endfor 169 cat ${.ALLSRC} >> ${.TARGET} 170 171# ======== ldcomio.o ======= 172SRCS+= ldcomio.cc 173CLEANFILES+= ldcomio.cc 174 175ldcomio.cc: cinst.cc 176 echo "#define LD 1" > ${.TARGET} 177.for i in EXTRACT INSERT 178 echo "#define $i 1" >> ${.TARGET} 179.endfor 180 cat ${.ALLSRC} >> ${.TARGET} 181 182# ======== _G_config.h generation ======= 183# In case you want or need to generate a _G_config.h file. 184make_G_config_h: 185 CC="${CC}" CXX="${CXX}" CONFIG_NM="nm" \ 186 CPP="${CC} -E -nostdinc -idirafter ${DESTDIR}/usr/include" \ 187 sh ${SRCDIR}/../libio/gen-params \ 188 LIB_VERSION=${SHLIB_MAJOR}.${SHLIB_MINOR}.0 >${.TARGET} 189 190.include <bsd.lib.mk> 191