[packages] libmad: fix build failure on targets using -O2 optimizations (partially...
[openwrt/svn-archive/archive.git] / libs / libmad / Makefile
index 20ec2d6d427eb3a92a9cbf10681715f4ac791f9b..f4169f74d306cfbca49853e716f6206a3fbbd515 100644 (file)
@@ -1,25 +1,23 @@
-# 
-# Copyright (C) 2006 OpenWrt.org
+#
+# Copyright (C) 2006-2010 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
-# $Id$
 
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libmad
 PKG_VERSION:=0.15.1b
-PKG_RELEASE:=1
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/mad \
        ftp://ftp.mars.org/pub/mpeg/
 PKG_MD5SUM:=1be543bc30c56fb6bea1d7bf6a64e66c
-PKG_CAT:=zcat
 
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+PKG_FIXUP:=libtool
+PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -38,37 +36,40 @@ define Package/libmad
   SECTION:=libs
   CATEGORY:=Libraries
   TITLE:=An high-quality MPEG audio decoding library
-  DESCRIPTION:=\
-       MAD is a high-quality MPEG audio decoder. It currently supports \\\
-       MPEG-1 and the MPEG-2 extension to lower sampling frequencies, \\\
-       as well as the de facto MPEG 2.5 format. All three audio layers - \\\
-       Layer I, Layer II, and Layer III (i.e. MP3) - are fully implemented.
   URL:=http://www.underbit.com/products/mad/
 endef
 
-CONFIGURE_ARGS += \
+define Package/libmad/description
+       MAD is a high-quality MPEG audio decoder. It currently supports 
+       MPEG-1 and the MPEG-2 extension to lower sampling frequencies, 
+       as well as the de facto MPEG 2.5 format. All three audio layers - 
+       Layer I, Layer II, and Layer III (i.e. MP3) - are fully implemented.
+endef
+
+TARGET_CFLAGS += $(FPIC)
+
+CONFIGURE_ARGS+= \
        --enable-shared \
        --enable-static \
        --enable-fpm="$(FPM)" \
        --disable-debugging \
        --enable-speed \
 
-MAKE_FLAGS += \
+# XXX: configure is parsing and "optimizing" CFLAGS, adding unsupported 
+# XXX: compiler args to it (like -fforce-mem)
+# XXX: so pass an empty one to configure
+CONFIGURE_VARS+= \
+       CFLAGS="" \
+
+# XXX: and pass our own to make
+MAKE_FLAGS+= \
        CFLAGS="$(TARGET_CFLAGS)" \
-       DESTDIR="$(PKG_INSTALL_DIR)" \
-       all install
 
 define Build/InstallDev
-       mkdir -p $(STAGING_DIR)/usr/include
-       $(CP) $(PKG_INSTALL_DIR)/usr/include/mad.h $(STAGING_DIR)/usr/include/
-       mkdir -p $(STAGING_DIR)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libmad.{a,so*} $(STAGING_DIR)/usr/lib/
-endef
-
-define Build/UninstallDev
-       rm -rf \
-               $(STAGING_DIR)/usr/include/mad.h \
-               $(STAGING_DIR)/usr/lib/libmad.{a,so*}
+       $(INSTALL_DIR) $(1)/usr/include
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/mad.h $(1)/usr/include/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libmad.{a,so*} $(1)/usr/lib/
 endef
 
 define Package/libmad/install