xref: /dragonfly/gnu/usr.bin/cc80/backends/programs/cc1/Makefile (revision 2233c95bde434daa782d51440e2219ed852a02dd)
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