• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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