add MKDEPCXX, that is used for C++ files depend creation. also

add some missing ${COPTS.${.IMPSRC:T}} and ${CPUFLAGS.${.IMPSRC:T}}
to the dependancy rules.

this makes it possible to have C++ files .d files created with the
C++ compiler, and with the normal options for this file, which
means that we can build libstdc++-v3 from gcc 4.8.
This commit is contained in:
mrg 2013-10-28 01:47:13 +00:00
parent a078c85622
commit 27d21cc6e9
4 changed files with 18 additions and 9 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: bsd.README,v 1.320 2013/09/29 14:36:25 christos Exp $
# $NetBSD: bsd.README,v 1.321 2013/10/28 01:47:13 mrg Exp $
# @(#)bsd.README 8.2 (Berkeley) 4/2/94
This is the README file for the make "include" files for the NetBSD
@ -1809,6 +1809,8 @@ MAKE make(1). [make]
MKDEP Construct Makefile dependency list. [mkdep]
MKDEPCXX Construct Makefile dependency list for C++ files. [mkdep]
NM List symbols from object files. [nm]
PC Pascal compiler. [pc] (Not present)

View File

@ -1,4 +1,4 @@
# $NetBSD: bsd.dep.mk,v 1.77 2013/03/05 21:59:01 christos Exp $
# $NetBSD: bsd.dep.mk,v 1.78 2013/10/28 01:47:13 mrg Exp $
##### Basic targets
realdepend: beforedepend .depend afterdepend
@ -8,6 +8,7 @@ beforedepend .depend afterdepend: # ensure existence
##### Default values
MKDEP?= mkdep
MKDEPCXX?= mkdep
MKDEP_SUFFIXES?= .o
##### Build rules
@ -61,25 +62,29 @@ _MKDEP_FILEFLAGS=
${_MKTARGET_CREATE}
${MKDEP} -f ${.TARGET} ${_MKDEP_FILEFLAGS} -- ${MKDEPFLAGS} \
${CFLAGS:C/-([IDU])[ ]*/-\1/Wg:M-[IDU]*} \
${CPPFLAGS} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC}
${CPPFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} \
${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC}
.m.d:
${_MKTARGET_CREATE}
${MKDEP} -f ${.TARGET} ${_MKDEP_FILEFLAGS} -- ${MKDEPFLAGS} \
${OBJCFLAGS:C/-([IDU])[ ]*/-\1/Wg:M-[IDU]*} \
${CPPFLAGS} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC}
${CPPFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} \
${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC}
.s.d .S.d:
${_MKTARGET_CREATE}
${MKDEP} -f ${.TARGET} ${_MKDEP_FILEFLAGS} -- ${MKDEPFLAGS} \
${AFLAGS:C/-([IDU])[ ]*/-\1/Wg:M-[IDU]*} \
${CPPFLAGS} ${CPPFLAGS.${.IMPSRC:T}} ${__acpp_flags} ${.IMPSRC}
${CPPFLAGS} ${AFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} \
${__acpp_flags} ${.IMPSRC}
.C.d .cc.d .cpp.d .cxx.d:
${_MKTARGET_CREATE}
${MKDEP} -f ${.TARGET} ${_MKDEP_FILEFLAGS} -- ${MKDEPFLAGS} \
${MKDEPCXX} -f ${.TARGET} ${_MKDEP_FILEFLAGS} -- ${MKDEPFLAGS} \
${CXXFLAGS:C/-([IDU])[ ]*/-\1/Wg:M-[IDU]*} \
${CPPFLAGS} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC}
${CPPFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} \
${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC}
.endif # defined(SRCS) && !empty(SRCS) # }

View File

@ -1,4 +1,4 @@
# $NetBSD: bsd.own.mk,v 1.753 2013/10/14 16:00:16 joerg Exp $
# $NetBSD: bsd.own.mk,v 1.754 2013/10/28 01:47:13 mrg Exp $
# This needs to be before bsd.init.mk
.if defined(BSD_MK_COMPAT_FILE)
@ -271,6 +271,7 @@ LEX= ${TOOLDIR}/bin/${_TOOL_PREFIX}lex
LINT= CC=${CC:Q} ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-lint
LORDER= NM=${NM:Q} MKTEMP=${TOOL_MKTEMP:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}lorder
MKDEP= CC=${CC:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}mkdep
MKDEPCXX= CC=${CXX:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}mkdep
PAXCTL= ${TOOLDIR}/bin/${_TOOL_PREFIX}paxctl
TSORT= ${TOOLDIR}/bin/${_TOOL_PREFIX}tsort -q
YACC= ${TOOLDIR}/bin/${_TOOL_PREFIX}yacc

View File

@ -1,4 +1,4 @@
# $NetBSD: bsd.sys.mk,v 1.228 2013/10/26 03:26:57 mrg Exp $
# $NetBSD: bsd.sys.mk,v 1.229 2013/10/28 01:47:13 mrg Exp $
#
# Build definitions used for NetBSD source tree builds.
@ -176,6 +176,7 @@ HOST_SH?= /bin/sh
ELF2ECOFF?= elf2ecoff
MKDEP?= mkdep
MKDEPCXX?= mkdep
OBJCOPY?= objcopy
OBJDUMP?= objdump
PAXCTL?= paxctl