summaryrefslogtreecommitdiff
path: root/devel/bmake/files/mk/links.mk
diff options
context:
space:
mode:
Diffstat (limited to 'devel/bmake/files/mk/links.mk')
-rw-r--r--devel/bmake/files/mk/links.mk80
1 files changed, 80 insertions, 0 deletions
diff --git a/devel/bmake/files/mk/links.mk b/devel/bmake/files/mk/links.mk
new file mode 100644
index 00000000000..c776295ce7a
--- /dev/null
+++ b/devel/bmake/files/mk/links.mk
@@ -0,0 +1,80 @@
+# $Id: links.mk,v 1.1.1.1 2020/05/24 05:35:53 nia Exp $
+#
+# @(#) Copyright (c) 2005, Simon J. Gerraty
+#
+# This file is provided in the hope that it will
+# be of use. There is absolutely NO WARRANTY.
+# Permission to copy, redistribute or otherwise
+# use this file is hereby granted provided that
+# the above copyright notice and this notice are
+# left intact.
+#
+# Please send copies of changes and bug-fixes to:
+# sjg@crufty.net
+#
+
+# some platforms need something special
+LN?= ln
+ECHO?= echo
+
+LINKS?=
+SYMLINKS?=
+
+__SYMLINK_SCRIPT= \
+ ${ECHO} "$$t -> $$l"; \
+ case `'ls' -l $$t 2> /dev/null` in \
+ *"> $$l") ;; \
+ *) \
+ mkdir -p `dirname $$t`; \
+ rm -f $$t; \
+ ${LN} -s $$l $$t;; \
+ esac
+
+
+__LINK_SCRIPT= \
+ ${ECHO} "$$t -> $$l"; \
+ mkdir -p `dirname $$t`; \
+ rm -f $$t; \
+ ${LN} $$l $$t
+
+_SYMLINKS_SCRIPT= \
+ while test $$\# -ge 2; do \
+ l=$$1; shift; \
+ t=${DESTDIR}$$1; shift; \
+ ${__SYMLINK_SCRIPT}; \
+ done; :;
+
+_LINKS_SCRIPT= \
+ while test $$\# -ge 2; do \
+ l=${DESTDIR}$$1; shift; \
+ t=${DESTDIR}$$1; shift; \
+ ${__LINK_SCRIPT}; \
+ done; :;
+
+_SYMLINKS_USE: .USE
+ @set ${$@_SYMLINKS:U${SYMLINKS}}; ${_SYMLINKS_SCRIPT}
+
+_LINKS_USE: .USE
+ @set ${$@_LINKS:U${LINKS}}; ${_LINKS_SCRIPT}
+
+
+# sometimes we want to ensure DESTDIR is ignored
+_BUILD_SYMLINKS_SCRIPT= \
+ while test $$\# -ge 2; do \
+ l=$$1; shift; \
+ t=$$1; shift; \
+ ${__SYMLINK_SCRIPT}; \
+ done; :;
+
+_BUILD_LINKS_SCRIPT= \
+ while test $$\# -ge 2; do \
+ l=$$1; shift; \
+ t=$$1; shift; \
+ ${__LINK_SCRIPT}; \
+ done; :;
+
+_BUILD_SYMLINKS_USE: .USE
+ @set ${$@_SYMLINKS:U${SYMLINKS}}; ${_BUILD_SYMLINKS_SCRIPT}
+
+_BUILD_LINKS_USE: .USE
+ @set ${$@_LINKS:U${LINKS}}; ${_BUILD_LINKS_SCRIPT}