Index: bsd.prog.mk =================================================================== RCS file: /home/ncvs/src/share/mk/bsd.prog.mk,v retrieving revision 1.107 diff -u -r1.107 bsd.prog.mk --- bsd.prog.mk 2002/04/11 10:44:30 1.107 +++ bsd.prog.mk 2002/04/12 02:38:30 @@ -22,32 +22,36 @@ .if defined(PROG_CXX) PROG= ${PROG_CXX} -DPADD+= ${LIBSTDCPLUSPLUS} -LDADD+= -lstdc++ +_CCLINK= ${CXX} +DPADD+= ${LIBSTDCPLUSPLUS} +.else +.if defined(PROG_OBJC) +PROG= ${PROG_OBJC) +LDADD+= -lobjc +DPADD+= ${LIBOBJC} +_CCLINK= ${OBJC} +.else +_CCLINK= ${CC} +.endif .endif .if defined(PROG) .if defined(SRCS) -# If there are Objective C sources, link with Objective C libraries. -.if ${SRCS:M*.m} != "" -OBJCLIBS?= -lobjc -LDADD+= ${OBJCLIBS} -.endif - OBJS+= ${SRCS:N*.h:R:S/$/.o/g} -${PROG}: ${OBJS} - ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD} - .else !defined(SRCS) .if !target(${PROG}) .if defined(PROG_CXX) SRCS= ${PROG}.cc .else +.if defined(PROG_OBJC) +SRCS= ${PROG}.m +.else SRCS= ${PROG}.c .endif +.endif # Always make an intermediate object file because: # - it saves time rebuilding when only the library has changed @@ -56,9 +60,10 @@ # - it's useful to keep objects around for crunching. OBJS= ${PROG}.o -${PROG}: ${OBJS} - ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD} .endif + +${PROG}: ${OBJS} + ${_CCLINK} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD} .endif