Makefile revision 1.4.2.1 1 # $NetBSD: Makefile,v 1.4.2.1 2024/07/01 01:01:06 perseant 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