#~ Copyright 2007 Rene Rivera.
#~ 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)

if ! $(BJAM_SUBTEST)
{
    ECHO --- Testing -n option... ;

    assert "...found 4 targets...
...updating 2 targets...
.a. subtest_a

echo [subtest_a] 0
echo [subtest_a] 1
echo [subtest_a] 2
    
.a. subtest_b

echo [subtest_b] 0
echo [subtest_b] 1
echo [subtest_b] 2
    
...updated 2 targets...
" : (==) : [ SHELL "\"$(ARGV[1])\" -f option_n.jam -sBJAM_SUBTEST=1 -n" ] ;
}
else
{
    actions .a.
    {
echo [$(<:B)] 0
echo [$(<:B)] 1
echo [$(<:B)] 2
    }
    
    rule .a.
    {
        DEPENDS $(<) : $(>) ;
    }
    
    NOTFILE subtest ;
    .a. subtest_a : subtest ;
    .a. subtest_b : subtest ;
    DEPENDS all : subtest_a subtest_b ;
}
