1GCC_LANG_DIR= gcc/cp 2.include "../Makefile.langs" 3 4PROG= cc1plus 5NOMAN= 1 6NOSHARED?= yes 7 8# The cnfs.gperf file has a bug in the generator that is masked when built 9# with std=gnu89. Since gcc is built with this standard by default, the 10# gcc devs have never bothered to fix it. 11 12CSTD= gnu89 13 14# The compiler itself, modified from gcc/cp/Make-lang.in 15# Currently CXX_TARGET_OBJS is the same as C_TARGTET_OBJS, but to ensure this 16# code is future proof, rebuild the object files instead of using the object 17# files at ../cc1 18COMMOBJS= ${C_COMMON_OBJS:S/^/..\/cc1\//:.c=.o} \ 19 ../cc1/main.o \ 20 ../cc1/stub-objc.o \ 21 ../cc1/tree-mudflap.o 22CXX_C_SRC= attribs.c ${CXX_TARGET_OBJS} 23 24# Language-specific object files for C++ and Objective C++. 25CXX_AND_OBJCXX_OBJS= \ 26 call.c \ 27 decl.c \ 28 expr.c \ 29 pt.c \ 30 typeck2.c \ 31 class.c \ 32 decl2.c \ 33 error.c \ 34 lex.c \ 35 parser.c \ 36 ptree.c \ 37 rtti.c \ 38 typeck.c \ 39 cvt.c \ 40 except.c \ 41 friend.c \ 42 init.c \ 43 method.c \ 44 search.c \ 45 semantics.c \ 46 tree.c \ 47 repo.c \ 48 dump.c \ 49 optimize.c \ 50 mangle.c \ 51 cp-objcp-common.c \ 52 name-lookup.c \ 53 cxx-pretty-print.c \ 54 cp-gimplify.c 55FULLSRC= ${CXX_C_SRC} ${CXX_AND_OBJCXX_OBJS} cp-lang.c 56SRCS= ${FULLSRC} 57OBJS= ${COMMOBJS} cc1plus-checksum.o 58 59BACKEND= ${LIBBACKEND} ${LIBCOMMONTARG} ${LIBCOMMON} ${LIBCPP} ${LIBDECNUMBER} 60LDADD= ${BACKEND} ${LIBIBERTY} ${BACKENDLIBS} 61DPADD= ${BACKEND} ${LIBIBERTY} ${BACKENDLIBS} 62 63CFLAGS+= -DIN_GCC_FRONTEND 64 65checksum-options: 66 echo "${LD} ${LDFLAGS}" > ${.TARGET} 67 68cc1plus-checksum.o: ${COMMOBJS} ${FULLSRC:.c=.o} checksum-options 69 ${TOOLDIR}/genchecksum.nx ${COMMOBJS} ${FULLSRC:.c=.o} \ 70 ${BACKEND} checksum-options > ${.TARGET:.o=.c} 71 ${CC} ${CFLAGS} -c ${.TARGET:.o=.c} 72 73CLEANFILES+= cc1plus-checksum.* checksum-options 74 75.include <bsd.prog.mk> 76