bsd.subdir.mk revision 31177
11844Swollman# from: @(#)bsd.subdir.mk 5.9 (Berkeley) 2/1/91 231177Swosch# $Id: bsd.subdir.mk,v 1.18 1997/06/21 15:40:34 jkh Exp $ 323549Swosch# 423549Swosch# The include file <bsd.subdir.mk> contains the default targets 523549Swosch# for building subdirectories. It has the same seven targets 623549Swosch# as <bsd.prog.mk>: 723549Swosch# all, clean, cleandir, depend, install, lint, and tags. 823549Swosch# 923549Swosch# For all of the directories listed in the variable SUBDIRS, the 1023549Swosch# specified directory will be visited and the target made. There is 1123549Swosch# also a default target which allows the command "make subdir" where 1223549Swosch# subdir is any directory listed in the variable SUBDIRS. 1323549Swosch# 1423549Swosch# 1523549Swosch# +++ variables +++ 1623549Swosch# 1723549Swosch# DISTRIBUTION Name of distribution. [bin] 1823549Swosch# 1923549Swosch# SUBDIR A list of subdirectories that should be built as well. 2023549Swosch# Each of the targets will execute the same target in the 2123549Swosch# subdirectories. 2223549Swosch# 2323549Swosch# +++ targets +++ 2423549Swosch# 2523549Swosch# distribute: 2623549Swosch# This is a variant of install, which will 2723549Swosch# put the stuff into the right "distribution". 2823549Swosch# 2923549Swosch# afterdistribute, afterinstall, all, beforeinstall, checkdpadd, 3023549Swosch# clean, cleandepend, cleandir, depend, install, lint, maninstall, 3123549Swosch# obj, objlink, realinstall, tags 3223549Swosch# 331638Srgrimes 3423549Swosch 351638Srgrimes.MAIN: all 361638Srgrimes 371638Srgrimes_SUBDIRUSE: .USE 381638Srgrimes @for entry in ${SUBDIR}; do \ 391638Srgrimes (if test -d ${.CURDIR}/$${entry}.${MACHINE}; then \ 402352Sbde ${ECHODIR} "===> ${DIRPRFX}$${entry}.${MACHINE}"; \ 411844Swollman edir=$${entry}.${MACHINE}; \ 421844Swollman cd ${.CURDIR}/$${edir}; \ 431638Srgrimes else \ 442352Sbde ${ECHODIR} "===> ${DIRPRFX}$$entry"; \ 451844Swollman edir=$${entry}; \ 461844Swollman cd ${.CURDIR}/$${edir}; \ 471638Srgrimes fi; \ 4824431Sscrappy ${MAKE} ${.TARGET:realinstall=install} DIRPRFX=${DIRPRFX}$$edir/); \ 491638Srgrimes done 501638Srgrimes 511638Srgrimes${SUBDIR}:: 521638Srgrimes @if test -d ${.TARGET}.${MACHINE}; then \ 531638Srgrimes cd ${.CURDIR}/${.TARGET}.${MACHINE}; \ 541638Srgrimes else \ 551638Srgrimes cd ${.CURDIR}/${.TARGET}; \ 561638Srgrimes fi; \ 571638Srgrimes ${MAKE} all 581638Srgrimes 591638Srgrimes 6024861Sjkh.for __target in all checkdpadd clean cleandir depend lint \ 6124861Sjkh maninstall obj objlink 6231177Swosch.if !target(${__target}) 6315061Swosch${__target}: _SUBDIRUSE 641638Srgrimes.endif 6515061Swosch.endfor 661638Srgrimes 6724861Sjkh.if !target(tags) 6824861Sjkh.if defined(TAGS) 6924861Sjkhtags: 7024861Sjkh @cd ${.CURDIR} && gtags ${GTAGSFLAGS} 7124861Sjkh.if defined(HTML) 7224861Sjkh @cd ${.CURDIR} && htags ${HTAGSFLAGS} 7324861Sjkh.endif 7424861Sjkh.else 7524861Sjkhtags: _SUBDIRUSE 7624861Sjkh.endif 7724861Sjkh.endif 7824861Sjkh 7924861Sjkh.if !defined(cleandepend) 8024861Sjkhcleandepend: _SUBDIRUSE 8124861Sjkh.if defined(TAGS) 8224861Sjkh @rm -f ${.CURDIR}/GTAGS ${.CURDIR}/GRTAGS 8324861Sjkh.if defined(HTML) 8424861Sjkh @rm -rf ${.CURDIR}/HTML 8524861Sjkh.endif 8624861Sjkh.endif 8724861Sjkh.endif 8824861Sjkh 891638Srgrimes.if !target(install) 901638Srgrimes.if !target(beforeinstall) 911638Srgrimesbeforeinstall: 921638Srgrimes.endif 931638Srgrimes.if !target(afterinstall) 941638Srgrimesafterinstall: 951638Srgrimes.endif 961638Srgrimesinstall: afterinstall 971638Srgrimesafterinstall: realinstall 981638Srgrimesrealinstall: beforeinstall _SUBDIRUSE 991638Srgrimes.endif 1001638Srgrimes 10115061SwoschDISTRIBUTION?= bin 10215061Swosch.if !target(afterdistribute) 10315061Swoschafterdistribute: 1041638Srgrimes.endif 10515061Swosch.if !target(distribute) 10623549Swoschdistribute: _SUBDIRUSE 10726760Sjkh.for dist in ${DISTRIBUTION} 10826760Sjkh cd ${.CURDIR} ; ${MAKE} afterdistribute DESTDIR=${DISTDIR}/${dist} 10926760Sjkh.endfor 1101638Srgrimes.endif 111