Correct math and limerick.
[dragonfly.git] / contrib / bmake / mk / scripts.mk
blobefd65f94ccd7ed59325de926cf80b52ace619df5
1 # $Id: scripts.mk,v 1.2 2006/11/09 01:55:18 sjg Exp $
3 .include <init.mk>
5 .if defined(SCRIPTS)
7 all: ${SCRIPTS}
9 .PHONY: scriptsinstall
10 install: scriptsinstall
12 .if !target(scriptsinstall)
13 SCRIPTSDIR?= ${BINDIR}
14 SCRIPTSOWN?= ${BINOWN}
15 SCRIPTSGRP?= ${BINGRP}
16 SCRIPTSMODE?= ${BINMODE}
18 # how we get script name from src
19 SCRIPTSNAME_MOD?=T:R
21 script_targets= ${SCRIPTS:@s@${DESTDIR}${SCRIPTSDIR_$s:U${SCRIPTSDIR}}/${SCRIPTSNAME_$s:U${s:${SCRIPTSNAME_MOD}}}@}
23 scriptsinstall:: ${script_targets}
25 .PRECIOUS: ${script_targets}
26 .if !defined(UPDATE)
27 .PHONY: ${script_targets}
28 .endif
30 INSTALL_FLAGS?= ${RENAME} ${PRESERVE} ${COPY} ${INSTPRIV} \
31 -o ${OWN_${.TARGET:T}:U${SCRIPTSOWN}} \
32 -g ${GRP_${.TARGET:T}:U${SCRIPTSGRP}} \
33 -m ${MODE_${.TARGET:T}:U${SCRIPTSMODE}}
35 __SCRIPTINSTALL_USE: .USE
36 ${INSTALL} ${INSTALL_FLAGS_${.TARGET:T}:U${INSTALL_FLAGS}} \
37 ${.ALLSRC} ${.TARGET}
39 .for s in ${SCRIPTS}
40 .if !defined(BUILD) && !make(all) && !make(${s})
41 ${DESTDIR}${SCRIPTSDIR_$s:U${SCRIPTSDIR}}/${SCRIPTSNAME_$s:U${s:${SCRIPTSNAME_MOD}}}: .MADE
42 .endif
43 ${DESTDIR}${SCRIPTSDIR_$s:U${SCRIPTSDIR}}/${SCRIPTSNAME_$s:U${s:${SCRIPTSNAME_MOD}}}: ${s} __SCRIPTINSTALL_USE
44 .endfor
45 .endif
47 .endif
49 .if !target(scriptsinstall)
50 scriptsinstall::
51 .endif