summaryrefslogtreecommitdiffstats
path: root/package/libmad/libmad.mk
diff options
context:
space:
mode:
Diffstat (limited to 'package/libmad/libmad.mk')
-rw-r--r--package/libmad/libmad.mk39
1 files changed, 28 insertions, 11 deletions
diff --git a/package/libmad/libmad.mk b/package/libmad/libmad.mk
index dc7791193..69552737c 100644
--- a/package/libmad/libmad.mk
+++ b/package/libmad/libmad.mk
@@ -7,8 +7,7 @@
LIBMAD_VERSION=0.15.1b
LIBMAD_SOURCE=libmad-$(LIBMAD_VERSION).tar.gz
LIBMAD_SITE=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/mad/
-LIBMAD_DIR=$(BUILD_DIR)/${shell basename $(LIBMAD_SOURCE) .tar.gz}
-LIBMAD_WORKDIR=$(BUILD_DIR)/libmad-$(LIBMAD_VERSION)
+LIBMAD_DIR=$(BUILD_DIR)/libmad-$(LIBMAD_VERSION)
LIBMAD_CAT:=$(ZCAT)
$(DL_DIR)/$(LIBMAD_SOURCE):
@@ -33,25 +32,40 @@ $(LIBMAD_DIR)/.configured: $(LIBMAD_DIR)/.unpacked
);
touch $(LIBMAD_DIR)/.configured
-$(LIBMAD_WORKDIR)/libmad.la: $(LIBMAD_DIR)/.configured
+$(LIBMAD_DIR)/libmad.la: $(LIBMAD_DIR)/.configured
rm -f $@
- $(MAKE) CC=$(TARGET_CC) -C $(LIBMAD_WORKDIR)
+ $(MAKE) CC=$(TARGET_CC) -C $(LIBMAD_DIR)
-$(LIBMAD_WORKDIR)/.installed: $(LIBMAD_WORKDIR)/libmad.la
- $(MAKE) prefix=$(TARGET_DIR)/usr -C $(LIBMAD_WORKDIR) install
- touch $(LIBMAD_WORKDIR)/.installed
+$(STAGING_DIR)/usr/lib/libmad.so: $(LIBMAD_DIR)/libmad.la
+ $(MAKE) DESTDIR=$(STAGING_DIR) -C $(LIBMAD_DIR) install
-libmad: uclibc $(LIBMAD_WORKDIR)/.installed
+$(TARGET_DIR)/usr/lib/libmad.so: $(STAGING_DIR)/usr/lib/libmad.so
+ cp -dpf $(STAGING_DIR)/usr/lib/libmad.so* $(TARGET_DIR)/usr/lib/
+ $(STRIP) --strip-unneeded $(TARGET_DIR)/usr/lib/libmad.so*
+
+$(TARGET_DIR)/usr/lib/libmad.a: $(STAGING_DIR)/usr/lib/libmad.so
+ mkdir -p $(TARGET_DIR)/usr/include
+ cp -dpf $(STAGING_DIR)/usr/include/mad.h $(TARGET_DIR)/usr/include/
+ cp -dpf $(STAGING_DIR)/usr/lib/libmad.*a $(TARGET_DIR)/usr/lib/
+
+libmad: uclibc $(TARGET_DIR)/usr/lib/libmad.so
+
+libmad-headers: $(TARGET_DIR)/usr/lib/libmad.a
libmad-source: $(DL_DIR)/$(LIBMAD_SOURCE)
libmad-clean:
- @if [ -d $(LIBMAD_WORKDIR)/Makefile ] ; then \
- $(MAKE) -C $(LIBMAD_WORKDIR) clean ; \
+ @if [ -d $(LIBMAD_DIR)/Makefile ] ; then \
+ $(MAKE) -C $(LIBMAD_DIR) clean ; \
fi;
+ rm -f $(STAGING_DIR)/usr/lib/libmad.*
+ rm -f $(STAGING_DIR)/usr/include/mad.h
+ rm -f $(TARGET_DIR)/usr/lib/libmad.*
+ rm -f $(TARGET_DIR)/usr/include/mad.h
+
libmad-dirclean:
- rm -rf $(LIBMAD_DIR) $(LIBMAD_WORKDIR)
+ rm -rf $(LIBMAD_DIR)
#############################################################
#
# Toplevel Makefile options
@@ -60,3 +74,6 @@ libmad-dirclean:
ifeq ($(strip $(BR2_PACKAGE_LIBMAD)),y)
TARGETS+=libmad
endif
+ifeq ($(strip $(BR2_PACKAGE_LIBMAD_TARGET_HEADERS)),y)
+TARGETS+=libmad-headers
+endif