From 8ebc3f17961ef6a0cf708cc6bdca948d77817ee0 Mon Sep 17 00:00:00 2001 From: Mike Buland Date: Mon, 21 Dec 2009 18:59:32 +0000 Subject: Wow, it's much more general now, I like that. --- src/action.cpp | 25 +++++++++++++++++++++++++ src/action.h | 1 + src/context.cpp | 4 ++++ 3 files changed, 30 insertions(+) (limited to 'src') diff --git a/src/action.cpp b/src/action.cpp index 23c24cd..8b10641 100644 --- a/src/action.cpp +++ b/src/action.cpp @@ -80,6 +80,31 @@ Action *Action::genDefaultClean() return pRet; } +Action *Action::genDefaultCleanAll() +{ + Ast *pAst = new Ast(); + pAst->addNode( AstNode::typeActionDef ); + pAst->openBranch(); + pAst->addNode( AstNode::typeString, "clean-all" ); + pAst->openBranch(); + pAst->addNode( AstNode::typeProcessTarget ); + pAst->openBranch(); + pAst->addNode( AstNode::typeString, "clean" ); + pAst->openBranch(); + pAst->addNode( AstNode::typeFunction ); + pAst->openBranch(); + pAst->addNode( AstNode::typeString, "targets" ); + pAst->closeNode(); + pAst->closeNode(); + pAst->closeNode(); + Action *pRet = new Action( + dynamic_cast( *pAst->getNodeBegin() ) + ); + pRet->pAst = pAst; + + return pRet; +} + Action *Action::genDefaultDefault() { Ast *pAst = new Ast(); diff --git a/src/action.h b/src/action.h index 520f2f1..7f60095 100644 --- a/src/action.h +++ b/src/action.h @@ -15,6 +15,7 @@ public: static Action *genDefaultAll(); static Action *genDefaultClean(); + static Action *genDefaultCleanAll(); static Action *genDefaultDefault(); private: diff --git a/src/context.cpp b/src/context.cpp index c257a75..bc48def 100644 --- a/src/context.cpp +++ b/src/context.cpp @@ -438,6 +438,10 @@ void Context::genDefaultActions() { addAction( Action::genDefaultClean() ); } + if( !hAction.has("clean-all") ) + { + addAction( Action::genDefaultCleanAll() ); + } if( !hAction.has("default") ) { addAction( Action::genDefaultDefault() ); -- cgit v1.2.3