xref: /csrg-svn/share/mk/bsd.prog.mk (revision 41369)
1*41369Sbostic.include <bsd.global.mk>
239208Sbostic
3*41369Sbostic.if exists(${.CURDIR}/../Makefile.inc)
4*41369Sbostic.include "${.CURDIR}/../Makefile.inc"
540510Sbostic.endif
639193Sbostic
7*41369SbosticLIBC?=		/lib/libc.a
8*41369SbosticLIBCOMPAT?=	/usr/lib/libcompat.a
9*41369SbosticLIBCURSES?=	/usr/lib/libcurses.a
10*41369SbosticLIBDBM?=	/usr/lib/libdbm.a
11*41369SbosticLIBDES?=	/usr/lib/libdes.a
12*41369SbosticLIBL?=		/usr/lib/libl.a
13*41369SbosticLIBKDB?=	/usr/lib/libkdb.a
14*41369SbosticLIBKRB?=	/usr/lib/libkrb.a
15*41369SbosticLIBM?=		/usr/lib/libm.a
16*41369SbosticLIBMP?=		/usr/lib/libmp.a
17*41369SbosticLIBPC?=		/usr/lib/libpc.a
18*41369SbosticLIBPLOT?=	/usr/lib/libplot.a
19*41369SbosticLIBRPC?=	/usr/lib/sunrpc.a
20*41369SbosticLIBTERM?=	/usr/lib/libterm.a
21*41369SbosticLIBUTIL?=	/usr/lib/libutil.a
2239208Sbostic
23*41369Sbostic.if defined(SRCS)
2439199Sbostic
25*41369SbosticOBJS+=	${SRCS:.c=.o}
2639199Sbostic
27*41369Sbostic${PROG}: ${OBJS} ${LIBC} ${DPADD}
28*41369Sbostic	${CC} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD}
2939208Sbostic
30*41369Sbostic.else
3139208Sbostic
32*41369SbosticSRCS= ${PROG}.c
3339208Sbostic
34*41369Sbostic${PROG}: ${SRCS} ${LIBC} ${DPADD}
35*41369Sbostic	${CC} ${CFLAGS} -o ${.TARGET} ${.CURDIR}/${SRCS} ${LDADD}
3639193Sbostic
37*41369Sbostic.endif
3839193Sbostic
39*41369Sbostic.if	!defined(MAN1) && !defined(MAN2) && !defined(MAN3) && \
40*41369Sbostic	!defined(MAN4) && !defined(MAN5) && !defined(MAN6) && \
41*41369Sbostic	!defined(MAN7) && !defined(MAN8) && !defined(NOMAN)
4240510SbosticMAN1=	${PROG}.0
4339208Sbostic.endif
44*41369SbosticMANALL=	${MAN1} ${MAN2} ${MAN3} ${MAN4} ${MAN5} ${MAN6} ${MAN7} ${MAN8}
4539208Sbostic
46*41369SbosticPROGSUBDIR: .USE
47*41369Sbostic.if defined(SUBDIR) && !empty(SUBDIR)
48*41369Sbostic	@for entry in ${SUBDIR}; do \
49*41369Sbostic		(echo "===> $$entry"; \
50*41369Sbostic		if test -d ${.CURDIR}/$${entry}.${MACHINE}; then \
51*41369Sbostic			cd ${.CURDIR}/$${entry}.${MACHINE}; \
52*41369Sbostic		else \
53*41369Sbostic			cd ${.CURDIR}/$${entry}; \
54*41369Sbostic		fi; \
55*41369Sbostic		${MAKE} ${.TARGET}) \
56*41369Sbostic	done
57*41369Sbostic.endif
5839193Sbostic
59*41369Sbostic.MAIN: all
60*41369Sbosticall: ${PROG} ${MANALL} PROGSUBDIR
6139193Sbostic
62*41369Sbostic.if !target(clean)
63*41369Sbosticclean: PROGSUBDIR
64*41369Sbostic	rm -f a.out [Ee]rrs mklog core ${PROG} ${OBJS} ${CLEANFILES}
6539208Sbostic.endif
6639208Sbostic
67*41369SbosticSTDCLEANDIR: PROGSUBDIR
68*41369Sbostic	rm -f a.out [Ee]rrs mklog core ${PROG} ${OBJS} ${CLEANFILES}
69*41369Sbostic	rm -f .depend ${.CURDIR}/tags ${MANALL}
7039193Sbostic
71*41369Sbostic# some of the rules involve .h sources, so remove them from mkdep line
72*41369SbosticSTDDEPEND: ${SRCS} PROGSUBDIR
73*41369Sbostic	mkdep ${CFLAGS:M-[ID]*} ${.ALLSRC:M*.c}
7439193Sbostic
75*41369SbosticSTDINSTALL: PROGSUBDIR
7639208Sbostic	install ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
7740510Sbostic	    ${PROG} ${DESTDIR}${BINDIR}
78*41369Sbostic.if defined(HIDEGAME)
79*41369Sbostic	(cd ${DESTDIR}/usr/games; rm -f ${PROG}; ln -s dm ${PROG}; \
80*41369Sbostic	    chown games.bin ${PROG})
8139208Sbostic.endif
8240510Sbostic
83*41369SbosticSTDLINT: PROGSUBDIR
84*41369Sbostic	@${LINT} ${LINTFLAGS} ${CFLAGS} ${.ALLSRC} | more 2>&1
85*41369Sbostic
86*41369SbosticSTDTAGS: PROGSUBDIR
87*41369Sbostic	tags -f ${.CURDIR}/tags ${.ALLSRC}
88*41369Sbostic
89*41369Sbostic.include <bsd.own.mk>
90