# Copyright 2002, 2003, 2005 Vladimir Prus # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or 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) != { 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 ;