xref: /dflybsd-src/contrib/bmake/mk/links.mk (revision a34d5fb143d34c0e1d2580296c500e2c8a5bc5dc)
1*a34d5fb1SAntonio Huete Jimenez# $Id: links.mk,v 1.7 2020/08/19 17:51:53 sjg Exp $
25f1e34d9SAlexandre Perrin#
35f1e34d9SAlexandre Perrin#	@(#) Copyright (c) 2005, Simon J. Gerraty
45f1e34d9SAlexandre Perrin#
55f1e34d9SAlexandre Perrin#	This file is provided in the hope that it will
65f1e34d9SAlexandre Perrin#	be of use.  There is absolutely NO WARRANTY.
75f1e34d9SAlexandre Perrin#	Permission to copy, redistribute or otherwise
85f1e34d9SAlexandre Perrin#	use this file is hereby granted provided that
95f1e34d9SAlexandre Perrin#	the above copyright notice and this notice are
105f1e34d9SAlexandre Perrin#	left intact.
115f1e34d9SAlexandre Perrin#
125f1e34d9SAlexandre Perrin#	Please send copies of changes and bug-fixes to:
135f1e34d9SAlexandre Perrin#	sjg@crufty.net
145f1e34d9SAlexandre Perrin#
155f1e34d9SAlexandre Perrin
165f1e34d9SAlexandre Perrin# some platforms need something special
175f1e34d9SAlexandre PerrinLN?= ln
185f1e34d9SAlexandre PerrinECHO?= echo
195f1e34d9SAlexandre Perrin
205f1e34d9SAlexandre PerrinLINKS?=
215f1e34d9SAlexandre PerrinSYMLINKS?=
225f1e34d9SAlexandre Perrin
235f1e34d9SAlexandre Perrin__SYMLINK_SCRIPT= \
245f1e34d9SAlexandre Perrin		${ECHO} "$$t -> $$l"; \
256a91b982SJohn Marino		case `'ls' -l $$t 2> /dev/null` in \
266a91b982SJohn Marino		*"> $$l") ;; \
276a91b982SJohn Marino		*) \
285f1e34d9SAlexandre Perrin			mkdir -p `dirname $$t`; \
295f1e34d9SAlexandre Perrin			rm -f $$t; \
306a91b982SJohn Marino			${LN} -s $$l $$t;; \
316a91b982SJohn Marino		esac
326a91b982SJohn Marino
335f1e34d9SAlexandre Perrin
345f1e34d9SAlexandre Perrin__LINK_SCRIPT= \
355f1e34d9SAlexandre Perrin		${ECHO} "$$t -> $$l"; \
365f1e34d9SAlexandre Perrin		mkdir -p `dirname $$t`; \
375f1e34d9SAlexandre Perrin		rm -f $$t; \
385f1e34d9SAlexandre Perrin		${LN} $$l $$t
395f1e34d9SAlexandre Perrin
405f1e34d9SAlexandre Perrin_SYMLINKS_SCRIPT= \
415f1e34d9SAlexandre Perrin	while test $$\# -ge 2; do \
425f1e34d9SAlexandre Perrin		l=$$1; shift; \
435f1e34d9SAlexandre Perrin		t=${DESTDIR}$$1; shift; \
445f1e34d9SAlexandre Perrin		${__SYMLINK_SCRIPT}; \
455f1e34d9SAlexandre Perrin	done; :;
465f1e34d9SAlexandre Perrin
475f1e34d9SAlexandre Perrin_LINKS_SCRIPT= \
485f1e34d9SAlexandre Perrin	while test $$\# -ge 2; do \
495f1e34d9SAlexandre Perrin		l=${DESTDIR}$$1; shift; \
505f1e34d9SAlexandre Perrin		t=${DESTDIR}$$1; shift; \
515f1e34d9SAlexandre Perrin		${__LINK_SCRIPT}; \
525f1e34d9SAlexandre Perrin	done; :;
535f1e34d9SAlexandre Perrin
545f1e34d9SAlexandre Perrin_SYMLINKS_USE:	.USE
555f1e34d9SAlexandre Perrin	@set ${$@_SYMLINKS:U${SYMLINKS}}; ${_SYMLINKS_SCRIPT}
565f1e34d9SAlexandre Perrin
575f1e34d9SAlexandre Perrin_LINKS_USE:	.USE
585f1e34d9SAlexandre Perrin	@set ${$@_LINKS:U${LINKS}}; ${_LINKS_SCRIPT}
595f1e34d9SAlexandre Perrin
605f1e34d9SAlexandre Perrin
615f1e34d9SAlexandre Perrin# sometimes we want to ensure DESTDIR is ignored
625f1e34d9SAlexandre Perrin_BUILD_SYMLINKS_SCRIPT= \
635f1e34d9SAlexandre Perrin	while test $$\# -ge 2; do \
645f1e34d9SAlexandre Perrin		l=$$1; shift; \
655f1e34d9SAlexandre Perrin		t=$$1; shift; \
665f1e34d9SAlexandre Perrin		${__SYMLINK_SCRIPT}; \
675f1e34d9SAlexandre Perrin	done; :;
685f1e34d9SAlexandre Perrin
695f1e34d9SAlexandre Perrin_BUILD_LINKS_SCRIPT= \
705f1e34d9SAlexandre Perrin	while test $$\# -ge 2; do \
715f1e34d9SAlexandre Perrin		l=$$1; shift; \
725f1e34d9SAlexandre Perrin		t=$$1; shift; \
735f1e34d9SAlexandre Perrin		${__LINK_SCRIPT}; \
745f1e34d9SAlexandre Perrin	done; :;
755f1e34d9SAlexandre Perrin
765f1e34d9SAlexandre Perrin_BUILD_SYMLINKS_USE:	.USE
775f1e34d9SAlexandre Perrin	@set ${$@_SYMLINKS:U${SYMLINKS}}; ${_BUILD_SYMLINKS_SCRIPT}
785f1e34d9SAlexandre Perrin
795f1e34d9SAlexandre Perrin_BUILD_LINKS_USE:	.USE
805f1e34d9SAlexandre Perrin	@set ${$@_LINKS:U${LINKS}}; ${_BUILD_LINKS_SCRIPT}
81