diff --git a/eval.go b/eval.go
index 4d4c07f..ef4eda0 100644
--- a/eval.go
+++ b/eval.go
@@ -222,20 +222,25 @@
 }
 
 func (ev *Evaluator) evalIf(ast *IfAST) {
-	var stmts []AST
+	var isTrue bool
 	switch ast.op {
 	case "ifdef", "ifndef":
 		value, _ := ev.getVar(ev.evalExpr(ast.lhs))
-		if (value != "") == (ast.op == "ifdef") {
-			stmts = ast.trueStmts
-		} else {
-			stmts = ast.falseStmts
-		}
+		isTrue = (value != "") == (ast.op == "ifdef")
 	case "ifeq", "ifneq":
-		panic("TODO")
+		lhs := ev.evalExpr(ast.lhs)
+		rhs := ev.evalExpr(ast.rhs)
+		isTrue = (lhs == rhs) == (ast.op == "ifeq")
 	default:
 		panic(fmt.Sprintf("unknown if statement: %q", ast.op))
 	}
+
+	var stmts []AST
+	if isTrue {
+		stmts = ast.trueStmts
+	} else {
+		stmts = ast.falseStmts
+	}
 	for _, stmt := range stmts {
 		ev.eval(stmt)
 	}
