xref: /csrg-svn/share/mk/bsd.prog.mk (revision 41556)
141369Sbostic.include <bsd.global.mk>
239208Sbostic
341369Sbostic.if exists(${.CURDIR}/../Makefile.inc)
441369Sbostic.include "${.CURDIR}/../Makefile.inc"
540510Sbostic.endif
639193Sbostic
741369SbosticLIBC?=		/lib/libc.a
841369SbosticLIBCOMPAT?=	/usr/lib/libcompat.a
941369SbosticLIBCURSES?=	/usr/lib/libcurses.a
1041369SbosticLIBDBM?=	/usr/lib/libdbm.a
1141369SbosticLIBDES?=	/usr/lib/libdes.a
1241369SbosticLIBL?=		/usr/lib/libl.a
1341369SbosticLIBKDB?=	/usr/lib/libkdb.a
1441369SbosticLIBKRB?=	/usr/lib/libkrb.a
1541369SbosticLIBM?=		/usr/lib/libm.a
1641369SbosticLIBMP?=		/usr/lib/libmp.a
1741369SbosticLIBPC?=		/usr/lib/libpc.a
1841369SbosticLIBPLOT?=	/usr/lib/libplot.a
1941369SbosticLIBRPC?=	/usr/lib/sunrpc.a
2041369SbosticLIBTERM?=	/usr/lib/libterm.a
2141369SbosticLIBUTIL?=	/usr/lib/libutil.a
2239208Sbostic
23*41556Sbostic.if defined(PROG)
2441369Sbostic.if defined(SRCS)
2539199Sbostic
2641369SbosticOBJS+=	${SRCS:.c=.o}
2739199Sbostic
2841369Sbostic${PROG}: ${OBJS} ${LIBC} ${DPADD}
2941369Sbostic	${CC} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD}
3039208Sbostic
31*41556Sbostic.else defined(PROG)
3239208Sbostic
3341369SbosticSRCS= ${PROG}.c
3439208Sbostic
3541369Sbostic${PROG}: ${SRCS} ${LIBC} ${DPADD}
3641369Sbostic	${CC} ${CFLAGS} -o ${.TARGET} ${.CURDIR}/${SRCS} ${LDADD}
3739193Sbostic
3841369Sbostic.endif
3939193Sbostic
4041369Sbostic.if	!defined(MAN1) && !defined(MAN2) && !defined(MAN3) && \
4141369Sbostic	!defined(MAN4) && !defined(MAN5) && !defined(MAN6) && \
4241369Sbostic	!defined(MAN7) && !defined(MAN8) && !defined(NOMAN)
4340510SbosticMAN1=	${PROG}.0
4439208Sbostic.endif
45*41556Sbostic.endif
4641369SbosticMANALL=	${MAN1} ${MAN2} ${MAN3} ${MAN4} ${MAN5} ${MAN6} ${MAN7} ${MAN8}
4739208Sbostic
4841369SbosticPROGSUBDIR: .USE
4941369Sbostic.if defined(SUBDIR) && !empty(SUBDIR)
5041369Sbostic	@for entry in ${SUBDIR}; do \
5141461Sbostic		(echo "===> ${PROG}/$$entry"; \
5241369Sbostic		if test -d ${.CURDIR}/$${entry}.${MACHINE}; then \
5341369Sbostic			cd ${.CURDIR}/$${entry}.${MACHINE}; \
5441369Sbostic		else \
5541369Sbostic			cd ${.CURDIR}/$${entry}; \
5641369Sbostic		fi; \
5741369Sbostic		${MAKE} ${.TARGET}) \
5841369Sbostic	done
5941369Sbostic.endif
6039193Sbostic
6141369Sbostic.MAIN: all
6241369Sbosticall: ${PROG} ${MANALL} PROGSUBDIR
6339193Sbostic
6441369Sbostic.if !target(clean)
6541369Sbosticclean: PROGSUBDIR
6641369Sbostic	rm -f a.out [Ee]rrs mklog core ${PROG} ${OBJS} ${CLEANFILES}
6739208Sbostic.endif
6839208Sbostic
6941461Sbostic.if !target(cleandir)
7041461Sbosticcleandir: PROGSUBDIR
7141369Sbostic	rm -f a.out [Ee]rrs mklog core ${PROG} ${OBJS} ${CLEANFILES}
7241369Sbostic	rm -f .depend ${.CURDIR}/tags ${MANALL}
7341461Sbostic.endif
7439193Sbostic
7541369Sbostic# some of the rules involve .h sources, so remove them from mkdep line
7641461Sbostic.if !target(depend)
7741461Sbosticdepend: .depend
7841461Sbostic.depend: ${SRCS} PROGSUBDIR
7941369Sbostic	mkdep ${CFLAGS:M-[ID]*} ${.ALLSRC:M*.c}
8041461Sbostic.endif
8139193Sbostic
8241461Sbostic.if !target(install)
8341461Sbostic.if !target(beforeinstall)
8441461Sbosticbeforeinstall:
8541461Sbostic.endif
8641461Sbostic
8741461Sbosticrealinstall: beforeinstall PROGSUBDIR
8839208Sbostic	install ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
8940510Sbostic	    ${PROG} ${DESTDIR}${BINDIR}
9041369Sbostic.if defined(HIDEGAME)
9141369Sbostic	(cd ${DESTDIR}/usr/games; rm -f ${PROG}; ln -s dm ${PROG}; \
9241369Sbostic	    chown games.bin ${PROG})
9339208Sbostic.endif
9440510Sbostic
95*41556Sbosticinstall: afterinstall PROGSUBDIR
96*41556Sbosticafterinstall: realinstall maninstall
97*41556Sbostic.else
98*41556Sbosticinstall: PROGSUBDIR
9941461Sbostic.endif
10041461Sbostic
10141461Sbostic.if !target(lint)
10241461Sbosticlint: ${SRCS} PROGSUBDIR
10341369Sbostic	@${LINT} ${LINTFLAGS} ${CFLAGS} ${.ALLSRC} | more 2>&1
10441461Sbostic.endif
10541369Sbostic
10641461Sbostic.if !target(tags)
10741461Sbostictags: ${SRCS} PROGSUBDIR
10841461Sbostic	ctags -f ${.CURDIR}/tags ${.ALLSRC}
10941461Sbostic.endif
11041369Sbostic
11141369Sbostic.include <bsd.own.mk>
112