bsd.obj.mk revision 15353
1# $Id: bsd.obj.mk,v 1.2 1996/04/09 22:43:33 wosch Exp $ 2# 3# The include file <bsd.obj.mk> handles creating 'obj' directory 4# and cleaning up object files, log files etc. 5# 6# 7# +++ variables +++ 8# 9# BSDSRCDIR The real path to the system sources, so that 'make obj' 10# will work correctly. [/usr/src] 11# 12# BSDOBJDIR The real path to the system 'obj' tree, so that 'make obj' 13# will work correctly. [/usr/obj] 14# 15# MAKEOBJDIR A file name to the directory where the targets 16# are built. [obj] 17# 18# NOOBJ Do not create 'obj' directory if defined. [not set] 19# 20# NOOBJLINK Create 'obj' directory in current directory instead 21# a symbolic link to the 'obj' tree if defined. [not set] 22# 23# 24# +++ targets +++ 25# 26# clean: 27# remove a.out Errs errs mklog ${CLEANFILES} 28# 29# cleandir: 30# remove all of the files removed by the target clean, 31# cleandepend (see bsd.dep.mk) and 'obj' directory. 32# 33# obj: 34# create 'obj' directory. 35# 36 37 38.if defined(MAKEOBJDIR) && !empty(MAKEOBJDIR) 39__objdir = ${MAKEOBJDIR} 40.else 41 42.if defined(MACHINE) && !empty(MACHINE) 43__objdir = obj # obj.${MACHINE} 44.else 45__objdir = obj 46.endif 47.endif 48 49 50.if !target(obj) 51.if defined(NOOBJ) 52obj: 53.else 54 55obj: _SUBDIRUSE cleanobj 56.if defined(NOOBJLINK) 57 mkdir ${.CURDIR}/${__objdir} 58.else 59 @if test -d ${BSDOBJDIR}; then \ 60 cd ${.CURDIR}; here=${.CURDIR}; \ 61 dest=${BSDOBJDIR}`echo $$here | \ 62 sed "s,^${BSDSRCDIR},,"`/${__objdir}; \ 63 ${ECHO} "$$here/${__objdir} -> $$dest"; \ 64 ln -s $$dest ${__objdir}; \ 65 if test ! -d $$dest; then \ 66 mkdir -p $$dest; \ 67 fi; \ 68 else \ 69 ${ECHO} "obj tree \"${BSDOBJDIR}\" does not exist."; \ 70 fi 71.endif 72.endif 73.endif 74 75# 76# cleanup 77# 78cleanobj: 79 rm -f -r ${.CURDIR}/${__objdir} 80 81cleanfiles: 82 rm -f a.out Errs errs mklog ${CLEANFILES} 83 84# see bsd.dep.mk 85.if !target(cleandepend) 86cleandepend: 87.endif 88 89.if !target(clean) 90clean: _SUBDIRUSE cleanfiles 91.endif 92 93cleandir: _SUBDIRUSE cleanfiles cleandepend cleanobj 94