diff --git a/Jamrules b/Jamrules index f472cdba21..251d39eec5 100644 --- a/Jamrules +++ b/Jamrules @@ -938,6 +938,32 @@ rule RelSymLink LocalClean clean : $(target) ; } +rule AbsSymLink +{ + # RelSymLink : : + # Creates an absolute symbolic link from to . + # and must be usual targets. If is + # given, then it is set as LOCATE directory on . + + LocalDepends files : $(1) ; + Depends $(1) : $(2) ; + if $(3) { + MakeLocate $(1) : $(3) ; + } + SEARCH on $(2) += $(SEARCH_SOURCE) ; + LocalClean clean : $(1) ; +} + +actions AbsSymLink +{ + target="$(2)" + case "$target" in + /*) ;; + *) target=`pwd`/"$target";; + esac + $(RM) "$(1)" && $(LN) -s "$target" "$(1)" +} + #------------------------------------------------------------------------------- # Low-level OBOS utility rules #-------------------------------------------------------------------------------