Backport the following changesets from upstream trunk:
* r1234: fix deps with shared/static libs
* r1235: like previous commit but for libplayer-* apps
* r1238: fix Makefile to be able to override CFLAGS and LDFLAGS

Source: http://hg.geexbox.org/libplayer
Upstream author: Mathieu Schroeter <mathieu.schroeter@mycable.ch>
Patch author: Davide Cavalca <davide@geexbox.org>
Index: libplayer-1.0.0/Makefile
===================================================================
--- libplayer-1.0.0.orig/Makefile	2009-12-10 11:55:43.000000000 +0100
+++ libplayer-1.0.0/Makefile	2009-12-10 11:56:24.000000000 +0100
@@ -8,13 +8,16 @@
 
 PLREGTEST = libplayer-regtest
 PLREGTEST_SRCS = libplayer-regtest.c
+PLREGTEST_OBJS = $(PLREGTEST_SRCS:.c=.o)
 PLTEST = libplayer-test
 PLTEST_SRCS = libplayer-test.c
+PLTEST_OBJS = $(PLTEST_SRCS:.c=.o)
 PLTESTVDR = libplayer-testvdr
 PLTESTVDR_SRCS = libplayer-testvdr.c
+PLTESTVDR_OBJS = $(PLTESTVDR_SRCS:.c=.o)
 
-CFLAGS += -Isrc
-LDFLAGS += -Lsrc -lplayer -lpthread
+override CFLAGS += -Isrc
+override LDFLAGS += -Lsrc -lplayer -lpthread
 
 ifeq ($(BUILD_STATIC),yes)
   LDFLAGS += $(EXTRALIBS)
@@ -37,15 +40,32 @@
 	samples \
 	src \
 
+.SUFFIXES: .c .o
+
 all: lib test docs bindings
 
+.c.o:
+	$(CC) -c $(CFLAGS) $(EXTRACFLAGS) $(OPTFLAGS) -o $@ $<
+
 lib:
 	$(MAKE) -C src
 
-test: lib
-	$(CC) $(PLREGTEST_SRCS) $(OPTFLAGS) $(CFLAGS) $(EXTRACFLAGS) $(LDFLAGS) -o $(PLREGTEST)
-	$(CC) $(PLTEST_SRCS) $(OPTFLAGS) $(CFLAGS) $(EXTRACFLAGS) $(LDFLAGS) -o $(PLTEST)
-	$(CC) $(PLTESTVDR_SRCS) $(OPTFLAGS) $(CFLAGS) $(EXTRACFLAGS) $(LDFLAGS) -o $(PLTESTVDR)
+$(PLREGTEST): $(PLREGTEST_OBJS)
+	$(CC) $(PLREGTEST_OBJS) $(LDFLAGS) -o $(PLREGTEST)
+$(PLTEST): $(PLTEST_OBJS)
+	$(CC) $(PLTEST_OBJS) $(LDFLAGS) -o $(PLTEST)
+$(PLTESTVDR): $(PLTESTVDR_OBJS)
+	$(CC) $(PLTESTVDR_OBJS) $(LDFLAGS) -o $(PLTESTVDR)
+
+test-dep:
+	$(CC) -MM $(CFLAGS) $(EXTRACFLAGS) $(PLREGTEST_SRCS) 1>.depend
+	$(CC) -MM $(CFLAGS) $(EXTRACFLAGS) $(PLTEST_SRCS) 1>>.depend
+	$(CC) -MM $(CFLAGS) $(EXTRACFLAGS) $(PLTESTVDR_SRCS) 1>>.depend
+
+test-all: $(PLREGTEST) $(PLTEST) $(PLTESTVDR)
+
+test: test-dep lib
+	$(MAKE) test-all
 
 docs:
 	$(MAKE) -C DOCS
@@ -61,9 +81,11 @@
 
 clean: bindings-clean
 	$(MAKE) -C src clean
+	rm -f *.o
 	rm -f $(PLREGTEST)
 	rm -f $(PLTEST)
 	rm -f $(PLTESTVDR)
+	rm -f .depend
 
 distclean: clean docs-clean
 	rm -f config.log
@@ -108,7 +130,7 @@
 uninstall-docs:
 	$(MAKE) -C DOCS uninstall
 
-.PHONY: *clean *install* docs binding*
+.PHONY: *clean *install* docs binding* test*
 
 dist:
 	-$(RM) $(DISTFILE)
@@ -124,3 +146,10 @@
 	cp $(EXTRADIST) $(PLREGTEST_SRCS) $(PLTEST_SRCS) $(PLTESTVDR_SRCS) Makefile $(DIST)
 
 .PHONY: dist dist-all
+
+#
+# include dependency files if they exist
+#
+ifneq ($(wildcard .depend),)
+include .depend
+endif
Index: libplayer-1.0.0/src/Makefile
===================================================================
--- libplayer-1.0.0.orig/src/Makefile	2009-12-10 11:55:51.000000000 +0100
+++ libplayer-1.0.0/src/Makefile	2009-12-10 11:56:08.000000000 +0100
@@ -66,11 +66,15 @@
 .c.o:
 	$(CC) -c $(CFLAGS) $(EXTRACFLAGS) $(OPTFLAGS) -o $@ $<
 
-lib_static: $(OBJS)
+lib_static: $(STATIC_LIBNAME)
+
+lib_shared: $(SHARED_LIBNAME)
+
+$(STATIC_LIBNAME): $(OBJS)
 	$(AR) r $(STATIC_LIBNAME) $(OBJS)
 	$(RANLIB) $(STATIC_LIBNAME)
 
-lib_shared: $(OBJS)
+$(SHARED_LIBNAME): $(OBJS)
 	$(CC) -shared -Wl,-soname,$(SHARED_LIBNAME_MAJOR) \
 	  $(OBJS) $(LDFLAGS) $(EXTRALIBS) -o $(SHARED_LIBNAME_VERSION)
 	$(LN) -sf $(SHARED_LIBNAME_VERSION) $(SHARED_LIBNAME_MAJOR)
