Home | History | Annotate | Line # | Download | only in libstdc++-v3
Makefile revision 1.7
      1  1.7  mrg #	$NetBSD: Makefile,v 1.7 2017/07/23 01:12:10 mrg Exp $
      2  1.1  mrg 
      3  1.1  mrg REQUIRETOOLS=	yes
      4  1.1  mrg NOLINT=		# defined
      5  1.7  mrg UNSUPPORTED_COMPILER.clang=	# defined
      6  1.1  mrg 
      7  1.2  mrg .include <bsd.init.mk>
      8  1.1  mrg 
      9  1.1  mrg .include "Makefile.inc"
     10  1.1  mrg 
     11  1.1  mrg LIB=		stdc++
     12  1.1  mrg 
     13  1.1  mrg LIBDPLIBS+=	m ${.CURDIR}/../../../../../lib/libm
     14  1.1  mrg 
     15  1.5  mrg #COPTS+=		-pthread
     16  1.5  mrg #LDFLAGS+=	-pthread
     17  1.5  mrg .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
     18  1.5  mrg COPTS.random.cc+=	${${ACTIVE_CC} == "clang":? -mrdrnd :}
     19  1.5  mrg .endif
     20  1.5  mrg 
     21  1.5  mrg CXXFLAGS.clang+=	-stdlib=libstdc++ -std=c++11 -D_GLIBCXX_ABI_TAG_CXX11=
     22  1.5  mrg CXXFLAGS+=	${CXXFLAGS.${ACTIVE_CC}}
     23  1.1  mrg CWARNFLAGS.clang+=	-Wno-logical-op-parentheses \
     24  1.1  mrg 			-Wno-deprecated-writable-strings -Wno-parentheses
     25  1.1  mrg 
     26  1.5  mrg .include "${.CURDIR}/../libsupc++/Makefile.common"
     27  1.5  mrg 
     28  1.5  mrg .if exists(${.CURDIR}/arch/${LIBSTDCXX_MACHINE_ARCH}/defs.mk) && ${MKGCC} != "no"
     29  1.5  mrg .include "${.CURDIR}/arch/${LIBSTDCXX_MACHINE_ARCH}/defs.mk"
     30  1.1  mrg 
     31  1.1  mrg SHLIB_MAJOR=	7
     32  1.7  mrg SHLIB_MINOR=	4
     33  1.1  mrg 
     34  1.1  mrg SUBDIR=		include
     35  1.1  mrg 
     36  1.1  mrg SRCS=		${LIBSUPCXXSRCS} ${LIBSTDCXXSRCS}
     37  1.1  mrg # affects profiling; can't switch it off just for profiling easily.
     38  1.1  mrg #CXXFLAGS+=	${G_SECTION_FLAGS}
     39  1.1  mrg #CXXFLAGS+=	-ffunction-sections -fdata-sections 
     40  1.1  mrg CXXFLAGS+=	-fno-implicit-templates -fdiagnostics-show-location=once
     41  1.1  mrg CPPFLAGS+=	-I${DIST}/libstdc++-v3/include
     42  1.5  mrg CPPFLAGS+=	-I${.CURDIR}/arch/${LIBSTDCXX_MACHINE_ARCH}
     43  1.5  mrg # include backwards compatible code
     44  1.5  mrg CPPFLAGS+=     -D_GLIBCXX_SHARED -DGTHREAD_USE_WEAK -DSUPPORTS_WEAK
     45  1.1  mrg 
     46  1.1  mrg CONF=		${DIST}/libstdc++-v3/config
     47  1.1  mrg 
     48  1.1  mrg GLIBCPP_INCLUDE_DIR=	${DESTDIR}/usr/include/g++
     49  1.1  mrg 
     50  1.5  mrg # Template instantiation bug workaround for -O<2/s
     51  1.7  mrg COPTS.cp-demangle.c += -Wno-stack-protector
     52  1.7  mrg COPTS.cp-demangle.c += -Wno-stack-protector
     53  1.7  mrg COPTS.fstream-inst.cc += -Wno-stack-protector
     54  1.7  mrg COPTS.locale-inst.cc += -Wno-stack-protector
     55  1.7  mrg COPTS.misc-inst.cc += -Wno-stack-protector
     56  1.7  mrg COPTS.ostream-inst.cc += -Wno-stack-protector
     57  1.7  mrg COPTS.functexcept.cc += -Wno-stack-protector
     58  1.7  mrg COPTS.valarray-inst.cc += -Wno-stack-protector
     59  1.7  mrg COPTS.wlocale-inst.cc += -Wno-stack-protector
     60  1.7  mrg COPTS.snprintf_lite.cc += -Wno-stack-protector
     61  1.7  mrg # From system headers.
     62  1.7  mrg COPTS.cxx11-wlocale-inst.cc +=-Wno-stack-protector
     63  1.7  mrg COPTS.cxx11-locale-inst.cc +=-Wno-stack-protector
     64  1.7  mrg COPTS.cxx11-wlocale-inst.cc +=-Wno-stack-protector
     65  1.7  mrg COPTS.compatibility-thread-c++0x.cc += -Wno-deprecated-declarations
     66  1.7  mrg COPTS.concept-inst.cc += -fimplicit-templates
     67  1.7  mrg COPTS.hashtable_c++0x.cc += -fimplicit-templates
     68  1.7  mrg COPTS.bitmap_allocator.cc += -fimplicit-templates
     69  1.7  mrg COPTS.functexcept.cc += -Wno-deprecated-declarations
     70  1.7  mrg COPTS.future.cc += -Wno-deprecated-declarations
     71  1.7  mrg COPTS.shared_ptr.cc += -Wno-deprecated-declarations
     72  1.7  mrg COPTS.thread.cc += -Wno-deprecated-declarations
     73  1.7  mrg CPPFLAGS.strstream.cc += -I$(GLIBCPP_INCLUDE_DIR)/backward -Wno-deprecated
     74  1.1  mrg 
     75  1.1  mrg CPPFLAGS.cp-demangle.cc += -DIN_GLIBCPP_V3
     76  1.1  mrg CPPFLAGS.concept-inst.cc += -D_GLIBCXX_CONCEPT_CHECKS
     77  1.1  mrg CPPFLAGS.parallel_list.cc += -D_GLIBCXX_PARALLEL
     78  1.1  mrg CPPFLAGS.parallel_settings.cc += -D_GLIBCXX_PARALLEL
     79  1.1  mrg CPPFLAGS.compatibility-parallel_list.cc += -D_GLIBCXX_PARALLEL
     80  1.1  mrg 
     81  1.5  mrg cp-demangle.d cp-demangle.o: cp-demangle.h
     82  1.5  mrg 
     83  1.7  mrg .if ${MACHINE_ARCH} == "i386"
     84  1.7  mrg COPTS.random.cc += -Wno-error=psabi
     85  1.7  mrg COPTS.cow-string-inst.cc += -Wno-error=psabi
     86  1.7  mrg .endif
     87  1.7  mrg 
     88  1.1  mrg # XXX
     89  1.1  mrg MKDEPFLAGS+=	-I$(GLIBCPP_INCLUDE_DIR)/backward
     90  1.1  mrg 
     91  1.5  mrg GLIBCXX_SRCDIR=	${DIST}/libstdc++-v3
     92  1.5  mrg 
     93  1.5  mrg BUILDSYMLINKS+=	\
     94  1.5  mrg 	${GLIBCXX_SRCDIR}/${G_CCODECVT_CC} codecvt_members.cc \
     95  1.5  mrg 	${GLIBCXX_SRCDIR}/${G_CCOLLATE_CC} collate_members.cc \
     96  1.5  mrg 	${GLIBCXX_SRCDIR}/${G_CCTYPE_CC} ctype_members.cc \
     97  1.5  mrg 	${GLIBCXX_SRCDIR}/${G_CMESSAGES_CC} messages_members.cc \
     98  1.5  mrg 	${GLIBCXX_SRCDIR}/${G_CMONEY_CC} monetary_members.cc \
     99  1.5  mrg 	${GLIBCXX_SRCDIR}/${G_CNUMERIC_CC} numeric_members.cc \
    100  1.5  mrg 	${GLIBCXX_SRCDIR}/${G_CTIME_CC} time_members.cc \
    101  1.5  mrg 	${GLIBCXX_SRCDIR}/${G_ATOMICITY_SRCDIR}/atomicity.h atomicity.cc \
    102  1.5  mrg 	${GLIBCXX_SRCDIR}/${G_CLOCALE_CC} c++locale.cc \
    103  1.5  mrg 	${GLIBCXX_SRCDIR}/${G_BASIC_FILE_CC} basic_file.cc \
    104  1.5  mrg 	${DIST}/libiberty/cp-demangle.c cp-demangle.c \
    105  1.7  mrg 	${DIST}/libiberty/cp-demangle.h cp-demangle.h \
    106  1.7  mrg 	${GLIBCXX_SRCDIR}/${G_CCOLLATE_CC} collate_members_cow.cc \
    107  1.7  mrg 	${GLIBCXX_SRCDIR}/${G_CMESSAGES_CC} messages_members_cow.cc \
    108  1.7  mrg 	${GLIBCXX_SRCDIR}/${G_CMONEY_CC} monetary_members_cow.cc \
    109  1.7  mrg 	${GLIBCXX_SRCDIR}/${G_CNUMERIC_CC} numeric_members_cow.cc
    110  1.7  mrg 
    111  1.7  mrg # XXX both c++98 and c++11 have codecvt.cc files.
    112  1.7  mrg BUILDSYMLINKS+=	\
    113  1.7  mrg 	${GLIBCXX_SRCDIR}/src/c++98/codecvt.cc c98-codecvt.cc
    114  1.7  mrg BUILDSYMLINKS+=	\
    115  1.7  mrg 	${GLIBCXX_SRCDIR}/src/c++11/codecvt.cc c11-codecvt.cc
    116  1.7  mrg SRCS+=	c98-codecvt.cc c11-codecvt.cc
    117  1.5  mrg 
    118  1.5  mrg .if ${HAVE_LIBGCC_EH} == "no"
    119  1.5  mrg G_CONFIGLINKS:= ${G_CONFIGLINKS:S,libgcc/config/arm/unwind-arm.h,libgcc/unwind-generic.h,}
    120  1.5  mrg .endif
    121  1.5  mrg 
    122  1.5  mrg .if ${MKGCC} != "no"
    123  1.5  mrg .if defined(G_CONFIGLINKS) && !empty(G_CONFIGLINKS)
    124  1.5  mrg BUILDSYMLINKS+=        ${G_CONFIGLINKS}
    125  1.5  mrg .for _src _dst in ${G_CONFIGLINKS}
    126  1.5  mrg DPSRCS+=       ${_dst}
    127  1.5  mrg .endfor
    128  1.5  mrg .endif
    129  1.5  mrg .endif
    130  1.5  mrg 
    131  1.7  mrg # XXX Make this either/or,  not one, and maybe another
    132  1.7  mrg .for _s in ${SRCS:M*.cc}
    133  1.7  mrg COPTS.${_s}+= -std=gnu++11
    134  1.7  mrg .endfor
    135  1.7  mrg .for _s in ${G_CPP98_SOURCES:Nlocalename.cc:Nlocale_init.cc:M*.cc}
    136  1.7  mrg COPTS.${_s}+= -std=gnu++98
    137  1.7  mrg .endfor
    138  1.7  mrg 
    139  1.7  mrg COPTS.del_ops.cc += -Wno-c++14-compat
    140  1.7  mrg COPTS.del_opvs.cc += -Wno-c++14-compat
    141  1.7  mrg COPTS.cp-demangle.c += -Wno-unused-function
    142  1.7  mrg 
    143  1.7  mrg .for f in collate_members_cow \
    144  1.7  mrg 	  messages_members_cow \
    145  1.7  mrg           monetary_members_cow \
    146  1.7  mrg 	  numeric_members_cow
    147  1.7  mrg COPTS.${f}.cc+= -fimplicit-templates ${G_GLIBCXX_ABI_FLAGS}
    148  1.5  mrg .endfor
    149  1.5  mrg 
    150  1.1  mrg .include <bsd.lib.mk>
    151  1.1  mrg .include <bsd.subdir.mk>
    152  1.1  mrg .include <bsd.info.mk>
    153  1.1  mrg 
    154  1.1  mrg .PATH:	${DIST}/libstdc++-v3/src \
    155  1.5  mrg 	${DIST}/libstdc++-v3/src/c++98 \
    156  1.5  mrg 	${DIST}/libstdc++-v3/src/c++11 \
    157  1.1  mrg 	${DIST}/libstdc++-v3/libsupc++ \
    158  1.5  mrg 	${DIST}/libstdc++-v3/config/os/bsd/netbsd \
    159  1.1  mrg 	${CONF}/locale/generic \
    160  1.5  mrg 	${.CURDIR}/arch/${LIBSTDCXX_MACHINE_ARCH}
    161  1.1  mrg 
    162  1.5  mrg ${OBJS}: ${.CURDIR}/arch/${LIBSTDCXX_MACHINE_ARCH}/defs.mk
    163  1.1  mrg .else
    164  1.1  mrg .include <bsd.prog.mk> # do nothing
    165  1.1  mrg .endif
    166