1# $NetBSD: Makefile,v 1.6 2010/07/06 05:59:51 mrg Exp $ 2 3REQUIRETOOLS= yes 4NOLINT= # defined 5 6.include <bsd.own.mk> 7 8LIB= stdc++ 9LDADD= -lgcc_s 10 11LIBDPLIBS+= m ${.CURDIR}/../../../lib/libm 12 13CWARNFLAGS.clang+= -Wno-logical-op-parentheses \ 14 -Wno-deprecated-writable-strings -Wno-parentheses 15 16.if exists(${.CURDIR}/arch/${MACHINE_ARCH}/defs.mk) && ${MKGCC} != "no" 17.include "${.CURDIR}/arch/${MACHINE_ARCH}/defs.mk" 18 19SHLIB_MAJOR= 7 20SHLIB_MINOR= 0 21 22SUBDIR= include 23 24INCS= c++config.h 25INCSDIR= /usr/include/g++ 26 27.include "${.CURDIR}/../libsupc++4/Makefile.common" 28 29SRCS= ${LIBMATHSRCS} ${LIBSUPCXXSRCS} ${LIBSTDCXXSRCS} 30# affects profiling; can't switch it off just for profiling easily. 31#CXXFLAGS+= ${G_SECTION_FLAGS} 32#CXXFLAGS+= -ffunction-sections -fdata-sections 33CXXFLAGS+= -fno-implicit-templates -fdiagnostics-show-location=once 34CPPFLAGS+= -I${DIST}/libstdc++-v3/include 35 36CONF= ${DIST}/libstdc++-v3/config 37 38#BUILDSYMLINKS+= ${CONF}/io/basic_file_stdio.cc basic_file.cc \ 39# ${CONF}/locale/generic/c_locale.cc c++locale.cc 40 41GLIBCPP_INCLUDE_DIR= ${DESTDIR}/usr/include/g++ 42 43COPTS.cp-demangle.c = -Wno-stack-protector 44COPTS.fstream-inst.cc = -Wno-stack-protector 45COPTS.locale-inst.cc = -Wno-stack-protector 46COPTS.misc-inst.cc = -Wno-stack-protector 47COPTS.ostream-inst.cc = -Wno-stack-protector 48COPTS.valarray-inst.cc = -Wno-stack-protector 49COPTS.wlocale-inst.cc = -Wno-stack-protector 50COPTS.concept-inst.cc= -D_GLIBCPP_CONCEPT_CHECKS -fimplicit-templates 51CPPFLAGS.strstream.cc= -I$(GLIBCPP_INCLUDE_DIR)/backward -Wno-deprecated 52 53# XXX 54MKDEPFLAGS+= -I$(GLIBCPP_INCLUDE_DIR)/backward 55 56.include <bsd.lib.mk> 57.include <bsd.subdir.mk> 58.include <bsd.info.mk> 59 60GLIBCXX_SRCDIR= ${DIST}/libstdc++-v3 61 62codecvt_members.cc: ${GLIBCXX_SRCDIR}/${G_CCODECVT_CC} 63 ${_MKTARGET_CREATE} 64 rm -f ${.TARGET} 65 ln -s ${GLIBCXX_SRCDIR}/${G_CCODECVT_CC} ${.TARGET} 66 67collate_members.cc: ${GLIBCXX_SRCDIR}/${G_CCOLLATE_CC} 68 ${_MKTARGET_CREATE} 69 rm -f ${.TARGET} 70 ln -s ${GLIBCXX_SRCDIR}/${G_CCOLLATE_CC} ${.TARGET} 71 72ctype_members.cc: ${GLIBCXX_SRCDIR}/${G_CCTYPE_CC} 73 ${_MKTARGET_CREATE} 74 rm -f ${.TARGET} 75 ln -s ${GLIBCXX_SRCDIR}/${G_CCTYPE_CC} ${.TARGET} 76 77messages_members.cc: ${GLIBCXX_SRCDIR}/${G_CMESSAGES_CC} 78 ${_MKTARGET_CREATE} 79 rm -f ${.TARGET} 80 ln -s ${GLIBCXX_SRCDIR}/${G_CMESSAGES_CC} ${.TARGET} 81 82monetary_members.cc: ${GLIBCXX_SRCDIR}/${G_CMONEY_CC} 83 ${_MKTARGET_CREATE} 84 rm -f ${.TARGET} 85 ln -s ${GLIBCXX_SRCDIR}/${G_CMONEY_CC} ${.TARGET} 86 87numeric_members.cc: ${GLIBCXX_SRCDIR}/${G_CNUMERIC_CC} 88 ${_MKTARGET_CREATE} 89 rm -f ${.TARGET} 90 ln -s ${GLIBCXX_SRCDIR}/${G_CNUMERIC_CC} ${.TARGET} 91 92time_members.cc: ${GLIBCXX_SRCDIR}/${G_CTIME_CC} 93 ${_MKTARGET_CREATE} 94 rm -f ${.TARGET} 95 ln -s ${GLIBCXX_SRCDIR}/${G_CTIME_CC} ${.TARGET} 96 97atomicity.cc: ${G_atomicity_file} 98 ${_MKTARGET_CREATE} 99 rm -f ${.TARGET} 100 ln -s ${G_atomicity_file} ${.TARGET} 101 102c++locale.cc: ${GLIBCXX_SRCDIR}/${G_CLOCALE_CC} 103 ${_MKTARGET_CREATE} 104 rm -f ${.TARGET} 105 ln -s ${GLIBCXX_SRCDIR}/${G_CLOCALE_CC} ${.TARGET} 106 107basic_file.cc: ${GLIBCXX_SRCDIR}/${G_BASIC_FILE_CC} 108 ${_MKTARGET_CREATE} 109 rm -f ${.TARGET} 110 ln -s ${GLIBCXX_SRCDIR}/${G_BASIC_FILE_CC} ${.TARGET} 111 112 113CLEANFILES+= atomicity.cc basic_file.cc c++locale.cc codecvt_members.cc 114CLEANFILES+= collate_members.cc ctype_members.cc messages_members.cc 115CLEANFILES+= monetary_members.cc numeric_members.cc time_members.cc 116 117${SRCS}: unwind.h 118unwind.h: ${G_UNWIND_H} 119 ${_MKTARGET_CREATE} 120 rm -f ${.TARGET} 121 ln -s ${G_UNWIND_H} ${.TARGET} 122CLEANFILES+= unwind.h 123 124.PATH: ${DIST}/libstdc++-v3/src \ 125 ${DIST}/libstdc++-v3/libmath \ 126 ${DIST}/libstdc++-v3/libsupc++ \ 127 ${DIST}/libiberty \ 128 ${CONF}/locale/generic \ 129 ${.CURDIR}/arch/${MACHINE_ARCH} 130 131${OBJS}: ${.CURDIR}/arch/${MACHINE_ARCH}/defs.mk 132.else 133.include <bsd.prog.mk> # do nothing 134.endif 135