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
#-------------------------------------------------------------------------------