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