blob: 8de43be51d2c17ebedf8977889d0b20a8459cb6e [file] [log] [blame]
# Copyright 2002-2005 Vladimir Prus.
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
import gcc ;
import property ;
rule properties-as-path ( properties * )
{
local r ;
for local p in $(properties)
{
if $(p:G) != <action>
{
r += $(p) ;
}
}
return [ property.as-path
[ property.remove incidental : $(r) ] ] ;
}
rule yfc-compile ( target : sources * : property-set * )
{
PROPERTIES on $(target) = [ properties-as-path $(property-set) ] ;
}
actions yfc-compile
{
echo $(PROPERTIES) > $(<)
echo $(>) >> $(<)
}
rule yfc-link ( target : sources * : property-set * )
{
PROPERTIES on $(target) = [ properties-as-path $(property-set) ] ;
}
actions yfc-link
{
echo $(PROPERTIES) > $(<)
echo $(>) >> $(<)
}
IMPORT $(__name__) : yfc-compile yfc-link : : yfc-compile yfc-link ;