xref: /netbsd-src/external/gpl3/gcc/usr.bin/cc1objplus/Makefile (revision 7c8fb5cbe286f334466d6794a270beffe0beb5bc)
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