1# from: @(#)bsd.prog.mk 5.26 (Berkeley) 6/25/91 |
2# $FreeBSD: head/share/mk/bsd.prog.mk 301284 2016-06-03 19:25:36Z bdrewery $ |
3 4.include <bsd.init.mk> 5.include <bsd.compiler.mk> 6 7.SUFFIXES: .out .o .c .cc .cpp .cxx .C .m .y .l .ln .s .S .asm 8 9# XXX The use of COPTS in modern makefiles is discouraged. 10.if defined(COPTS) --- 74 unchanged lines hidden (view full) --- 85.if defined(SRCS) 86 87OBJS+= ${SRCS:N*.h:R:S/$/.o/g} 88 89.if target(beforelinking) 90beforelinking: ${OBJS} 91${PROG_FULL}: beforelinking 92.endif |
93${PROG_FULL}: ${OBJS} |
94.if defined(PROG_CXX) 95 ${CXX:N${CCACHE_BIN}} ${CXXFLAGS:N-M*} ${LDFLAGS} -o ${.TARGET} \ 96 ${OBJS} ${LDADD} 97.else 98 ${CC:N${CCACHE_BIN}} ${CFLAGS:N-M*} ${LDFLAGS} -o ${.TARGET} ${OBJS} \ 99 ${LDADD} 100.endif 101.if ${MK_CTF} != "no" --- 15 unchanged lines hidden (view full) --- 117# the name of a variable temporary object. 118# - it's useful to keep objects around for crunching. 119OBJS+= ${PROG}.o 120 121.if target(beforelinking) 122beforelinking: ${OBJS} 123${PROG_FULL}: beforelinking 124.endif |
125${PROG_FULL}: ${OBJS} |
126.if defined(PROG_CXX) 127 ${CXX:N${CCACHE_BIN}} ${CXXFLAGS:N-M*} ${LDFLAGS} -o ${.TARGET} \ 128 ${OBJS} ${LDADD} 129.else 130 ${CC:N${CCACHE_BIN}} ${CFLAGS:N-M*} ${LDFLAGS} -o ${.TARGET} ${OBJS} \ 131 ${LDADD} 132.endif 133.if ${MK_CTF} != "no" 134 ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${OBJS} 135.endif 136.endif # !target(${PROG}) 137 138.endif # !defined(SRCS) 139 140.if ${MK_DEBUG_FILES} != "no" |
141${PROG}: ${PROG_FULL} ${PROGNAME}.debug |
142 ${OBJCOPY} --strip-debug --add-gnu-debuglink=${PROGNAME}.debug \ 143 ${PROG_FULL} ${.TARGET} 144 |
145${PROGNAME}.debug: ${PROG_FULL} |
146 ${OBJCOPY} --only-keep-debug ${PROG_FULL} ${.TARGET} 147.endif 148 149.if ${MK_MAN} != "no" && !defined(MAN) && \ 150 !defined(MAN1) && !defined(MAN2) && !defined(MAN3) && \ 151 !defined(MAN4) && !defined(MAN5) && !defined(MAN6) && \ 152 !defined(MAN7) && !defined(MAN8) && !defined(MAN9) 153MAN= ${PROG}.1 --- 142 unchanged lines hidden --- |