1# $NetBSD: Makefile,v 1.14 2021/05/30 01:57:00 joerg Exp $ 2 3LIB= c++ 4WARNS= 4 5NOLINT= # defined 6 7.include <bsd.init.mk> 8 9.PATH: ${LIBCXX_SRCDIR}/src 10 11SRCS= algorithm.cpp bind.cpp charconv.cpp chrono.cpp condition_variable.cpp \ 12 condition_variable_destructor.cpp debug.cpp exception.cpp format.cpp \ 13 functional.cpp future.cpp hash.cpp ios.cpp ios.instantiations.cpp \ 14 iostream.cpp locale.cpp memory.cpp mutex.cpp mutex_destructor.cpp \ 15 new.cpp optional.cpp random.cpp random_shuffle.cpp regex.cpp \ 16 shared_mutex.cpp stdexcept.cpp string.cpp strstream.cpp \ 17 system_error.cpp thread.cpp utility.cpp valarray.cpp variant.cpp \ 18 vector.cpp 19 20.PATH: ${LIBCXX_SRCDIR}/src/filesystem 21SRCS+= directory_iterator.cpp operations.cpp 22 23# typeinfo.cc: prefer libcxxrt's version 24 25LIBCXXRT_SRCS+= \ 26 auxhelper.cc dynamic_cast.cc exception.cc guard.cc \ 27 stdexcept.cc terminate.cc typeinfo.cc libelftc_dem_gnu3.c 28# cxa_atexit.c: Solaris-only 29# memory.cc: already provided by libc++'s new.cpp 30 31.for src in ${LIBCXXRT_SRCS} 32rt_${src}: ${LIBCXXRT_SRCDIR}/src/${src} 33 cp ${LIBCXXRT_SRCDIR}/src/${src} rt_${src} 34 35SRCS+= rt_${src} 36DPSRCS+= rt_${src} 37CLEANFILES+= rt_${src} 38.endfor 39 40.include <bsd.own.mk> 41 42CPPFLAGS+= -nostdinc++ -cxx-isystem ${LIBCXX_SRCDIR}/include 43CPPFLAGS+= -cxx-isystem ${.CURDIR}/../include -I${LIBCXXRT_SRCDIR}/src 44CPPFLAGS+= -DLIBCXXRT -D_LIBCPP_BUILDING_LIBRARY 45CXXFLAGS+= -std=gnu++17 46 47CWARNFLAGS.gcc+= -Wno-error 48 49CWARNFLAGS.clang+= -Wno-error=unused-variable -Wno-error=missing-noreturn 50CWARNFLAGS.clang+= -Wno-error=missing-prototypes -Wno-error=sometimes-uninitialized 51CWARNFLAGS.clang+= -Wno-error=missing-field-initializers -Wno-error=switch 52CWARNFLAGS.clang+= -Wno-error=implicit-exception-spec-mismatch -Wno-error=format-nonliteral -Wno-error=format-security 53 54.if ${MKSANITIZER} != "yes" 55LDFLAGS+= -Wl,-z,defs 56.endif 57 58.if !empty(MACHINE_ARCH:Marm*) || !empty(MACHINE_ARCH:Mearm*) 59CWARNFLAGS+= -Wno-atomic-alignment 60.endif 61 62.include <bsd.lib.mk> 63