version 1.269.2.2, 2012/04/17 00:05:50 |
version 1.270.2.1, 2012/03/02 18:27:55 |
|
|
# Per-program definitions and targets. |
# Per-program definitions and targets. |
# |
# |
|
|
_CCLINK.CDEFAULT= ${CC} ${_CCLINKFLAGS} |
|
# Definitions specific to C programs. |
# Definitions specific to C programs. |
.for _P in ${PROGS} |
.for _P in ${PROGS} |
SRCS.${_P}?= ${_P}.c |
SRCS.${_P}?= ${_P}.c |
_CCLINK.${_P}= ${CC} ${_CCLINKFLAGS} |
_CCLINK.${_P}= ${CC} ${_CCLINKFLAGS} |
_CFLAGS.${_P}= ${CFLAGS} ${CPUFLAGS} |
|
_CPPFLAGS.${_P}= ${CPPFLAGS} |
|
_COPTS.${_P}= ${COPTS} |
|
.endfor |
.endfor |
|
|
_CCLINK.CXXDEFAULT= ${CXX} ${_CCLINKFLAGS} |
|
# Definitions specific to C++ programs. |
# Definitions specific to C++ programs. |
.for _P in ${PROGS_CXX} |
.for _P in ${PROGS_CXX} |
SRCS.${_P}?= ${_P}.cc |
SRCS.${_P}?= ${_P}.cc |
Line 401 _LDSTATIC.${_P}= ${LDSTATIC} ${LDSTATIC. |
|
Line 396 _LDSTATIC.${_P}= ${LDSTATIC} ${LDSTATIC. |
|
|
|
##### Build and install rules |
##### Build and install rules |
.if !empty(_APPEND_SRCS:M[Yy][Ee][Ss]) |
.if !empty(_APPEND_SRCS:M[Yy][Ee][Ss]) |
SRCS+= ${SRCS.${_P}} # For bsd.dep.mk |
SRCS+= ${SRCS.${_P}} # For bsd.dep.mk |
.endif |
.endif |
|
|
_YPSRCS.${_P}= ${SRCS.${_P}:M*.[ly]:C/\..$/.c/} ${YHEADER:D${SRCS.${_P}:M*.y:.y=.h}} |
_YPSRCS.${_P}= ${SRCS.${_P}:M*.[ly]:C/\..$/.c/} ${YHEADER:D${SRCS.${_P}:M*.y:.y=.h}} |
Line 417 LOBJS.${_P}+= ${LSRCS:.c=.ln} ${SRCS.${_ |
|
Line 412 LOBJS.${_P}+= ${LSRCS:.c=.ln} ${SRCS.${_ |
|
.if defined(OBJS.${_P}) && !empty(OBJS.${_P}) # { |
.if defined(OBJS.${_P}) && !empty(OBJS.${_P}) # { |
.NOPATH: ${OBJS.${_P}} ${_P} ${_YPSRCS.${_P}} |
.NOPATH: ${OBJS.${_P}} ${_P} ${_YPSRCS.${_P}} |
|
|
.if (defined(USE_COMBINE) && ${USE_COMBINE} != "no" && !commands(${_P}) \ |
|
&& (${_CCLINK.${_P}} == ${_CCLINK.CDEFAULT} \ |
|
|| ${_CCLINK.${_P}} == ${_CCLINK.CXXDEFAULT}) \ |
|
&& !defined(NOCOMBINE.${_P}) && !defined(NOCOMBINE)) |
|
.for f in ${SRCS.${_P}:N*.h:N*.sh:N*.fth:C/\.[yl]$/.c/g} |
|
#_XFLAGS.$f := ${CPPFLAGS.$f:D1} ${CPUFLAGS.$f:D2} \ |
|
# ${COPTS.$f:D3} ${OBJCOPTS.$f:D4} ${CXXFLAGS.$f:D5} |
|
.if (${CPPFLAGS.$f:D1} == "1" || ${CPUFLAGS.$f:D2} == "2" \ |
|
|| ${COPTS.$f:D3} == "3" || ${OBJCOPTS.$f:D4} == "4" \ |
|
|| ${CXXFLAGS.$f:D5} == "5") \ |
|
|| ("${f:M*.[cyl]}" == "" || commands(${f:R:S/$/.o/})) |
|
XOBJS.${_P}+= ${f:R:S/$/.o/} |
|
.else |
|
XSRCS.${_P}+= ${f} |
|
NODPSRCS+= ${f} |
|
.endif |
|
.endfor |
|
|
|
${_P}: .gdbinit ${LIBCRT0} ${XOBJS.${_P}} ${SRCS.${_P}} ${DPSRCS} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${DPADD} |
|
${_MKTARGET_LINK} |
|
.if defined(DESTDIR) |
|
${_CCLINK.${_P}} -Wl,-nostdlib \ |
|
${_LDFLAGS.${_P}} ${_LDSTATIC.${_P}} -o ${.TARGET} ${_PROGLDOPTS} \ |
|
-B${_GCC_CRTDIR}/ -B${DESTDIR}/usr/lib/ \ |
|
-MD --combine ${_CPPFLAGS.${_P}} ${_CFLAGS.${_P}} ${_COPTS.${_P}} \ |
|
${XSRCS.${_P}:@.SRC.@${.ALLSRC:M*.c:M*${.SRC.}}@:O:u} ${XOBJS.${_P}} \ |
|
${_LDADD.${_P}} -L${_GCC_LIBGCCDIR} -L${DESTDIR}/usr/lib |
|
.else |
|
${_CCLINK.${_P}} ${_LDFLAGS.${_P}} ${_LDSTATIC.${_P}} -o ${.TARGET} ${_PROGLDOPTS} \ |
|
-MD --combine ${_CPPFLAGS.${_P}} ${_COPTS.${_P}} |
|
${XSRCS.${_P}:@.SRC.@${.ALLSRC:M*.c:M*${.SRC.}}@:O:u} ${XOBJS.${_P}} \ |
|
${_LDADD.${_P}} |
|
.endif # defined(DESTDIR) |
|
.if defined(CTFMERGE) |
|
${CTFMERGE} ${CTFMFLAGS} -o ${.TARGET} ${OBJS.${_P}} |
|
.endif |
|
.if defined(PAXCTL_FLAGS.${_P}) |
|
${PAXCTL} ${PAXCTL_FLAGS.${_P}} ${.TARGET} |
|
.endif |
|
.if ${MKSTRIPIDENT} != "no" |
|
${OBJCOPY} -R .ident ${.TARGET} |
|
.endif |
|
|
|
CLEANFILES+= ${_P}.d |
|
.if exists(${_P}.d) |
|
.include "${_P}.d" # include -MD depend for program. |
|
.endif |
|
.else # USE_COMBINE |
|
|
|
${OBJS.${_P}} ${LOBJS.${_P}}: ${DPSRCS} |
${OBJS.${_P}} ${LOBJS.${_P}}: ${DPSRCS} |
|
|
${_P}: .gdbinit ${LIBCRT0} ${OBJS.${_P}} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${DPADD} |
${_P}: .gdbinit ${LIBCRT0} ${OBJS.${_P}} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${DPADD} |
Line 485 ${_P}: .gdbinit ${LIBCRT0} ${OBJS.${_P}} |
|
Line 431 ${_P}: .gdbinit ${LIBCRT0} ${OBJS.${_P}} |
|
${OBJCOPY} -R .ident ${.TARGET} |
${OBJCOPY} -R .ident ${.TARGET} |
.endif |
.endif |
.endif # !commands(${_P}) |
.endif # !commands(${_P}) |
.endif # USE_COMBINE |
|
|
|
${_P}.ro: ${OBJS.${_P}} ${DPADD} |
${_P}.ro: ${OBJS.${_P}} ${DPADD} |
${_MKTARGET_LINK} |
${_MKTARGET_LINK} |