From 0c24fc0cb33dd6482670a54ed80c7dc67ebc929c Mon Sep 17 00:00:00 2001
From: Eric Wong <normalperson@yhbt.net>
Date: Mon, 17 Jul 2006 00:15:31 +0000
Subject: [PATCH] add sparse-check target to makefiles

sparse is a semantic parser developed for the Linux kernel,
but works for any project written (ANSI) C.

You can get sparse via git here:
git clone git://www.kernel.org/pub/scm/devel/sparse/sparse.git

git-svn-id: https://svn.musicpd.org/mpd/trunk@4377 09075e82-0dd4-0310-85a5-a0d7c8717e4f
---
 Makefile.am     |  5 ++++-
 src/Makefile.am | 11 +++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/Makefile.am b/Makefile.am
index 9d3ca4fb6..952d42762 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2,5 +2,8 @@ AUTOMAKE_OPTIONS = foreign 1.6
 
 SUBDIRS = src doc
 docdir = $(prefix)/share/doc/$(PACKAGE)
-doc_DATA = README UPGRADING 
+doc_DATA = README UPGRADING
 EXTRA_DIST = COPYING $(doc_DATA)
+
+sparse-check:
+	$(MAKE) -C src $@
diff --git a/src/Makefile.am b/src/Makefile.am
index fd2a18d47..f82d9c514 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -116,3 +116,14 @@ mpd_CFLAGS = $(MPD_CFLAGS)
 mpd_LDADD = $(MPD_LIBS) $(ID3_LIB) $(MAD_LIB) $(MP4FF_LIB)
 
 DIST_SUBDIRS = mp4ff
+
+# sparse is a semantic parser
+# URL: git://www.kernel.org/pub/scm/devel/sparse/sparse.git
+SPARSE = sparse
+SPARSE_FLAGS =
+sparse-check:
+	for i in $(mpd_SOURCES); \
+	do \
+		$(SPARSE) -I. $(mpd_CFLAGS) $(SPARSE_FLAGS) $(srcdir)/$$i || exit; \
+	done
+