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)