diff --git a/Makefile b/Makefile
index 1c1f8bc2e0be4071d985979b41ed3687da587243..cbb10ea5f1db3863377ace66e45261a2c777de5b 100644
--- a/Makefile
+++ b/Makefile
@@ -12,6 +12,8 @@ test: dep
 	go vet ./...
 	go list ./... |egrep -v 'vendor/|proto$$' |xargs -L1 golint -set_exit_status
 	gofmt -d $(SRC_FILES)
+	$(MAKE) generate
+	@[ -z "`git status --porcelain`" ] || (echo "unexpected files: `git status --porcelain`" && exit 1)
 
 build: cashier cashierd
 
@@ -30,4 +32,4 @@ clean:
 dep:
 	go get -u github.com/golang/lint/golint
 
-.PHONY: dep generate test cashier cashierd
\ No newline at end of file
+.PHONY: all build dep generate test cashier cashierd clean