Handle comments in define properly
diff --git a/parser.go b/parser.go
index f3b26a5..bc03e68 100644
--- a/parser.go
+++ b/parser.go
@@ -107,7 +107,7 @@
 	return line
 }
 
-func (p *parser) processMakefileLine(line []byte) []byte {
+func (p *parser) processDefineLine(line []byte) []byte {
 	// TODO: Handle \\ at the end of the line?
 	for len(line) > 0 && line[len(line)-1] == '\\' {
 		line = line[:len(line)-1]
@@ -116,7 +116,11 @@
 		p.lineno = lineno
 		line = append(line, nline...)
 	}
-	return removeComment(line)
+	return line
+}
+
+func (p *parser) processMakefileLine(line []byte) []byte {
+	return removeComment(p.processDefineLine(line))
 }
 
 func (p *parser) processRecipeLine(line []byte) []byte {
@@ -419,7 +423,7 @@
 		}
 
 		if len(p.inDef) > 0 {
-			line = p.processMakefileLine(line)
+			line = p.processDefineLine(line)
 			if trimLeftSpace(string(line)) == "endef" {
 				Log("multilineAssign %q", p.inDef)
 				ast := &AssignAST{