1 # $Id: install-new.mk,v 1.3 2012/03/24 18:25:49 sjg Exp $
3 # @(#) Copyright (c) 2009, Simon J. Gerraty
5 # This file is provided in the hope that it will
6 # be of use. There is absolutely NO WARRANTY.
7 # Permission to copy, redistribute or otherwise
8 # use this file is hereby granted provided that
9 # the above copyright notice and this notice are
12 # Please send copies of changes and bug-fixes to:
16 .if
!defined
(InstallNew
)
18 # copy if src and target are different making a backup if desired
20 src
=$$1 target
=$$2 _bak
=$$3; \
21 if
! test -s
$$target ||
! cmp
-s
$$target $$src; then \
23 if
test -s
$$target; then \
24 if
test "x$$_bak" != x
; then \
25 rm -f
$$target$$_bak; \
26 mv
$$target $$target$$_bak; \
34 # If the .new file is different, we want it.
35 # Note: this function will work as is for *.new$RANDOM"
36 InstallNew
= ${CmpCp}; InstallNew
() { \
41 --bak
) _bak
=$$2; shift
2;; \
45 for new in
"$$@"; do \
46 if
test $$_t $$new; then \
47 target
=`expr $$new : '\(.*\).new'`; \
48 CmpCp
$$new $$target $$_bak; \