1# If we defined SRCS, the mkdep fails because it evaluates files with .c
2# extension with cc instead of c++ (go figure).  To avoid that, we need
3# to define OBJS directly
4
5TOP_PREFIX=	../../
6
7.include "../../../Makefile.inc"
8.include "../../../Makefile.langs"
9
10PROG_CXX=	cc1
11NOMAN=		yes
12NOSHARED?=	yes
13
14C_OBJS=		c/c-lang.o c/stub-objc.o
15CXXXX_OBJS=	${C_OBJS:T}
16OBJS=		${CXXXX_OBJS} cc1-checksum.o
17SRCS=
18
19GUTS=		../../guts/guts-c/libguts-c.a \
20		../../guts/guts-common/libguts-common.a \
21		../../guts/guts-target/libguts-target.a
22BACKEND=	${LIBBACKEND} ${LIBCOMMONTARG} ${LIBCOMMON} \
23		${LIBCPP} ${LIBDECNUMBER}
24LIBS=		${LIBCOMMON} ${LIBCPP} ${LIBBACKTRACE} ${LIBIBERTY} \
25		${LIBDECNUMBER}
26LDADD=		${GUTS} ${BACKEND} ${LIBS} ${BACKENDLIBS}
27DPADD=		${GUTS} ${BACKEND} ${LIBS} ${BACKENDLIBS}
28
29checksum-options:
30	echo "${LD} ${LDFLAGS}" > ${.TARGET}
31
32cc1-checksum.c: ${CXXXX_OBJS} ${GUTS} ${BACKEND} checksum-options
33	${TOOLDIR}/genchecksum.nx ${CXXXX_OBJS} ${GUTS} ${BACKEND} \
34	    checksum-options > ${.TARGET}
35
36# hack to force c++ compiler to compile *.c files to create library
37.for ofile in ${OBJS}
38${ofile}: ${ofile:.o=.c}
39	${CXX} ${STATIC_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
40.endfor
41
42cc1-checksum.o: cc1-checksum.c
43
44CLEANFILES=	cc1-checksum.* checksum-options
45
46.include <bsd.prog.mk>
47