1# Copyright 2003, 2005 Vladimir Prus 2# Distributed under the Boost Software License, Version 1.0. 3# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 4 5# This project-root.jam also serves the role of Jamfile 6project lib3 ; 7 8use-project /lib2/helper : ../lib2/helper ; 9 10import os ; 11import property ; 12 13rule properties-as-path ( properties * ) 14{ 15 local r ; 16 for local p in $(properties) 17 { 18 if $(p:G) != <action> 19 { 20 r += $(p) ; 21 } 22 } 23 return [ property.as-path 24 [ property.remove incidental : $(r) ] ] ; 25} 26 27rule mfc-compile ( target : sources * : property-set * ) 28{ 29 PROPERTIES on $(target) = [ properties-as-path $(property-set) ] ; 30} 31 32actions mfc-compile 33{ 34 echo $(PROPERTIES) > $(<) 35 echo $(>) >> $(<) 36} 37 38if [ os.name ] = VMS 39{ 40 actions mfc-compile 41 { 42 PIPE WRITE SYS$OUTPUT "$(PROPERTIES)" | TYPE SYS$INPUT /OUT=$(<:W) 43 PIPE WRITE SYS$OUTPUT "$(>:J= ",")" | APPEND /NEW SYS$INPUT $(<:W) 44 } 45} 46 47make f.obj : f.cpp /lib2/helper//e.obj : mfc-compile ; 48