don't bother resolving onbld python module deps
[unleashed.git] / share / mk / install-new.mk
blobddfff20e3b85067ee02c9426087ae462860698b2
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
10 # left intact.
12 # Please send copies of changes and bug-fixes to:
13 # sjg@crufty.net
16 .if !defined(InstallNew)
18 # copy if src and target are different making a backup if desired
19 CmpCp= CmpCp() { \
20 src=$$1 target=$$2 _bak=$$3; \
21 if ! test -s $$target || ! cmp -s $$target $$src; then \
22 trap "" 1 2 3 15; \
23 if test -s $$target; then \
24 if test "x$$_bak" != x; then \
25 rm -f $$target$$_bak; \
26 mv $$target $$target$$_bak; \
27 else \
28 rm -f $$target; \
29 fi; \
30 fi; \
31 cp $$src $$target; \
32 fi; }
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() { \
37 _t=-e; _bak=; \
38 while :; do \
39 case "$$1" in \
40 -?) _t=$$1; shift;; \
41 --bak) _bak=$$2; shift 2;; \
42 *) break;; \
43 esac; \
44 done; \
45 for new in "$$@"; do \
46 if test $$_t $$new; then \
47 target=`expr $$new : '\(.*\).new'`; \
48 CmpCp $$new $$target $$_bak; \
49 fi; \
50 rm -f $$new; \
51 done; :; }
53 .endif