1# $NetBSD: Makefile,v 1.5 2024/06/30 16:15:03 christos 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. 7G_CXX_AND_OBJCXX_OBJS= ${G_CXX_OBJS:S,cp-lang.o,,:S,c-family/stub-objc.o,,} 8G_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 20BUILDSYMLINKS+= ${DIST}/gcc/objc/objc-act.cc objcp-act.cc \ 21 ${DIST}/gcc/objc/objc-lang.cc objcp-lang.cc 22 23MYOBJS= ${G_OBJCXX_OBJS} 24MY2OBJS= ${MYOBJS:S,objcp/,,:S,objc/,,:S,cp/,,:S,c-family/,,:S,c/,,} 25PROG= cc1objplus 26SRCS= ${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} 27SRCS+= main.cc ${PROG}-checksum.cc 28 29 30CPPFLAGS+= -I${DIST}/gcc/objc 31CPPFLAGS+= -I${DIST}/gcc/objcp 32CPPFLAGS+= -I${DIST}/gcc/cp 33CPPFLAGS+= -DOBJCPLUS 34CPPFLAGS.prefix.cc+= -DPREFIX=\"/usr\" 35CPPFLAGS.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 44CHECKSUM_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 58CFLAGS+=-Wno-error=stack-protector 59 60COPTS.c-ada-spec.cc+= -Wno-error=stack-protector 61COPTS.c-attribs.cc+= -Wno-error=stack-protector 62COPTS.c-aux-info.cc+= -Wno-error=stack-protector 63COPTS.c-common.cc+= -Wno-error=stack-protector 64COPTS.c-cppbuiltin.cc+= -Wno-error=stack-protector 65COPTS.c-decl.cc+= -Wno-error=stack-protector 66COPTS.c-format.cc+= -Wno-error=stack-protector 67COPTS.c-lex.cc+= -Wno-error=stack-protector 68COPTS.c-omp.cc+= -Wno-error=stack-protector 69COPTS.c-ppoutput.cc+= -Wno-error=stack-protector 70COPTS.c-pretty-print.cc+= -Wno-error=stack-protector 71COPTS.c-pragma.cc+= -Wno-error=stack-protector 72COPTS.c-typeck.cc+= -Wno-error=stack-protector 73COPTS.objc-act.cc+= -Wno-error=stack-protector 74COPTS.objc-gnu-runtime-abi-01.cc+= -Wno-error=stack-protector 75COPTS.objc-next-runtime-abi-01.cc+= -Wno-error=stack-protector 76 77.if ${MACHINE_ARCH} == "vax" && 0 78COPTS.c-decl.c+=-O0 79COPTS.c-typeck.c+=-O0 80COPTS.c-array-notation.c+=-O0 81COPTS.c-common.c+=-O0 82COPTS.c-ada-spec.c+=-O0 83COPTS.cilk.c+=-O0 84COPTS.c-ubsan.c+=-O0 85COPTS.cc1obj-checksum.c+=-O0 86COPTS.decl.c+=-O0 87.endif 88 89.if ${MACHINE_ARCH} == "mipseb" || ${MACHINE_ARCH} == "mipsel" 90#COPTS.c-common.cc+=-O3 91.endif 92 93LDADD+= ${LIBMPC} ${LIBMPFR} ${LIBGMP} -lintl -lz -lm 94DPADD+= ${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