diff options
author | Mike Buland <eichlan@xagasoft.com> | 2006-08-23 22:09:30 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2006-08-23 22:09:30 +0000 |
commit | d2fe7edb2bfea20987a1f69935179fa5fc9f3b37 (patch) | |
tree | ee35479f264788bf43b7904f31a528699b53e955 /src/builder.cpp | |
parent | 7a7390337e04d0163b97c1da7bdaa198bacaff72 (diff) | |
download | build-d2fe7edb2bfea20987a1f69935179fa5fc9f3b37.tar.gz build-d2fe7edb2bfea20987a1f69935179fa5fc9f3b37.tar.bz2 build-d2fe7edb2bfea20987a1f69935179fa5fc9f3b37.tar.xz build-d2fe7edb2bfea20987a1f69935179fa5fc9f3b37.zip |
Really close...functions are doing their stuff, we have inputs, almost have rules.
Diffstat (limited to 'src/builder.cpp')
-rw-r--r-- | src/builder.cpp | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/src/builder.cpp b/src/builder.cpp index 4d377a8..1e916ab 100644 --- a/src/builder.cpp +++ b/src/builder.cpp | |||
@@ -134,7 +134,14 @@ void Builder::addListFunc() | |||
134 | 134 | ||
135 | void Builder::filterList() | 135 | void Builder::filterList() |
136 | { | 136 | { |
137 | printf("Filters aren't done yet.\n"); | 137 | StringList lTmp2; |
138 | StringList lIn = buildToStringList( lTmp, StringList() ); | ||
139 | pTmpFunc->execute( lIn, lTmp2 ); | ||
140 | lTmp.clear(); | ||
141 | for( StringList::iterator i = lTmp2.begin(); i != lTmp2.end(); i++ ) | ||
142 | { | ||
143 | lTmp.push_back( BuildListItem( *i, NULL ) ); | ||
144 | } | ||
138 | } | 145 | } |
139 | 146 | ||
140 | StringList Builder::buildToStringList( const BuildList &lSrc, const StringList &lIn ) | 147 | StringList Builder::buildToStringList( const BuildList &lSrc, const StringList &lIn ) |
@@ -353,6 +360,21 @@ Build *Builder::genBuild() | |||
353 | { | 360 | { |
354 | Build *bld = new Build; | 361 | Build *bld = new Build; |
355 | 362 | ||
363 | for( SetVarList::iterator i = lGlobalVars.begin(); | ||
364 | i != lGlobalVars.end(); i++ ) | ||
365 | { | ||
366 | switch( (*i).third ) | ||
367 | { | ||
368 | case setSet: | ||
369 | bld->set( "", (*i).first, (*i).second ); | ||
370 | break; | ||
371 | |||
372 | case setAdd: | ||
373 | bld->setAdd( "", (*i).first, (*i).second ); | ||
374 | break; | ||
375 | } | ||
376 | } | ||
377 | |||
356 | for( TargetTmpList::iterator i = lTargetTmp.begin(); | 378 | for( TargetTmpList::iterator i = lTargetTmp.begin(); |
357 | i != lTargetTmp.end(); i++ ) | 379 | i != lTargetTmp.end(); i++ ) |
358 | { | 380 | { |
@@ -388,6 +410,20 @@ Build *Builder::genBuild() | |||
388 | { | 410 | { |
389 | bld->addRequires( (*j), (*k) ); | 411 | bld->addRequires( (*j), (*k) ); |
390 | } | 412 | } |
413 | for( SetVarList::iterator k = (*i).second.lVar.begin(); | ||
414 | k != (*i).second.lVar.end(); k++ ) | ||
415 | { | ||
416 | switch( (*k).third ) | ||
417 | { | ||
418 | case setSet: | ||
419 | bld->set( *j, (*k).first, (*k).second ); | ||
420 | break; | ||
421 | |||
422 | case setAdd: | ||
423 | bld->setAdd( *j, (*k).first, (*k).second ); | ||
424 | break; | ||
425 | } | ||
426 | } | ||
391 | } | 427 | } |
392 | } | 428 | } |
393 | 429 | ||