1 # $NetBSD: Makefile,v 1.4 2025/09/07 04:12:29 mrg Exp $ 2 3 # XXX: Pull this (G_OBJCXX_OBJS) out with mknative-gcc. Needs some 4 # minor re-org of cc1plus and perhaps cc1obj. G_CXX_AND_OBJCXX_OBJS 5 # is reverse-derived from G_CXX_OBJS for now - when G_OBJCXX_OBJS is 6 # pulled out by mknative-gcc, it will include G_CXX_AND_OBJCXX_OBJS. 7 G_CXX_AND_OBJCXX_OBJS= ${G_CXX_OBJS:S,cp-lang.o,,:S,c-family/stub-objc.o,,} 8 G_OBJCXX_OBJS= \ 9 objcp-act.o \ 10 objcp-lang.o \ 11 objcp/objcp-decl.o \ 12 objcp/objc-runtime-shared-support.o \ 13 objcp/objc-gnu-runtime-abi-01.o \ 14 objcp/objc-next-runtime-abi-01.o \ 15 objcp/objc-next-runtime-abi-02.o \ 16 objcp/objc-encoding.o \ 17 objcp/objc-map.o \ 18 ${G_CXX_AND_OBJCXX_OBJS} 19 20 BUILDSYMLINKS+= ${DIST}/gcc/objc/objc-act.cc objcp-act.cc \ 21 ${DIST}/gcc/objc/objc-lang.cc objcp-lang.cc 22 23 MYOBJS= ${G_OBJCXX_OBJS} 24 MY2OBJS= ${MYOBJS:S,objcp/,,:S,objc/,,:S,cp/,,:S,c-family/,,:S,c/,,} 25 PROG= cc1objplus 26 SRCS= ${MY2OBJS:S,known-headers.o,known-headers.cc,:S,c-spellcheck.o,c-spellcheck.cc,:S,constraint.o,constraint.cc,:S,logic.o,logic.cc,:S,coroutines.o,coroutines.cc,:Nlibcpp.a:.o=.cc} 27 SRCS+= main.cc ${PROG}-checksum.cc 28 29 30 CPPFLAGS+= -I${DIST}/gcc/objc 31 CPPFLAGS+= -I${DIST}/gcc/objcp 32 CPPFLAGS+= -I${DIST}/gcc/cp 33 CPPFLAGS+= -DOBJCPLUS 34 CPPFLAGS.prefix.cc+= -DPREFIX=\"/usr\" 35 CPPFLAGS.module.cc+= -DTARGET_MACHINE=\"${MACHINE_GNU_PLATFORM}\" \ 36 -DHOST_MACHINE=\"${MACHINE_GNU_PLATFORM}\" 37 38 .include "../Makefile.backend" 39 .include "../Makefile.backtrace" 40 .include "../Makefile.libcody" 41 .include "../Makefile.libcpp" 42 .include "../Makefile.libdecnumber" 43 44 CHECKSUM_OBJS= ${BACKENDOBJ}/libbackend.a \ 45 main.o \ 46 ${LIBBACKTRACEOBJ}/libbacktrace.a \ 47 ${COMMONTARGETOBJ}/libcommon-target.a \ 48 ${COMMONOBJ}/libcommon.a \ 49 ${LIBCPPOBJ}/libcpp.a \ 50 ${LIBDECNUMBEROBJ}/libdecnumber.a \ 51 ${LIBIBERTYOBJ}/libiberty.a \ 52 ${MY2OBJS} \ 53 checksum-options 54 55 .include "../Makefile.checksum" 56 57 # XXX: like cc1plus 58 CFLAGS+=-Wno-error=stack-protector 59 60 COPTS.c-ada-spec.cc+= -Wno-error=stack-protector 61 COPTS.c-attribs.cc+= -Wno-error=stack-protector 62 COPTS.c-aux-info.cc+= -Wno-error=stack-protector 63 COPTS.c-common.cc+= -Wno-error=stack-protector 64 COPTS.c-cppbuiltin.cc+= -Wno-error=stack-protector 65 COPTS.c-decl.cc+= -Wno-error=stack-protector 66 COPTS.c-format.cc+= -Wno-error=stack-protector 67 COPTS.c-lex.cc+= -Wno-error=stack-protector 68 COPTS.c-omp.cc+= -Wno-error=stack-protector 69 COPTS.c-ppoutput.cc+= -Wno-error=stack-protector 70 COPTS.c-pretty-print.cc+= -Wno-error=stack-protector 71 COPTS.c-pragma.cc+= -Wno-error=stack-protector 72 COPTS.c-typeck.cc+= -Wno-error=stack-protector 73 COPTS.objc-act.cc+= -Wno-error=stack-protector 74 COPTS.objc-gnu-runtime-abi-01.cc+= -Wno-error=stack-protector 75 COPTS.objc-next-runtime-abi-01.cc+= -Wno-error=stack-protector 76 77 .if ${MACHINE_ARCH} == "vax" && 0 78 COPTS.c-decl.c+=-O0 79 COPTS.c-typeck.c+=-O0 80 COPTS.c-array-notation.c+=-O0 81 COPTS.c-common.c+=-O0 82 COPTS.c-ada-spec.c+=-O0 83 COPTS.cilk.c+=-O0 84 COPTS.c-ubsan.c+=-O0 85 COPTS.cc1obj-checksum.c+=-O0 86 COPTS.decl.c+=-O0 87 .endif 88 89 .if ${MACHINE_ARCH} == "mipseb" || ${MACHINE_ARCH} == "mipsel" 90 #COPTS.c-common.cc+=-O3 91 .endif 92 93 LDADD+= ${LIBMPC} ${LIBMPFR} ${LIBGMP} -lintl -lz -lm 94 DPADD+= ${LIBMPC} ${LIBMPFR} ${LIBGMP} ${LIBINTL} ${LIBZ} ${LIBM} 95 96 .PATH: ${DIST}/gcc/objcp ${DIST}/gcc/objc ${DIST}/gcc/c ${DIST}/gcc/c-family 97 .PATH: ${DIST}/gcc/cp ${DIST}/gcc ${DIST}/gcc/config 98 .PATH: ${G_out_file:H} 99