bsd.prog.mk revision 1638
1104349Sphk# @(#)bsd.prog.mk 8.2 (Berkeley) 4/2/94 2104349Sphk 3104349Sphk.if !defined(NOINCLUDE) && exists(${.CURDIR}/../Makefile.inc) 4104349Sphk.include "${.CURDIR}/../Makefile.inc" 5178848Scokane.endif 6178848Scokane 7104349Sphk.SUFFIXES: .out .o .c .y .l .s .8 .7 .6 .5 .4 .3 .2 .1 .0 8104349Sphk 9104349Sphk.8.0 .7.0 .6.0 .5.0 .4.0 .3.0 .2.0 .1.0: 10104349Sphk nroff -man ${.IMPSRC} > ${.TARGET} 11178848Scokane 12178848ScokaneCFLAGS+=${COPTS} 13178848Scokane 14178848ScokaneSTRIP?= -s 15104349Sphk 16104349SphkBINGRP?= bin 17104349SphkBINOWN?= bin 18178848ScokaneBINMODE?= 555 19104349Sphk 20104349SphkLIBC?= /usr/lib/libc.a 21104349SphkLIBCOMPAT?= /usr/lib/libcompat.a 22104349SphkLIBCURSES?= /usr/lib/libcurses.a 23104349SphkLIBDBM?= /usr/lib/libdbm.a 24104349SphkLIBDES?= /usr/lib/libdes.a 25104349SphkLIBL?= /usr/lib/libl.a 26104349SphkLIBKDB?= /usr/lib/libkdb.a 27104349SphkLIBKRB?= /usr/lib/libkrb.a 28104349SphkLIBKVM?= /usr/lib/libkvm.a 29104349SphkLIBM?= /usr/lib/libm.a 30104349SphkLIBMP?= /usr/lib/libmp.a 31104349SphkLIBPC?= /usr/lib/libpc.a 32178848ScokaneLIBPLOT?= /usr/lib/libplot.a 33178848ScokaneLIBRESOLV?= /usr/lib/libresolv.a 34178848ScokaneLIBRPC?= /usr/lib/sunrpc.a 35178848ScokaneLIBTERM?= /usr/lib/libterm.a 36178848ScokaneLIBUTIL?= /usr/lib/libutil.a 37178848Scokane 38178848Scokane.if defined(SHAREDSTRINGS) 39178848ScokaneCLEANFILES+=strings 40178848Scokane.c.o: 41178848Scokane ${CC} -E ${CFLAGS} ${.IMPSRC} | xstr -c - 42178848Scokane @${CC} ${CFLAGS} -c x.c -o ${.TARGET} 43178848Scokane @rm -f x.c 44178848Scokane.endif 45178848Scokane 46178848Scokane.if defined(PROG) 47178848Scokane.if defined(SRCS) 48178848Scokane 49178848ScokaneOBJS+= ${SRCS:R:S/$/.o/g} 50178848Scokane 51178848Scokane${PROG}: ${OBJS} ${LIBC} ${DPADD} 52178848Scokane ${CC} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD} 53178848Scokane 54104349Sphk.else defined(SRCS) 55104349Sphk 56104349SphkSRCS= ${PROG}.c 57104349Sphk 58104349Sphk${PROG}: ${SRCS} ${LIBC} ${DPADD} 59104349Sphk ${CC} ${CFLAGS} -o ${.TARGET} ${.CURDIR}/${SRCS} ${LDADD} 60104349Sphk 61104349SphkMKDEP= -p 62104349Sphk 63104349Sphk.endif 64104349Sphk 65104349Sphk.if !defined(MAN1) && !defined(MAN2) && !defined(MAN3) && \ 66104349Sphk !defined(MAN4) && !defined(MAN5) && !defined(MAN6) && \ 67104349Sphk !defined(MAN7) && !defined(MAN8) && !defined(NOMAN) 68104349SphkMAN1= ${PROG}.0 69104349Sphk.endif 70104349Sphk.endif 71104349Sphk.if !defined(NOMAN) 72104349SphkMANALL= ${MAN1} ${MAN2} ${MAN3} ${MAN4} ${MAN5} ${MAN6} ${MAN7} ${MAN8} 73104349Sphk.else 74104349SphkMANALL= 75104349Sphk.endif 76104349Sphkmanpages: ${MANALL} 77104349Sphk 78104349Sphk_PROGSUBDIR: .USE 79104349Sphk.if defined(SUBDIR) && !empty(SUBDIR) 80104349Sphk @for entry in ${SUBDIR}; do \ 81178848Scokane (echo "===> $$entry"; \ 82178848Scokane if test -d ${.CURDIR}/$${entry}.${MACHINE}; then \ 83178848Scokane cd ${.CURDIR}/$${entry}.${MACHINE}; \ 84178848Scokane else \ 85178848Scokane cd ${.CURDIR}/$${entry}; \ 86178848Scokane fi; \ 87178848Scokane ${MAKE} ${.TARGET:S/realinstall/install/:S/.depend/depend/}); \ 88178848Scokane done 89178848Scokane.endif 90178848Scokane 91178848Scokane.if !target(all) 92178848Scokane.MAIN: all 93178848Scokaneall: ${PROG} ${MANALL} _PROGSUBDIR 94178848Scokane.endif 95178848Scokane 96178848Scokane.if !target(clean) 97178848Scokaneclean: _PROGSUBDIR 98178848Scokane rm -f a.out [Ee]rrs mklog ${PROG}.core ${PROG} ${OBJS} ${CLEANFILES} 99104349Sphk.endif 100104349Sphk 101104349Sphk.if !target(cleandir) 102104349Sphkcleandir: _PROGSUBDIR 103104349Sphk rm -f a.out [Ee]rrs mklog ${PROG}.core ${PROG} ${OBJS} ${CLEANFILES} 104104349Sphk rm -f .depend ${MANALL} 105104349Sphk.endif 106104349Sphk 107104349Sphk# some of the rules involve .h sources, so remove them from mkdep line 108104349Sphk.if !target(depend) 109104349Sphkdepend: .depend _PROGSUBDIR 110104349Sphk.depend: ${SRCS} 111104349Sphk.if defined(PROG) 112104349Sphk mkdep ${MKDEP} ${CFLAGS:M-[ID]*} ${.ALLSRC:M*.c} 113104349Sphk.endif 114104349Sphk.endif 115104349Sphk 116104349Sphk.if !target(install) 117104349Sphk.if !target(beforeinstall) 118104349Sphkbeforeinstall: 119104349Sphk.endif 120104349Sphk.if !target(afterinstall) 121104349Sphkafterinstall: 122104349Sphk.endif 123104349Sphk 124104349Sphkrealinstall: _PROGSUBDIR 125104349Sphk.if defined(PROG) 126104349Sphk install ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ 127104349Sphk ${INSTALLFLAGS} ${PROG} ${DESTDIR}${BINDIR} 128104349Sphk.endif 129104349Sphk.if defined(HIDEGAME) 130104349Sphk (cd ${DESTDIR}/usr/games; rm -f ${PROG}; ln -s dm ${PROG}; \ 131104349Sphk chown games.bin ${PROG}) 132104349Sphk.endif 133104349Sphk.if defined(LINKS) && !empty(LINKS) 134104349Sphk @set ${LINKS}; \ 135104349Sphk while test $$# -ge 2; do \ 136104349Sphk l=${DESTDIR}$$1; \ 137104349Sphk shift; \ 138104349Sphk t=${DESTDIR}$$1; \ 139104349Sphk shift; \ 140104349Sphk echo $$t -\> $$l; \ 141104349Sphk rm -f $$t; \ 142104349Sphk ln $$l $$t; \ 143104349Sphk done; true 144104349Sphk.endif 145104349Sphk 146104349Sphkinstall: afterinstall maninstall 147104349Sphkafterinstall: realinstall 148104349Sphkrealinstall: beforeinstall 149104349Sphk.endif 150178848Scokane 151178848Scokane.if !target(lint) 152178848Scokanelint: ${SRCS} _PROGSUBDIR 153104349Sphk.if defined(PROG) 154104349Sphk @${LINT} ${LINTFLAGS} ${CFLAGS} ${.ALLSRC} | more 2>&1 155104349Sphk.endif 156104349Sphk.endif 157104349Sphk 158104349Sphk.if !target(obj) 159104349Sphk.if defined(NOOBJ) 160104349Sphkobj: _PROGSUBDIR 161104349Sphk.else 162104349Sphkobj: _PROGSUBDIR 163104349Sphk @cd ${.CURDIR}; rm -rf obj; \ 164104349Sphk here=`pwd`; dest=/usr/obj/`echo $$here | sed 's,/usr/src/,,'`; \ 165104349Sphk echo "$$here -> $$dest"; ln -s $$dest obj; \ 166178848Scokane if test -d /usr/obj -a ! -d $$dest; then \ 167178848Scokane mkdir -p $$dest; \ 168178848Scokane else \ 169178848Scokane true; \ 170178848Scokane fi; 171178848Scokane.endif 172178848Scokane.endif 173104349Sphk 174104349Sphk.if !target(objdir) 175104349Sphk.if defined(NOOBJ) 176104349Sphkobjdir: _PROGSUBDIR 177104349Sphk.else 178104349Sphkobjdir: _PROGSUBDIR 179104349Sphk @cd ${.CURDIR}; \ 180104349Sphk here=`pwd`; dest=/usr/obj/`echo $$here | sed 's,/usr/src/,,'`; \ 181104349Sphk if test -d /usr/obj -a ! -d $$dest; then \ 182104349Sphk mkdir -p $$dest; \ 183104349Sphk else \ 184104349Sphk true; \ 185104349Sphk fi; 186178848Scokane.endif 187178848Scokane.endif 188178848Scokane 189178848Scokane.if !target(tags) 190104349Sphktags: ${SRCS} _PROGSUBDIR 191104349Sphk.if defined(PROG) 192104349Sphk -ctags -f /dev/stdout ${.ALLSRC} | \ 193104349Sphk sed "s;${.CURDIR}/;;" > ${.CURDIR}/tags 194104349Sphk.endif 195104349Sphk.endif 196104349Sphk 197104349Sphk.if !defined(NOMAN) 198104349Sphk.include <bsd.man.mk> 199104349Sphk.else 200104349Sphkmaninstall: 201104349Sphk.endif 202104349Sphk