1 # $NetBSD: Makefile,v 1.13 2025/09/07 04:12:24 mrg Exp $ 2 3 .include <bsd.init.mk> 4 5 .include "${.CURDIR}/../../arch/${GCC_MACHINE_ARCH}/defs.mk" 6 7 .cc: # disable .cc->NULL transform 8 9 GNUHOSTDIST= ${DIST} 10 11 GTHRINCS= gthr.h gthr-single.h gthr-posix.h 12 13 BUILDINCS= basic_file.h c++allocator.h c++io.h c++locale.h 14 BUILDINCS+= messages_members.h time_members.h opt_random.h 15 BUILDINCS+= ${GTHRINCS} 16 17 INCS= ${G_bits_headers} ${G_c_base_headers_extra} ${G_host_headers} 18 INCS+= ${BUILDINCS} 19 20 # These are handled with special rules 21 #INCS+= ${G_bits_host_headers} ${G_host_headers_extra} 22 23 # libsupc++ 24 # XXX use bits_sup_headers from libstdc++/include/Makefile.am 25 INCS+= atomic_lockfree_defines.h \ 26 cxxabi_forced.h \ 27 cxxabi_init_exception.h \ 28 exception.h \ 29 exception_defines.h \ 30 exception_ptr.h \ 31 hash_bytes.h \ 32 nested_exception.h 33 34 # Build the gthr*.h files 35 gthr.h: ${DIST}/libgcc/gthr.h Makefile 36 ${TOOL_SED} \ 37 -e '/^#pragma/b' \ 38 -e '/^#/s/\([A-Z_][A-Z_]*\)/_GLIBCXX_\1/g' \ 39 -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ 40 -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ 41 -e 's,^#include "\(.*\)",#include <bits/\1>,g' \ 42 < ${DIST}/libgcc/gthr.h > ${.TARGET}.tmp && mv ${.TARGET}.tmp ${.TARGET} 43 44 gthr-single.h: ${DIST}/libgcc/gthr-single.h Makefile 45 ${TOOL_SED} \ 46 -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \ 47 -e 's/\(GCC[A-Z_]*_H\)/_GLIBCXX_\1/g' \ 48 < ${DIST}/libgcc/gthr-single.h > ${.TARGET}.tmp && mv ${.TARGET}.tmp ${.TARGET} 49 50 gthr-posix.h: ${DIST}/libgcc/gthr-posix.h Makefile 51 ${TOOL_SED} \ 52 -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \ 53 -e 's/\(GCC[A-Z_]*_H\)/_GLIBCXX_\1/g' \ 54 -e 's/SUPPORTS_WEAK/__GXX_WEAK__/g' \ 55 -e 's/\([A-Z_]*USE_WEAK\)/_GLIBCXX_\1/g' \ 56 < ${DIST}/libgcc/gthr-posix.h > ${.TARGET}.tmp && mv ${.TARGET}.tmp ${.TARGET} 57 58 .for _f in ${GTHRINCS} 59 CLEANFILES+= ${.TARGET} ${.TARGET}.tmp 60 .endfor 61 62 .if ${MKCOMPAT} != no && !empty(MACHINE_ARCH:M*64*) 63 SUBDIR+= arch 64 .else 65 INCS+= c++config.h 66 .endif 67 68 INCSDIR= /usr/include/g++/bits 69 70 INCSYMLINKS+= gthr-posix.h ${INCSDIR}/gthr-default.h 71 72 .include "${.CURDIR}/../Makefile.includes" 73 74 CLEANFILES+= ${BUILDINCS} 75 76 CXXDIST= ${DIST}/libstdc++-v3 77 COPYHEADERS= \ 78 opt_random.h ${CXXDIST}/${G_CPU_OPT_BITS_RANDOM} \ 79 basic_file.h ${CXXDIST}/${G_BASIC_FILE_H} \ 80 c++allocator.h ${CXXDIST}/${G_ALLOCATOR_H} \ 81 c++locale.h ${CXXDIST}/${G_CLOCALE_H} \ 82 c++io.h ${CXXDIST}/${G_CSTDIO_H} \ 83 messages_members.h ${CXXDIST}/${G_CMESSAGES_H} \ 84 time_members.h ${CXXDIST}/${G_CTIME_H} 85 86 .for _h _s in ${COPYHEADERS} 87 ${_h}: ${_s} 88 cp -pf ${.ALLSRC} ${.TARGET} 89 .endfor 90 91 .PATH: ${.CURDIR}/../../arch/${GCC_MACHINE_ARCH} \ 92 ${DIST}/libstdc++-v3/include \ 93 ${DIST}/libstdc++-v3/config \ 94 ${DIST}/libstdc++-v3/ \ 95 ${DIST}/libstdc++-v3/libsupc++ 96 97 .include <bsd.subdir.mk> 98