Fix if_recipe.mk
diff --git a/ast.go b/ast.go
index 9cc566e..96ad382 100644
--- a/ast.go
+++ b/ast.go
@@ -58,8 +58,7 @@
 type MaybeRuleAST struct {
 	ASTBase
 	expr      string
-	cmds      []string
-	cmdLineno int
+	cmd       string
 }
 
 func (ast *MaybeRuleAST) eval(ev *Evaluator) {
@@ -68,11 +67,24 @@
 
 func (ast *MaybeRuleAST) show() {
 	Log("%s", ast.expr)
-	for _, cmd := range ast.cmds {
-		Log("\t%s", strings.Replace(cmd, "\n", `\n`, -1))
+	if ast.cmd != "" {
+		Log("\t%s", strings.Replace(ast.cmd, "\n", `\n`, -1))
 	}
 }
 
+type CommandAST struct {
+	ASTBase
+	cmd      string
+}
+
+func (ast *CommandAST) eval(ev *Evaluator) {
+	ev.evalCommand(ast)
+}
+
+func (ast *CommandAST) show() {
+	Log("\t%s", strings.Replace(ast.cmd, "\n", `\n`, -1))
+}
+
 type IncludeAST struct {
 	ASTBase
 	expr string