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