summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/argus/argus.mk64
-rw-r--r--package/bison/bison.mk69
-rw-r--r--package/dummy/Config.in7
-rw-r--r--package/dummy/dummy.mk93
-rw-r--r--package/findutils/findutils.mk75
-rw-r--r--package/ipkg/ipkg.mk5
-rw-r--r--package/libcgi/libcgi.mk68
-rw-r--r--package/libcgicc/libcgicc.mk64
-rw-r--r--package/libosip2/libosip2.mk83
-rw-r--r--package/libraw1394/libraw1394.mk64
-rw-r--r--package/libsysfs/libsysfs.mk59
-rw-r--r--package/multimedia/aumix/aumix-2.8-fix-incorrect-makefile-am.patch29
-rw-r--r--package/multimedia/aumix/aumix.mk60
-rw-r--r--package/multimedia/libid3tag/libid3tag.mk62
-rw-r--r--package/multimedia/libmad/libmad.mk77
-rw-r--r--package/multimedia/madplay/madplay.mk64
-rw-r--r--package/patch/patch.mk69
-rw-r--r--package/setserial/setserial.mk73
-rw-r--r--package/smartmontools/smartmontools.mk69
-rw-r--r--package/tar/tar.mk82
-rw-r--r--package/udpcast/udpcast.mk93
-rw-r--r--package/vtun/vtun.mk76
-rw-r--r--package/x11vnc/x11vnc.mk7
23 files changed, 128 insertions, 1284 deletions
diff --git a/package/argus/argus.mk b/package/argus/argus.mk
index 57d07894f..6653d0655 100644
--- a/package/argus/argus.mk
+++ b/package/argus/argus.mk
@@ -7,63 +7,15 @@ ARGUS_VERSION:=3.0.0.rc.34
ARGUS_SOURCE:=argus_$(ARGUS_VERSION).orig.tar.gz
ARGUS_PATCH:=argus_$(ARGUS_VERSION)-1.diff.gz
ARGUS_SITE:=$(BR2_DEBIAN_MIRROR)/debian/pool/main/a/argus/
-ARGUS_DIR:=$(BUILD_DIR)/argus-$(ARGUS_VERSION)
-ARGUS_CAT:=$(ZCAT)
-ARGUS_BINARY:=bin/argus
-ARGUS_TARGET_BINARY:=usr/sbin/argus
+ARGUS_DEPENDENCIES=libpcap
+ARGUS_INSTALL_TARGET_OPT=DESTDIR=$(TARGET_DIR) install
-$(DL_DIR)/$(ARGUS_SOURCE):
- $(call DOWNLOAD,$(ARGUS_SITE),$(ARGUS_SOURCE))
-
-$(DL_DIR)/$(ARGUS_PATCH):
- $(call DOWNLOAD,$(ARGUS_SITE),$(ARGUS_PATCH))
-
-argus-source: $(DL_DIR)/$(ARGUS_SOURCE) $(DL_DIR)/$(ARGUS_PATCH)
-
-$(ARGUS_DIR)/.unpacked: $(DL_DIR)/$(ARGUS_SOURCE) $(DL_DIR)/$(ARGUS_PATCH)
- $(ARGUS_CAT) $(DL_DIR)/$(ARGUS_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- toolchain/patch-kernel.sh $(ARGUS_DIR) package/argus/ argus\*.patch
-ifneq ($(ARGUS_PATCH),)
- (cd $(ARGUS_DIR) && $(ARGUS_CAT) $(DL_DIR)/$(ARGUS_PATCH) | patch -p1)
- if [ -d $(ARGUS_DIR)/debian/patches ]; then \
- toolchain/patch-kernel.sh $(ARGUS_DIR) $(ARGUS_DIR)/debian/patches \*.patch; \
+define ARGUS_DEBIAN_PATCH_APPLY
+ if [ -d $(@D)/debian/patches ]; then \
+ toolchain/patch-kernel.sh $(@D) $(@D)/debian/patches \*.patch; \
fi
-endif
- touch $@
-
-$(ARGUS_DIR)/.configured: $(ARGUS_DIR)/.unpacked
- (cd $(ARGUS_DIR); rm -rf config.cache; \
- $(TARGET_CONFIGURE_OPTS) \
- $(TARGET_CONFIGURE_ARGS) \
- ./configure $(QUIET) \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=/usr \
- $(DISABLE_LARGEFILE) \
- )
- touch $@
-
-$(ARGUS_DIR)/$(ARGUS_BINARY): $(ARGUS_DIR)/.configured
- $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(ARGUS_DIR)
-
-$(TARGET_DIR)/$(ARGUS_TARGET_BINARY): $(ARGUS_DIR)/$(ARGUS_BINARY)
- cp -dpf $(ARGUS_DIR)/$(ARGUS_BINARY) $@
- $(STRIPCMD) $(STRIP_STRIP_ALL) $@
+endef
-argus: libpcap $(TARGET_DIR)/$(ARGUS_TARGET_BINARY)
+ARGUS_POST_PATCH_HOOKS += ARGUS_DEBIAN_PATCH_APPLY
-argus-clean:
- -$(MAKE) -C $(ARGUS_DIR) clean
- rm -f $(TARGET_DIR)/$(ARGUS_TARGET_BINARY)
-
-argus-dirclean:
- rm -rf $(ARGUS_DIR)
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_ARGUS),y)
-TARGETS+=argus
-endif
+$(eval $(call AUTOTARGETS,package,argus))
diff --git a/package/bison/bison.mk b/package/bison/bison.mk
index f29259fd5..9e28e85d9 100644
--- a/package/bison/bison.mk
+++ b/package/bison/bison.mk
@@ -6,70 +6,11 @@
BISON_VERSION:=2.3
BISON_SOURCE:=bison-$(BISON_VERSION).tar.bz2
BISON_SITE:=$(BR2_GNU_MIRROR)/bison
-BISON_DIR:=$(BUILD_DIR)/bison-$(BISON_VERSION)
-BISON_CAT:=$(BZCAT)
-BISON_BINARY:=src/bison
-BISON_TARGET_BINARY:=usr/bin/bison
-$(DL_DIR)/$(BISON_SOURCE):
- $(call DOWNLOAD,$(BISON_SITE),$(BISON_SOURCE))
+define BISON_DISABLE_EXAMPLES
+ echo 'all install:' > $(@D)/examples/Makefile
+endef
-bison-source: $(DL_DIR)/$(BISON_SOURCE)
+BISON_POST_CONFIGURE_HOOKS += BISON_DISABLE_EXAMPLES
-$(BISON_DIR)/.unpacked: $(DL_DIR)/$(BISON_SOURCE)
- $(BISON_CAT) $(DL_DIR)/$(BISON_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- $(CONFIG_UPDATE) $(BISON_DIR)/build-aux
- touch $@
-
-$(BISON_DIR)/.configured: $(BISON_DIR)/.unpacked
- (cd $(BISON_DIR); rm -rf config.cache; \
- $(TARGET_CONFIGURE_OPTS) \
- $(TARGET_CONFIGURE_ARGS) \
- gt_cv_func_gnugettext2_libintl=yes \
- ./configure $(QUIET) \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=/usr \
- --exec-prefix=/usr \
- --bindir=/usr/bin \
- --sbindir=/usr/sbin \
- --libdir=/lib \
- --libexecdir=/usr/lib \
- --sysconfdir=/etc \
- --datadir=/usr/share \
- --localstatedir=/var \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --includedir=/usr/include \
- $(DISABLE_NLS) \
- )
- echo 'all install:' > $(BISON_DIR)/examples/Makefile
- touch $@
-
-$(BISON_DIR)/$(BISON_BINARY): $(BISON_DIR)/.configured
- $(MAKE) CC=$(TARGET_CC) -C $(BISON_DIR)
-
-$(TARGET_DIR)/$(BISON_TARGET_BINARY): $(BISON_DIR)/$(BISON_BINARY)
- $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(BISON_DIR) install
- rm -rf $(TARGET_DIR)/share/locale
- cp -a package/bison/yacc $(TARGET_DIR)/usr/bin/yacc
-
-bison: $(TARGET_DIR)/$(BISON_TARGET_BINARY)
-
-bison-clean:
- -$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(BISON_DIR) uninstall
- rm -f $(TARGET_DIR)/$(BISON_TARGET_BINARY)
- -$(MAKE) -C $(BISON_DIR) clean
-
-bison-dirclean:
- rm -rf $(BISON_DIR)
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_BISON),y)
-TARGETS+=bison
-endif
+$(eval $(call AUTOTARGETS,package,bison))
diff --git a/package/dummy/Config.in b/package/dummy/Config.in
deleted file mode 100644
index 71c1fed30..000000000
--- a/package/dummy/Config.in
+++ /dev/null
@@ -1,7 +0,0 @@
-config BR2_PACKAGE_DUMMY
- bool "dummy"
- help
- This is a dummy package to show how to integrate a new package into
- Buildroot. The syntax for this file is the default kbuild from the
- Linux kernel, more information at
- http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=Documentation/kbuild
diff --git a/package/dummy/dummy.mk b/package/dummy/dummy.mk
deleted file mode 100644
index 34d166f51..000000000
--- a/package/dummy/dummy.mk
+++ /dev/null
@@ -1,93 +0,0 @@
-#############################################################
-#
-# dummy
-#
-#############################################################
-
-# Current version, use the latest unless there are any known issues.
-DUMMY_VERSION=1.2.3
-# The filename of the package to download.
-DUMMY_SOURCE=dummy-$(DUMMY_VERSION).tar.bz2
-# The site and path to where the source packages are.
-DUMMY_SITE=http://www.example.net/dummy/source
-# The directory which the source package is extracted to.
-DUMMY_DIR=$(BUILD_DIR)/dummy-$(DUMMY_VERSION)
-# Which decompression to use, BZCAT or ZCAT.
-DUMMY_CAT:=$(BZCAT)
-# Target binary for the package.
-DUMMY_BINARY:=dummy
-# Not really needed, but often handy define.
-DUMMY_TARGET_BINARY:=usr/bin/$(DUMMY_BINARY)
-
-# The download rule. Main purpose is to download the source package.
-$(DL_DIR)/$(DUMMY_SOURCE):
- $(call DOWNLOAD,$(DUMMY_SITE),$(DUMMY_SOURCE))
-
-# The unpacking rule. Main purpose is to extract the source package, apply any
-# patches and update config.guess and config.sub.
-$(DUMMY_DIR)/.unpacked: $(DL_DIR)/$(DUMMY_SOURCE)
- $(DUMMY_CAT) $(DL_DIR)/$(DUMMY_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- toolchain/patch-kernel.sh $(DUMMY_DIR) package/dummy/ dummy-$(DUMMY_VERSION)-\*.patch\*
- $(CONFIG_UPDATE) $(DUMMY_DIR)
- touch $@
-
-# The configure rule. Main purpose is to get the package ready for compilation,
-# usually by running the configure script with different kinds of options
-# specified.
-$(DUMMY_DIR)/.configured: $(DUMMY_DIR)/.unpacked
- (cd $(DUMMY_DIR); rm -rf config.cache; \
- $(TARGET_CONFIGURE_OPTS) \
- $(TARGET_CONFIGURE_ARGS) \
- ./configure $(QUIET) \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=/usr \
- --sysconfdir=/etc \
- $(DISABLE_NLS) \
- $(DISABLE_LARGEFILE) \
- )
- touch $@
-
-$(DUMMY_DIR)/$(DUMMY_BINARY): $(DUMMY_DIR)/.configured
- $(MAKE) -C $(DUMMY_DIR)
-
-# The installing rule. Main purpose is to install the binary into the target
-# root directory and make sure it is stripped from debug symbols to reduce the
-# space requirements to a minimum.
-#
-# Only the files needed to run the application should be installed to the
-# target root directory, to not waste valuable flash space.
-$(TARGET_DIR)/$(DUMMY_TARGET_BINARY): $(DUMMY_DIR)/$(DUMMY_BINARY)
- cp -dpf $(DUMMY_DIR)/dummy $@
- $(STRIPCMD) --strip-unneeded $@
-
-# Main rule which shows which other packages must be installed before the dummy
-# package is installed. This to ensure that all depending libraries are
-# installed.
-dummy: $(TARGET_DIR)/$(DUMMY_TARGET_BINARY)
-
-# Source download rule. Main purpose to download the source package. Since some
-# people would like to work offline, it is mandotory to implement a rule which
-# downloads everything this package needs.
-dummy-source: $(DL_DIR)/$(DUMMY_SOURCE)
-
-# Clean rule. Main purpose is to clean the build directory, thus forcing a new
-# rebuild the next time Buildroot is made.
-dummy-clean:
- -$(MAKE) -C $(DUMMY_DIR) clean
-
-# Directory clean rule. Main purpose is to remove the build directory, forcing
-# a new extraction, patching and rebuild the next time Buildroot is made.
-dummy-dirclean:
- rm -rf $(DUMMY_DIR)
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-# This is how the dummy package is added to the list of rules to build.
-ifeq ($(BR2_PACKAGE_DUMMY),y)
-TARGETS+=dummy
-endif
diff --git a/package/findutils/findutils.mk b/package/findutils/findutils.mk
index 96e2682a1..a1893ad56 100644
--- a/package/findutils/findutils.mk
+++ b/package/findutils/findutils.mk
@@ -5,79 +5,6 @@
#############################################################
FINDUTILS_VERSION:=4.2.31
FINDUTILS_SOURCE:=findutils-$(FINDUTILS_VERSION).tar.gz
-#FINDUTILS_SITE:=ftp://alpha.gnu.org/gnu/findutils
FINDUTILS_SITE:=$(BR2_GNU_MIRROR)/findutils/
-FINDUTILS_CAT:=$(ZCAT)
-FINDUTILS_DIR:=$(BUILD_DIR)/findutils-$(FINDUTILS_VERSION)
-FINDUTILS_BINARY:=find/find
-FINDUTILS_TARGET_BINARY:=usr/bin/find
-$(DL_DIR)/$(FINDUTILS_SOURCE):
- $(call DOWNLOAD,$(FINDUTILS_SITE),$(FINDUTILS_SOURCE))
-
-findutils-source: $(DL_DIR)/$(FINDUTILS_SOURCE)
-
-$(FINDUTILS_DIR)/.unpacked: $(DL_DIR)/$(FINDUTILS_SOURCE)
- $(FINDUTILS_CAT) $(DL_DIR)/$(FINDUTILS_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- $(CONFIG_UPDATE) $(FINDUTILS_DIR)
- touch $@
-
-$(FINDUTILS_DIR)/.configured: $(FINDUTILS_DIR)/.unpacked
- (cd $(FINDUTILS_DIR); rm -rf config.cache; \
- $(TARGET_CONFIGURE_OPTS) \
- $(TARGET_CONFIGURE_ARGS) \
- ac_cv_func_setvbuf_reversed=no \
- ./configure $(QUIET) \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=/usr \
- --exec-prefix=/usr \
- --bindir=/usr/bin \
- --sbindir=/usr/sbin \
- --libdir=/lib \
- --libexecdir=/usr/lib/locate \
- --sysconfdir=/etc \
- --datadir=/usr/share \
- --localstatedir=/var/lib \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- $(DISABLE_NLS) \
- $(DISABLE_LARGEFILE) \
- )
- touch $@
-
-$(FINDUTILS_DIR)/$(FINDUTILS_BINARY): $(FINDUTILS_DIR)/.configured
- $(MAKE) CC=$(TARGET_CC) -C $(FINDUTILS_DIR)
-
-# This stuff is needed to work around GNU make deficiencies
-findutils-target_binary: $(FINDUTILS_DIR)/$(FINDUTILS_BINARY)
- @if [ -L $(TARGET_DIR)/$(FINDUTILS_TARGET_BINARY) ]; then \
- rm -f $(TARGET_DIR)/$(FINDUTILS_TARGET_BINARY); \
- fi
- @if [ ! -f $(FINDUTILS_DIR)/$(FINDUTILS_BINARY) \
- -o $(TARGET_DIR)/$(FINDUTILS_TARGET_BINARY) \
- -ot $(FINDUTILS_DIR)/$(FINDUTILS_BINARY) ]; then \
- set -x; \
- $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(FINDUTILS_DIR) install-strip; \
- $(STRIPCMD) $(TARGET_DIR)/usr/lib/locate/* > /dev/null 2>&1; \
- fi
- rm -rf $(TARGET_DIR)/share/locale
-
-findutils: findutils-target_binary
-
-findutils-clean:
- $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(FINDUTILS_DIR) uninstall
- -$(MAKE) -C $(FINDUTILS_DIR) clean
-
-findutils-dirclean:
- rm -rf $(FINDUTILS_DIR)
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_FINDUTILS),y)
-TARGETS+=findutils
-endif
+$(eval $(call AUTOTARGETS,package,findutils))
diff --git a/package/ipkg/ipkg.mk b/package/ipkg/ipkg.mk
index 5f640f658..30a27c068 100644
--- a/package/ipkg/ipkg.mk
+++ b/package/ipkg/ipkg.mk
@@ -11,7 +11,4 @@ IPKG_AUTORECONF = NO
IPKG_INSTALL_STAGING = YES
IPKG_INSTALL_TARGET = YES
-IPKG_CONF_OPT = --target=$(GNU_TARGET_NAME) --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) --prefix=/usr --sysconfdir=/etc
-
-$(eval $(call AUTOTARGETS,package,ipkg)) \ No newline at end of file
+$(eval $(call AUTOTARGETS,package,ipkg))
diff --git a/package/libcgi/libcgi.mk b/package/libcgi/libcgi.mk
index 23c5fddcc..85f35a2df 100644
--- a/package/libcgi/libcgi.mk
+++ b/package/libcgi/libcgi.mk
@@ -6,69 +6,7 @@
LIBCGI_VERSION:=1.0
LIBCGI_SOURCE:=libcgi-$(LIBCGI_VERSION).tar.gz
LIBCGI_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/libcgi
-LIBCGI_DIR:=$(BUILD_DIR)/libcgi-$(LIBCGI_VERSION)
-LIBCGI_LIBRARY:=src/libcgi.so
-LIBCGI_DESTDIR:=usr/lib
-LIBCGI_TARGET_LIBRARY=$(LIBCGI_DESTDIR)/libcgi.so
+LIBCGI_INSTALL_STAGING=YES
+LIBCGI_INSTALL_TARGET_OPT=DESTDIR=$(TARGET_DIR) install
-$(DL_DIR)/$(LIBCGI_SOURCE):
- $(call DOWNLOAD,$(LIBCGI_SITE),$(LIBCGI_SOURCE))
-
-$(LIBCGI_DIR)/.source: $(DL_DIR)/$(LIBCGI_SOURCE)
- $(ZCAT) $(DL_DIR)/$(LIBCGI_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- toolchain/patch-kernel.sh $(LIBCGI_DIR) package/libcgi/ libcgi\*.patch
- touch $(LIBCGI_DIR)/.source
-
-$(LIBCGI_DIR)/.configured: $(LIBCGI_DIR)/.source
- (cd $(LIBCGI_DIR); rm -f config.cache; \
- $(TARGET_CONFIGURE_OPTS) \
- $(TARGET_CONFIGURE_ARGS) \
- ./configure $(QUIET) \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=/usr \
- --exec-prefix=/usr \
- --bindir=/usr/bin \
- --sbindir=/usr/sbin \
- --libdir=/lib \
- --libexecdir=/$(LIBCGI_DESTDIR) \
- --sysconfdir=/etc \
- --datadir=/usr/share \
- --localstatedir=/var \
- --includedir=/include \
- --mandir=/usr/man \
- --infodir=/usr/info \
- )
- touch $(LIBCGI_DIR)/.configured
-
-$(LIBCGI_DIR)/$(LIBCGI_LIBRARY): $(LIBCGI_DIR)/.configured
- $(MAKE) CC=$(TARGET_CC) -C $(LIBCGI_DIR)
-
-$(STAGING_DIR)/$(LIBCGI_TARGET_LIBRARY): $(LIBCGI_DIR)/$(LIBCGI_LIBRARY)
- $(MAKE) DESTDIR=$(STAGING_DIR) -C $(LIBCGI_DIR) install
- touch -c $@
-
-$(TARGET_DIR)/$(LIBCGI_TARGET_LIBRARY): $(STAGING_DIR)/$(LIBCGI_TARGET_LIBRARY)
- cp -dpf $<* $(TARGET_DIR)/$(LIBCGI_DESTDIR)
-
-libcgi: $(TARGET_DIR)/$(LIBCGI_TARGET_LIBRARY)
-
-libcgi-source: $(DL_DIR)/$(LIBCGI_SOURCE)
-
-libcgi-clean:
- rm -f $(TARGET_DIR)/$(LIBCGI_TARGET_LIBRARY)*
- -$(MAKE) -C $(LIBCGI_DIR) clean
-
-libcgi-dirclean:
- rm -rf $(LIBCGI_DIR)
-
-.PHONY: libcgi
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_LIBCGI),y)
-TARGETS+=libcgi
-endif
+$(eval $(call AUTOTARGETS,package,libcgi))
diff --git a/package/libcgicc/libcgicc.mk b/package/libcgicc/libcgicc.mk
index b4cf56734..c2f80b6c7 100644
--- a/package/libcgicc/libcgicc.mk
+++ b/package/libcgicc/libcgicc.mk
@@ -3,67 +3,13 @@
# libcgicc
#
#############################################################
-
LIBCGICC_VERSION=3.2.9
-LIBCGICC_DIR=$(BUILD_DIR)/cgicc-$(LIBCGICC_VERSION)
LIBCGICC_SITE=$(BR2_GNU_MIRROR)/cgicc
LIBCGICC_SOURCE=cgicc-$(LIBCGICC_VERSION).tar.gz
-LIBCGICC_CAT:=$(ZCAT)
-
-$(DL_DIR)/$(LIBCGICC_SOURCE):
- $(call DOWNLOAD,$(LIBCGICC_SITE),$(LIBCGICC_SOURCE))
-
-libcgicc-source: $(DL_DIR)/$(LIBCGICC_SOURCE)
-
-$(LIBCGICC_DIR)/.unpacked: $(DL_DIR)/$(LIBCGICC_SOURCE)
- $(LIBCGICC_CAT) $(DL_DIR)/$(LIBCGICC_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- toolchain/patch-kernel.sh $(LIBCGICC_DIR) package/libcgicc cgicc\*.patch
- touch $@
-
-$(LIBCGICC_DIR)/.configured: $(LIBCGICC_DIR)/.unpacked
- (cd $(LIBCGICC_DIR); rm -f config.cache; \
- $(AUTORECONF); \
- $(TARGET_CONFIGURE_OPTS) \
- $(TARGET_CONFIGURE_ARGS) \
- ./configure $(QUIET) \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=/usr \
- --exec-prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --disable-demos \
- --disable-doc \
- )
- touch $@
-
-$(LIBCGICC_DIR)/.compiled: $(LIBCGICC_DIR)/.configured
- $(TARGET_MAKE_ENV) $(MAKE) -C $(LIBCGICC_DIR)
- touch $@
-
-$(STAGING_DIR)/usr/lib/libcgicc.so: $(LIBCGICC_DIR)/.compiled
- $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(STAGING_DIR) -C $(LIBCGICC_DIR) install
- touch -c $(STAGING_DIR)/usr/lib/libcgicc.so
-
-$(TARGET_DIR)/usr/lib/libcgicc.so: $(STAGING_DIR)/usr/lib/libcgicc.so
- cp -dpf $(STAGING_DIR)/usr/lib/libcgicc.so* $(TARGET_DIR)/usr/lib/
+LIBCGICC_INSTALL_STAGING=YES
-libcgicc: $(TARGET_DIR)/usr/lib/libcgicc.so
+LIBCGICC_CONF_OPT = \
+ --disable-demos \
+ --disable-doc
-libcgicc-unpacked: $(LIBCGICC_DIR)/.unpacked
-
-libcgicc-clean:
- -$(MAKE) -C $(LIBCGICC_DIR) clean
-
-libcgicc-dirclean:
- rm -rf $(LIBCGICC_DIR)
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_LIBCGICC),y)
-TARGETS+=libcgicc
-endif
+$(eval $(call AUTOTARGETS,package,libcgicc))
diff --git a/package/libosip2/libosip2.mk b/package/libosip2/libosip2.mk
index 04a75c5dd..441b84c69 100644
--- a/package/libosip2/libosip2.mk
+++ b/package/libosip2/libosip2.mk
@@ -3,85 +3,14 @@
# libosip2
#
#############################################################
-
LIBOSIP2_VERSION=3.1.0
LIBOSIP2_SOURCE=libosip2-$(LIBOSIP2_VERSION).tar.gz
LIBOSIP2_SITE=http://www.antisip.com/download/exosip2
-LIBOSIP2_DIR=$(BUILD_DIR)/libosip2-$(LIBOSIP2_VERSION)
-LIBOSIP2_CAT:=$(ZCAT)
-
-$(DL_DIR)/$(LIBOSIP2_SOURCE):
- $(call DOWNLOAD,$(LIBOSIP2_SITE),$(LIBOSIP2_SOURCE))
-
-$(LIBOSIP2_DIR)/.unpacked: $(DL_DIR)/$(LIBOSIP2_SOURCE)
- $(LIBOSIP2_CAT) $(DL_DIR)/$(LIBOSIP2_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- $(CONFIG_UPDATE) $(LIBOSIP2_DIR)
- touch $(LIBOSIP2_DIR)/.unpacked
-
-$(LIBOSIP2_DIR)/.configured: $(LIBOSIP2_DIR)/.unpacked
- (cd $(LIBOSIP2_DIR); rm -rf config.cache; \
- $(TARGET_CONFIGURE_OPTS) \
- $(TARGET_CONFIGURE_ARGS) \
- ./configure $(QUIET) \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=/usr \
- --exec-prefix=/usr \
- --bindir=/usr/bin \
- --sbindir=/usr/sbin \
- --libexecdir=/usr/lib \
- --sysconfdir=/etc \
- --datadir=/usr/share \
- --localstatedir=/var \
- --mandir=/usr/man \
- --infodir=/usr/info \
- --includedir=/usr/include \
- --with-gnu-ld \
- --enable-shared \
- --enable-static \
- $(DISABLE_NLS) \
- )
- touch $(LIBOSIP2_DIR)/.configured
-
-$(LIBOSIP2_DIR)/libosip2.so: $(LIBOSIP2_DIR)/.configured
- $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(LIBOSIP2_DIR)
-
-$(STAGING_DIR)/usr/lib/libosip2.so: $(LIBOSIP2_DIR)/.configured
- $(MAKE) DESTDIR=$(STAGING_DIR) -C $(LIBOSIP2_DIR) install
- $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libosip2.la
- $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libosipparser2.la
-
-$(TARGET_DIR)/usr/lib/libosip2.so: $(STAGING_DIR)/usr/lib/libosip2.so
- mkdir -p $(TARGET_DIR)/usr/lib
- cp -dpf $(STAGING_DIR)/usr/lib/libosip2.so* $(TARGET_DIR)/usr/lib/
- $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libosip2.so*
-
-$(TARGET_DIR)/usr/lib/libosipparser2.so: $(STAGING_DIR)/usr/lib/libosip2.so
- mkdir -p $(TARGET_DIR)/usr/lib
- cp -dpf $(STAGING_DIR)/usr/lib/libosipparser2.so* $(TARGET_DIR)/usr/lib/
- $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libosipparser2.so*
+LIBOSIP2_INSTALL_STAGING=YES
-libosip2: $(TARGET_DIR)/usr/lib/libosip2.so $(TARGET_DIR)/usr/lib/libosipparser2.so
+LIBOSIP2_CONF_OPT = \
+ --with-gnu-ld \
+ --enable-shared \
+ --enable-static
-libosip2-source: $(DL_DIR)/$(LIBOSIP2_SOURCE)
-
-libosip2-clean:
- -$(MAKE) -C $(LIBOSIP2_DIR) clean
- -rm -f $(STAGING_DIR)/usr/lib/libosip2.*
- -rm -f $(STAGING_DIR)/usr/lib/libosipparser2.*
- -rm -f $(TARGET_DIR)/usr/lib/libosip2.*
- -rm -f $(TARGET_DIR)/usr/lib/libosipparser2.*
-
-libosip2-dirclean:
- rm -rf $(LIBOSIP2_DIR)
-
-.PHONY: libosip2-headers libosip2-target-headers
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_LIBOSIP2),y)
-TARGETS+=libosip2
-endif
+$(eval $(call AUTOTARGETS,package,libosip2))
diff --git a/package/libraw1394/libraw1394.mk b/package/libraw1394/libraw1394.mk
index 045cc82df..196c7217a 100644
--- a/package/libraw1394/libraw1394.mk
+++ b/package/libraw1394/libraw1394.mk
@@ -3,69 +3,9 @@
# libraw1394
#
#############################################################
-
LIBRAW1394_VERSION:=1.2.1
LIBRAW1394_SOURCE:=libraw1394-$(LIBRAW1394_VERSION).tar.gz
LIBRAW1394_SITE:=http://www.kernel.org/pub/linux/libs/ieee1394/
-LIBRAW1394_DIR:=$(BUILD_DIR)/libraw1394-$(LIBRAW1394_VERSION)
-
-$(DL_DIR)/$(LIBRAW1394_SOURCE):
- $(call DOWNLOAD,$(LIBRAW1394_SITE),$(LIBRAW1394_SOURCE))
-
-$(LIBRAW1394_DIR)/.unpacked: $(DL_DIR)/$(LIBRAW1394_SOURCE)
- $(ZCAT) $(DL_DIR)/$(LIBRAW1394_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- touch $@
-
-$(LIBRAW1394_DIR)/.configured: $(LIBRAW1394_DIR)/.unpacked
- (cd $(LIBRAW1394_DIR); rm -rf config.cache; \
- $(TARGET_CONFIGURE_OPTS) \
- $(TARGET_CONFIGURE_ARGS) \
- ./configure $(QUIET) \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=/usr \
- --exec-prefix=/usr \
- --bindir=/usr/bin \
- --sbindir=/usr/sbin \
- --libdir=/usr/lib \
- --libexecdir=/usr/lib \
- --sysconfdir=/etc \
- --datadir=/usr/share \
- --localstatedir=/var \
- --includedir=/include \
- --mandir=/usr/man \
- --infodir=/usr/info \
- )
- touch $@
-
-$(LIBRAW1394_DIR)/.compiled: $(LIBRAW1394_DIR)/.configured
- $(MAKE) -C $(LIBRAW1394_DIR)
- touch $@
-
-$(STAGING_DIR)/usr/lib/libraw1394.so: $(LIBRAW1394_DIR)/.compiled
- $(MAKE) DESTDIR=$(STAGING_DIR) -C $(LIBRAW1394_DIR)/src install
-
-$(TARGET_DIR)/usr/lib/libraw1394.so: $(STAGING_DIR)/usr/lib/libraw1394.so
- cp -dpf $(STAGING_DIR)/usr/lib/libraw1394.so* $(TARGET_DIR)/usr/lib/
-
-libraw1394: $(TARGET_DIR)/usr/lib/libraw1394.so
-
-libraw1394-source: $(DL_DIR)/$(LIBRAW1394_SOURCE)
-
-libraw1394-clean:
- rm $(TARGET_DIR)/usr/lib/libraw1394.so*
- -$(MAKE) -C $(LIBRAW1394_DIR) clean
-
-libraw1394-dirclean:
- rm -rf $(LIBRAW1394_DIR)
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_LIBRAW1394),y)
-TARGETS+=libraw1394
-endif
+LIBRAW1394_INSTALL_STAGING=YES
+$(eval $(call AUTOTARGETS,package,libraw1394))
diff --git a/package/libsysfs/libsysfs.mk b/package/libsysfs/libsysfs.mk
index a5901516d..f8233fe31 100644
--- a/package/libsysfs/libsysfs.mk
+++ b/package/libsysfs/libsysfs.mk
@@ -22,63 +22,8 @@
# USA
LIBSYSFS_VERSION:=2.1.0
-LIBSYSFS_DIR:=$(BUILD_DIR)/sysfsutils-$(LIBSYSFS_VERSION)
LIBSYSFS_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/linux-diag
LIBSYSFS_SOURCE:=sysfsutils-$(LIBSYSFS_VERSION).tar.gz
-LIBSYSFS_CAT:=$(ZCAT)
+LIBSYSFS_INSTALL_STAGING=YES
-$(DL_DIR)/$(LIBSYSFS_SOURCE):
- $(call DOWNLOAD,$(LIBSYSFS_SITE),$(LIBSYSFS_SOURCE))
-
-libsysfs-source: $(DL_DIR)/$(LIBSYSFS_SOURCE)
-
-$(LIBSYSFS_DIR)/.unpacked: $(DL_DIR)/$(LIBSYSFS_SOURCE)
- $(LIBSYSFS_CAT) $(DL_DIR)/$(LIBSYSFS_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- $(CONFIG_UPDATE) $(@D)
- touch $@
-
-$(LIBSYSFS_DIR)/.configured: $(LIBSYSFS_DIR)/.unpacked
- (cd $(LIBSYSFS_DIR); rm -rf config.cache; \
- $(TARGET_CONFIGURE_OPTS) \
- $(TARGET_CONFIGURE_ARGS) \
- ./configure $(QUIET) \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=/usr \
- --sysconfdir=/etc \
- )
- touch $@
-
-$(LIBSYSFS_DIR)/.compiled: $(LIBSYSFS_DIR)/.configured
- $(MAKE) -C $(LIBSYSFS_DIR)
- touch $@
-
-$(STAGING_DIR)/usr/lib/libsysfs.so: $(LIBSYSFS_DIR)/.compiled
- $(MAKE) -C $(LIBSYSFS_DIR) DESTDIR=$(STAGING_DIR) install
- $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" \
- $(STAGING_DIR)/usr/lib/libsysfs.la
- touch -c $@
-
-$(TARGET_DIR)/usr/lib/libsysfs.so: $(STAGING_DIR)/usr/lib/libsysfs.so
- cp -dpf $(STAGING_DIR)/usr/lib/libsysfs.so* $(TARGET_DIR)/usr/lib/
- -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libsysfs.so
-
-libsysfs: $(TARGET_DIR)/usr/lib/libsysfs.so
-
-libsysfs-clean:
- -$(MAKE) -C $(LIBSYSFS_DIR) clean
- -$(MAKE) -C $(LIBSYSFS_DIR) DESTDIR=$(STAGING_DIR) uninstall
- rm -f $(TARGET_DIR)/usr/lib/libsysfs.so*
-
-libsysfs-dirclean:
- rm -rf $(LIBSYSFS_DIR)
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_LIBSYSFS),y)
-TARGETS+=libsysfs
-endif
+$(eval $(call AUTOTARGETS,package,libsysfs))
diff --git a/package/multimedia/aumix/aumix-2.8-fix-incorrect-makefile-am.patch b/package/multimedia/aumix/aumix-2.8-fix-incorrect-makefile-am.patch
new file mode 100644
index 000000000..8d55218bb
--- /dev/null
+++ b/package/multimedia/aumix/aumix-2.8-fix-incorrect-makefile-am.patch
@@ -0,0 +1,29 @@
+Aumix's src/Makefile.am incorrect adds @includedir@ to the list of
+include paths and @libdir@ to the list of libraries paths. This is
+incorrect, as @includedir@ and @libdir@ are respectively /usr/include
+and /usr/lib, even in cross-compilation mode.
+
+At the same time, use AM_CFLAGS instead of CFLAGS, as is done on the
+similar patch found in OpenEmbedded.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ src/Makefile.am | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+Index: aumix-2.8/src/Makefile.am
+===================================================================
+--- aumix-2.8.orig/src/Makefile.am
++++ aumix-2.8/src/Makefile.am
+@@ -7,9 +7,8 @@
+ mouse.c common.h curses.h gpm-xterm.h gtk.h interactive.h \
+ mouse.h play.xpm record.xpm
+ localedir = $(datadir)/locale
+-INCLUDES = -I../intl -DLOCALEDIR=\"$(localedir)\" -I@includedir@
+-CFLAGS = @CFLAGS@ @GLIB_CFLAGS@ @GTK_CFLAGS@
+-LDADD = -L@libdir@
++INCLUDES = -I../intl -DLOCALEDIR=\"$(localedir)\"
++AM_CFLAGS = @CFLAGS@ @GLIB_CFLAGS@ @GTK_CFLAGS@
+ LIBS = @LIBS@ @GTK_LIBS@ @INTLLIBS@
+ DEFS = @DEFS@
+
diff --git a/package/multimedia/aumix/aumix.mk b/package/multimedia/aumix/aumix.mk
index 64fadc0e1..e28a72037 100644
--- a/package/multimedia/aumix/aumix.mk
+++ b/package/multimedia/aumix/aumix.mk
@@ -7,57 +7,15 @@
AUMIX_VERSION=2.8
AUMIX_SOURCE=aumix-$(AUMIX_VERSION).tar.bz2
AUMIX_SITE=http://jpj.net/~trevor/aumix
-AUMIX_DIR=$(BUILD_DIR)/aumix-$(AUMIX_VERSION)
-AUMIX_CAT:=$(BZCAT)
+AUMIX_AUTORECONF=YES
-$(DL_DIR)/$(AUMIX_SOURCE):
- $(call DOWNLOAD,$(AUMIX_SITE),$(AUMIX_SOURCE))
+AUMIX_CONF_OPT = \
+ --without-gtk \
+ --without-gtk1 \
+ --without-alsa \
+ --without-gpm \
+ --without-sysmouse
-$(AUMIX_DIR)/.unpacked: $(DL_DIR)/$(AUMIX_SOURCE)
- $(AUMIX_CAT) $(DL_DIR)/$(AUMIX_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- touch $@
+AUMIX_DEPENDENCIES = ncurses
-$(AUMIX_DIR)/.configured: $(AUMIX_DIR)/.unpacked
- (cd $(AUMIX_DIR); rm -rf config.cache; \
- $(TARGET_CONFIGURE_OPTS) \
- $(TARGET_CONFIGURE_ARGS) \
- ./configure $(QUIET) \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=/usr \
- --sysconfdir=/etc \
- --libdir=$(STAGING_DIR)/lib \
- --includedir=$(STAGING_DIR)/usr/include \
- --without-gtk \
- --without-gtk1 \
- --without-alsa \
- --without-gpm \
- --without-sysmouse \
- $(DISABLE_NLS) \
- )
- touch $@
-
-$(AUMIX_DIR)/src/aumix: $(AUMIX_DIR)/.configured
- $(MAKE) CC=$(TARGET_CC) -C $(AUMIX_DIR)
-
-$(TARGET_DIR)/usr/bin/aumix: $(AUMIX_DIR)/src/aumix
- $(MAKE) -C $(AUMIX_DIR) DESTDIR=$(TARGET_DIR) install
-
-aumix: ncurses $(TARGET_DIR)/usr/bin/aumix
-
-aumix-source: $(DL_DIR)/$(AUMIX_SOURCE)
-
-aumix-clean:
- -$(MAKE) -C $(AUMIX_DIR) clean
-
-aumix-dirclean:
- rm -rf $(AUMIX_DIR)
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_AUMIX),y)
-TARGETS+=aumix
-endif
+$(eval $(call AUTOTARGETS,package/multimedia,aumix))
diff --git a/package/multimedia/libid3tag/libid3tag.mk b/package/multimedia/libid3tag/libid3tag.mk
index ba2f1d021..bcb110f8c 100644
--- a/package/multimedia/libid3tag/libid3tag.mk
+++ b/package/multimedia/libid3tag/libid3tag.mk
@@ -7,62 +7,8 @@
LIBID3TAG_VERSION:=0.15.1b
LIBID3TAG_SOURCE:=libid3tag-$(LIBID3TAG_VERSION).tar.gz
LIBID3TAG_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/mad
-LIBID3TAG_DIR:=$(BUILD_DIR)/libid3tag-$(LIBID3TAG_VERSION)
-LIBID3TAG_CAT:=$(ZCAT)
-LIBID3TAG_BIN:=libid3tag.so.0.3.0
-LIBID3TAG_TARGET_BIN:=usr/lib/$(LIBID3TAG_BIN)
+LIBID3TAG_INSTALL_STAGING=YES
+LIBID3TAG_DEPENDENCIES=zlib
+LIBID3TAG_LIBTOOL_PATCH=NO
-$(DL_DIR)/$(LIBID3TAG_SOURCE):
- $(call DOWNLOAD,$(LIBID3TAG_SITE),$(LIBID3TAG_SOURCE))
-
-$(LIBID3TAG_DIR)/.unpacked: $(DL_DIR)/$(LIBID3TAG_SOURCE)
- $(LIBID3TAG_CAT) $(DL_DIR)/$(LIBID3TAG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- toolchain/patch-kernel.sh $(LIBID3TAG_DIR) package/multimedia/libid3tag/ libid3tag-$(LIBID3TAG_VERSION)\*.patch\*
- $(CONFIG_UPDATE) $(LIBID3TAG_DIR)
- touch $@
-
-$(LIBID3TAG_DIR)/.configured: $(LIBID3TAG_DIR)/.unpacked
- (cd $(LIBID3TAG_DIR); rm -rf config.cache; \
- $(TARGET_CONFIGURE_OPTS) \
- $(TARGET_CONFIGURE_ARGS) \
- ./configure $(QUIET) \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=/usr \
- --sysconfdir=/etc \
- $(DISABLE_NLS) \
- )
- touch $@
-
-$(LIBID3TAG_DIR)/.libs/$(LIBID3TAG_BIN): $(LIBID3TAG_DIR)/.configured
- $(MAKE) -C $(LIBID3TAG_DIR)
-
-$(STAGING_DIR)/$(LIBID3TAG_TARGET_BIN): $(LIBID3TAG_DIR)/.libs/$(LIBID3TAG_BIN)
- $(MAKE) DESTDIR=$(STAGING_DIR) -C $(LIBID3TAG_DIR) install
- $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libid3tag.la
-
-$(TARGET_DIR)/$(LIBID3TAG_TARGET_BIN): $(STAGING_DIR)/$(LIBID3TAG_TARGET_BIN)
- cp -dpf $(STAGING_DIR)/usr/lib/libid3tag.so* $(TARGET_DIR)/usr/lib/
- -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libid3tag.so*
-
-libid3tag: zlib $(TARGET_DIR)/$(LIBID3TAG_TARGET_BIN)
-
-libid3tag-source: $(DL_DIR)/$(LIBID3TAG_SOURCE)
-
-libid3tag-clean:
- -$(MAKE) -C $(LIBID3TAG_DIR) clean
- rm -f $(STAGING_DIR)/$(LIBID3TAG_TARGET_BIN)
- rm -f $(TARGET_DIR)/$(LIBID3TAG_TARGET_BIN) \
- $(TARGET_DIR)/usr/lib/libid3tag*
-
-libid3tag-dirclean:
- rm -rf $(LIBID3TAG_DIR)
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_LIBID3TAG),y)
-TARGETS+=libid3tag
-endif
+$(eval $(call AUTOTARGETS,package/multimedia,libid3tag))
diff --git a/package/multimedia/libmad/libmad.mk b/package/multimedia/libmad/libmad.mk
index 83be902a3..ae83725e9 100644
--- a/package/multimedia/libmad/libmad.mk
+++ b/package/multimedia/libmad/libmad.mk
@@ -7,75 +7,18 @@
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)/libmad-$(LIBMAD_VERSION)
-LIBMAD_CAT:=$(ZCAT)
+LIBMAD_INSTALL_STAGING=YES
+LIBMAD_LIBTOOL_PATCH=NO
-$(DL_DIR)/$(LIBMAD_SOURCE):
- $(call DOWNLOAD,$(LIBMAD_SITE),$(LIBMAD_SOURCE))
-
-$(LIBMAD_DIR)/.unpacked: $(DL_DIR)/$(LIBMAD_SOURCE)
- $(LIBMAD_CAT) $(DL_DIR)/$(LIBMAD_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- $(CONFIG_UPDATE) $(LIBMAD_DIR)
- toolchain/patch-kernel.sh $(LIBMAD_DIR) package/multimedia/libmad/ libmad-$(LIBMAD_VERSION)\*.patch
- toolchain/patch-kernel.sh $(LIBMAD_DIR) package/multimedia/libmad/ libmad-$(LIBMAD_VERSION)\*.patch.$(ARCH)
+define LIBMAD_PREVENT_AUTOMAKE
# Prevent automake from running.
- (cd $(LIBMAD_DIR); touch -c config* aclocal.m4 Makefile*);
- touch $@
-
-$(LIBMAD_DIR)/.configured: $(LIBMAD_DIR)/.unpacked
- (cd $(LIBMAD_DIR); rm -rf config.cache; \
- $(TARGET_CONFIGURE_OPTS) \
- $(TARGET_CONFIGURE_ARGS) \
- ./configure $(QUIET) \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=/usr \
- --sysconfdir=/etc \
- --disable-debugging \
- --enable-speed \
- $(DISABLE_NLS) \
- )
- touch $@
-
-$(LIBMAD_DIR)/libmad.la: $(LIBMAD_DIR)/.configured
- rm -f $@
- $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(LIBMAD_DIR)
-
-$(STAGING_DIR)/usr/lib/libmad.so.0: $(LIBMAD_DIR)/libmad.la
- $(MAKE) DESTDIR=$(STAGING_DIR) -C $(LIBMAD_DIR) install
- $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libmad.la
-
-$(TARGET_DIR)/usr/lib/libmad.so.0: $(STAGING_DIR)/usr/lib/libmad.so.0
-ifeq ($(BR2_HAVE_DEVFILES),y)
- 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.la $(TARGET_DIR)/usr/lib/
- cp -dpf $(STAGING_DIR)/usr/lib/libmad.so $(TARGET_DIR)/usr/lib/
- cp -dpf $(STAGING_DIR)/usr/lib/libmad.a $(TARGET_DIR)/usr/lib/
-endif
- cp -dpf $(STAGING_DIR)/usr/lib/libmad.so.* $(TARGET_DIR)/usr/lib/
- $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libmad.so.*
-
-libmad: $(TARGET_DIR)/usr/lib/libmad.so.0
+ (cd $(@D); touch -c config* aclocal.m4 Makefile*);
+endef
-libmad-source: $(DL_DIR)/$(LIBMAD_SOURCE)
-
-libmad-clean:
- -$(MAKE) -C $(LIBMAD_DIR) clean
- -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_POST_PATCH_HOOKS += LIBMAD_PREVENT_AUTOMAKE
+LIBMAD_CONF_OPT = \
+ --disable-debugging \
+ --enable-speed
-libmad-dirclean:
- rm -rf $(LIBMAD_DIR)
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_LIBMAD),y)
-TARGETS+=libmad
-endif
+$(eval $(call AUTOTARGETS,package/multimedia,libmad))
diff --git a/package/multimedia/madplay/madplay.mk b/package/multimedia/madplay/madplay.mk
index fce9a6169..a2ac14d38 100644
--- a/package/multimedia/madplay/madplay.mk
+++ b/package/multimedia/madplay/madplay.mk
@@ -6,68 +6,14 @@
MADPLAY_VERSION:=0.15.2b
MADPLAY_SOURCE:=madplay-$(MADPLAY_VERSION).tar.gz
MADPLAY_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/mad
-MADPLAY_CAT:=$(ZCAT)
-MADPLAY_DIR:=$(BUILD_DIR)/madplay-$(MADPLAY_VERSION)
-MADPLAY_BIN:=madplay
-MADPLAY_TARGET_BIN:=usr/bin/$(MADPLAY_BIN)
+MADPLAY_LIBTOOL_PATCH=NO
+MADPLAY_DEPENDENCIES=libmad libid3tag
# Check if ALSA is built, then we should configure after alsa-lib so
# ./configure can find alsa-lib.
ifeq ($(BR2_PACKAGE_MADPLAY_ALSA),y)
-MADPLAY_USE_ALSA:=--with-alsa
-MADPLAY_ALSA_DEP:=alsa-lib
+MADPLAY_CONF_OPT+=--with-alsa
+MADPLAY_DEPENDENCIES+=alsa-lib
endif
-$(DL_DIR)/$(MADPLAY_SOURCE):
- $(call DOWNLOAD,$(MADPLAY_SITE),$(MADPLAY_SOURCE))
-
-$(MADPLAY_DIR)/.unpacked: $(DL_DIR)/$(MADPLAY_SOURCE)
- $(MADPLAY_CAT) $(DL_DIR)/$(MADPLAY_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- toolchain/patch-kernel.sh $(MADPLAY_DIR) package/multimedia/madplay madplay\*.patch\*
- $(CONFIG_UPDATE) $(MADPLAY_DIR)
- touch $@
-
-$(MADPLAY_DIR)/.configured: $(MADPLAY_DIR)/.unpacked
- (cd $(MADPLAY_DIR); rm -rf config.cache; \
- $(TARGET_CONFIGURE_ARGS) \
- $(TARGET_CONFIGURE_OPTS) \
- CFLAGS="$(TARGET_CFLAGS) $(BR2_MADPLAY_CFLAGS)" \
- LDFLAGS="$(TARGET_LDFLAGS)" \
- ./configure $(QUIET) \
- --target=$(REAL_GNU_TARGET_NAME) \
- --host=$(REAL_GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=/usr \
- --sysconfdir=/etc \
- $(MADPLAY_USE_ALSA) \
- $(DISABLE_NLS) \
- $(DISABLE_LARGEFILE) \
- )
- touch $@
-
-$(MADPLAY_DIR)/$(MADPLAY_BIN): $(MADPLAY_DIR)/.configured
- $(MAKE) -C $(MADPLAY_DIR)
-
-$(TARGET_DIR)/$(MADPLAY_TARGET_BIN): $(MADPLAY_DIR)/$(MADPLAY_BIN)
- $(INSTALL) -D $(MADPLAY_DIR)/$(MADPLAY_BIN) $(TARGET_DIR)/$(MADPLAY_TARGET_BIN)
- $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/$(MADPLAY_TARGET_BIN)
-
-madplay: $(MADPLAY_ALSA_DEP) libmad libid3tag $(TARGET_DIR)/$(MADPLAY_TARGET_BIN)
-
-madplay-clean:
- rm -f $(TARGET_DIR)/$(MADPLAY_TARGET_BIN)
- -$(MAKE) -C $(MADPLAY_DIR) clean
-
-madplay-dirclean:
- rm -rf $(MADPLAY_DIR)
-
-madplay-source: $(DL_DIR)/$(MADPLAY_SOURCE)
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_MADPLAY),y)
-TARGETS+=madplay
-endif
+$(eval $(call AUTOTARGETS,package/multimedia,madplay))
diff --git a/package/patch/patch.mk b/package/patch/patch.mk
index 2c1e3949c..31de4bb61 100644
--- a/package/patch/patch.mk
+++ b/package/patch/patch.mk
@@ -3,68 +3,9 @@
# patch
#
#############################################################
-GNUPATCH_VERSION:=2.5.9
-GNUPATCH_SOURCE:=patch_$(GNUPATCH_VERSION).orig.tar.gz
-GNUPATCH_SITE:=$(BR2_DEBIAN_MIRROR)/debian/pool/main/p/patch
-GNUPATCH_CAT:=$(ZCAT)
-GNUPATCH_DIR:=$(BUILD_DIR)/patch-$(GNUPATCH_VERSION)
-GNUPATCH_BINARY:=patch
-GNUPATCH_TARGET_BINARY:=usr/bin/patch
+PATCH_VERSION:=2.6
+PATCH_SOURCE:=patch_$(PATCH_VERSION).orig.tar.gz
+PATCH_SITE:=$(BR2_DEBIAN_MIRROR)/debian/pool/main/p/patch
+PATCH_INSTALL_TARGET_OPT=DESTDIR=$(TARGET_DIR) install
-$(DL_DIR)/$(GNUPATCH_SOURCE):
- $(call DOWNLOAD,$(GNUPATCH_SITE),$(GNUPATCH_SOURCE))
-
-patch-source: $(DL_DIR)/$(GNUPATCH_SOURCE)
-
-$(GNUPATCH_DIR)/.unpacked: $(DL_DIR)/$(GNUPATCH_SOURCE)
- $(GNUPATCH_CAT) $(DL_DIR)/$(GNUPATCH_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- $(CONFIG_UPDATE) $(GNUPATCH_DIR)
- touch $(GNUPATCH_DIR)/.unpacked
-
-$(GNUPATCH_DIR)/.configured: $(GNUPATCH_DIR)/.unpacked
- (cd $(GNUPATCH_DIR); rm -rf config.cache; \
- $(TARGET_CONFIGURE_OPTS) \
- $(TARGET_CONFIGURE_ARGS) \
- ./configure $(QUIET) \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=/usr \
- --exec-prefix=/usr \
- --bindir=/usr/bin \
- --sbindir=/usr/sbin \
- --libdir=/lib \
- --libexecdir=/usr/lib \
- --sysconfdir=/etc \
- --datadir=/usr/share \
- --localstatedir=/var \
- --mandir=/usr/man \
- --infodir=/usr/info \
- $(DISABLE_NLS) \
- $(DISABLE_LARGEFILE) \
- )
- touch $(GNUPATCH_DIR)/.configured
-
-$(GNUPATCH_DIR)/$(GNUPATCH_BINARY): $(GNUPATCH_DIR)/.configured
- $(MAKE) CC=$(TARGET_CC) -C $(GNUPATCH_DIR)
-
-$(TARGET_DIR)/$(GNUPATCH_TARGET_BINARY): $(GNUPATCH_DIR)/$(GNUPATCH_BINARY)
- rm -f $(TARGET_DIR)/$(GNUPATCH_TARGET_BINARY)
- cp -a $(GNUPATCH_DIR)/$(GNUPATCH_BINARY) $(TARGET_DIR)/$(GNUPATCH_TARGET_BINARY)
-
-patch: $(TARGET_DIR)/$(GNUPATCH_TARGET_BINARY)
-
-patch-clean:
- rm -f $(TARGET_DIR)/$(GNUPATCH_TARGET_BINARY)
-
-patch-dirclean:
- rm -rf $(GNUPATCH_DIR)
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_PATCH),y)
-TARGETS+=patch
-endif
+$(eval $(call AUTOTARGETS,package,patch))
diff --git a/package/setserial/setserial.mk b/package/setserial/setserial.mk
index 966763721..1c222a209 100644
--- a/package/setserial/setserial.mk
+++ b/package/setserial/setserial.mk
@@ -8,73 +8,14 @@ SETSERIAL_PATCH_VERSION:=.orig
SETSERIAL_PATCH_FILE:=setserial_2.17-45.diff.gz
SETSERIAL_SOURCE:=setserial_$(SETSERIAL_VERSION)$(SETSERIAL_PATCH_VERSION).tar.gz
SETSERIAL_SITE:=$(BR2_DEBIAN_MIRROR)/debian/pool/main/s/setserial/
-SETSERIAL_DIR:=$(BUILD_DIR)/setserial-$(SETSERIAL_VERSION)
-SETSERIAL_BINARY:=setserial
-SETSERIAL_TARGET_BINARY:=usr/bin/setserial
+SETSERIAL_INSTALL_TARGET_OPT=DESTDIR=$(TARGET_DIR) install
-$(DL_DIR)/$(SETSERIAL_SOURCE):
- $(call DOWNLOAD,$(SETSERIAL_SITE),$(SETSERIAL_SOURCE))
-
-ifneq ($(SETSERIAL_PATCH_FILE),)
-SETSERIAL_PATCH:=$(DL_DIR)/$(SETSERIAL_PATCH_FILE)
-$(SETSERIAL_PATCH):
- $(call DOWNLOAD,$(SETSERIAL_SITE),$(SETSERIAL_PATCH_FILE))
-else
-SETSERIAL_PATCH:=
-endif
-
-$(SETSERIAL_DIR)/.unpacked: $(DL_DIR)/$(SETSERIAL_SOURCE) $(SETSERIAL_PATCH)
- $(ZCAT) $(DL_DIR)/$(SETSERIAL_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- $(CONFIG_UPDATE) $(SETSERIAL_DIR)
- toolchain/patch-kernel.sh $(SETSERIAL_DIR) package/setserial setserial\*.patch
-ifneq ($(SETSERIAL_PATCH_FILE),)
- toolchain/patch-kernel.sh $(SETSERIAL_DIR) $(DL_DIR) $(SETSERIAL_PATCH_FILE)
- if [ -d $(SETSERIAL_DIR)/debian/patches ]; then \
- toolchain/patch-kernel.sh $(SETSERIAL_DIR) $(SETSERIAL_DIR)/debian/patches \*.patch; \
+define SETSERIAL_APPLY_DEBIAN_PATCHES
+ if [ -d $(@D)/debian/patches ]; then \
+ toolchain/patch-kernel.sh $(@D) $(@D)/debian/patches \*.patch; \
fi
-endif
- touch $(SETSERIAL_DIR)/gorhack.h
- touch $@
-
-$(SETSERIAL_DIR)/.configured: $(SETSERIAL_DIR)/.unpacked
- (cd $(SETSERIAL_DIR); rm -rf config.cache; \
- $(TARGET_CONFIGURE_OPTS) \
- $(TARGET_CONFIGURE_ARGS) \
- CFLAGS="$(TARGET_CFLAGS) $(SETSERIAL_CFLAGS)" \
- ./configure $(QUIET) \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=/usr \
- --sysconfdir=/etc \
- )
- touch $@
-
-$(SETSERIAL_DIR)/$(SETSERIAL_BINARY): $(SETSERIAL_DIR)/.configured
- $(MAKE) CC=$(TARGET_CC) -C $(SETSERIAL_DIR)
-
-$(TARGET_DIR)/$(SETSERIAL_TARGET_BINARY): $(SETSERIAL_DIR)/$(SETSERIAL_BINARY)
- install -c $(SETSERIAL_DIR)/$(SETSERIAL_BINARY) $(TARGET_DIR)/$(SETSERIAL_TARGET_BINARY)
- $(STRIPCMD) $(STRIP_STRIP_ALL) $(TARGET_DIR)/$(SETSERIAL_TARGET_BINARY)
-
-setserial: $(TARGET_DIR)/$(SETSERIAL_TARGET_BINARY)
-
-setserial-source: $(DL_DIR)/$(SETSERIAL_SOURCE) $(SETSERIAL_PATCH)
+endef
-setserial-unpacked: $(SETSERIAL_DIR)/.unpacked
+SETSERIAL_POST_PATCH_HOOKS += SETSERIAL_APPLY_DEBIAN_PATCHES
-setserial-clean:
- rm -f $(TARGET_DIR)/$(SETSERIAL_TARGET_BINARY)
- -$(MAKE) -C $(SETSERIAL_DIR) clean
-
-setserial-dirclean:
- rm -rf $(SETSERIAL_DIR)
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_SETSERIAL),y)
-TARGETS+=setserial
-endif
+$(eval $(call AUTOTARGETS,package,setserial))
diff --git a/package/smartmontools/smartmontools.mk b/package/smartmontools/smartmontools.mk
index fde76b069..d768b346a 100644
--- a/package/smartmontools/smartmontools.mk
+++ b/package/smartmontools/smartmontools.mk
@@ -7,72 +7,5 @@ SMARTMONTOOLS_VERSION:=5.33
SMARTMONTOOLS_SOURCE:=smartmontools-$(SMARTMONTOOLS_VERSION).tar.gz
SMARTMONTOOLS_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/smartmontools
SMARTMONTOOLS_DIR:=$(BUILD_DIR)/smartmontools-$(SMARTMONTOOLS_VERSION)
-SMARTMONTOOLS_CAT:=$(ZCAT)
-SMARTMONTOOLS_BINARY:=smartctl
-SMARTMONTOOLS_BINARY2:=smartd
-SMARTMONTOOLS_TARGET_BINARY:=usr/sbin/smartctl
-SMARTMONTOOLS_TARGET_BINARY2:=usr/sbin/smartd
-$(DL_DIR)/$(SMARTMONTOOLS_SOURCE):
- $(call DOWNLOAD,$(SMARTMONTOOLS_SITE),$(SMARTMONTOOLS_SOURCE))
-
-smartmontools-source: $(DL_DIR)/$(SMARTMONTOOLS_SOURCE)
-
-$(SMARTMONTOOLS_DIR)/.unpacked: $(DL_DIR)/$(SMARTMONTOOLS_SOURCE)
- $(SMARTMONTOOLS_CAT) $(DL_DIR)/$(SMARTMONTOOLS_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- toolchain/patch-kernel.sh $(SMARTMONTOOLS_DIR) package/smartmontools/ \*.patch
- touch $(SMARTMONTOOLS_DIR)/.unpacked
-
-$(SMARTMONTOOLS_DIR)/.configured: $(SMARTMONTOOLS_DIR)/.unpacked
- (cd $(SMARTMONTOOLS_DIR); rm -rf config.cache; \
- $(TARGET_CONFIGURE_OPTS) \
- $(TARGET_CONFIGURE_ARGS) \
- ./configure $(QUIET) \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=/usr \
- --exec-prefix=/usr \
- --bindir=/usr/bin \
- --sbindir=/usr/sbin \
- --libdir=/lib \
- --libexecdir=/usr/lib \
- --sysconfdir=/etc \
- --datadir=/usr/share \
- --localstatedir=/var \
- --mandir=/usr/man \
- --infodir=/usr/info \
- $(DISABLE_NLS) \
- $(DISABLE_LARGEFILE) \
- )
- touch $(SMARTMONTOOLS_DIR)/.configured
-
-$(SMARTMONTOOLS_DIR)/$(SMARTMONTOOLS_BINARY): $(SMARTMONTOOLS_DIR)/.configured
- $(MAKE) -C $(SMARTMONTOOLS_DIR)
- $(STRIPCMD) $(SMARTMONTOOLS_DIR)/$(SMARTMONTOOLS_BINARY)
- $(STRIPCMD) $(SMARTMONTOOLS_DIR)/$(SMARTMONTOOLS_BINARY2)
- touch -c $(SMARTMONTOOLS_DIR)/$(SMARTMONTOOLS_BINARY)
-
-$(TARGET_DIR)/$(SMARTMONTOOLS_TARGET_BINARY): $(SMARTMONTOOLS_DIR)/$(SMARTMONTOOLS_BINARY)
- cp $(SMARTMONTOOLS_DIR)/$(SMARTMONTOOLS_BINARY) $(TARGET_DIR)/usr/sbin/
-
-$(TARGET_DIR)/$(SMARTMONTOOLS_TARGET_BINARY2): $(SMARTMONTOOLS_DIR)/$(SMARTMONTOOLS_BINARY)
- cp $(SMARTMONTOOLS_DIR)/$(SMARTMONTOOLS_BINARY2) $(TARGET_DIR)/usr/sbin/
-
-smartmontools: $(TARGET_DIR)/$(SMARTMONTOOLS_TARGET_BINARY)
-
-smartmontools-clean:
- $(MAKE) DESTDIR=$(TARGET_DIR) -C $(SMARTMONTOOLS_DIR) uninstall
- -$(MAKE) -C $(SMARTMONTOOLS_DIR) clean
-
-smartmontools-dirclean:
- rm -rf $(SMARTMONTOOLS_DIR)
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_SMARTMONTOOLS),y)
-TARGETS+=smartmontools
-endif
+$(eval $(call AUTOTARGETS,package,smartmontools))
diff --git a/package/tar/tar.mk b/package/tar/tar.mk
index 32189b5f4..f9ee74b04 100644
--- a/package/tar/tar.mk
+++ b/package/tar/tar.mk
@@ -3,82 +3,8 @@
# tar
#
#############################################################
-GNUTAR_VERSION:=1.21
-GNUTAR_SOURCE:=tar-$(GNUTAR_VERSION).tar.bz2
-GNUTAR_SITE:=$(BR2_GNU_MIRROR)/tar/
-GNUTAR_DIR:=$(BUILD_DIR)/tar-$(GNUTAR_VERSION)
-GNUTAR_CAT:=$(BZCAT)
-GNUTAR_BINARY:=src/tar
-GNUTAR_TARGET_BINARY:=bin/tar
+TAR_VERSION:=1.21
+TAR_SOURCE:=tar-$(TAR_VERSION).tar.bz2
+TAR_SITE:=$(BR2_GNU_MIRROR)/tar/
-$(DL_DIR)/$(GNUTAR_SOURCE):
- $(call DOWNLOAD,$(GNUTAR_SITE),$(GNUTAR_SOURCE))
-
-tar-source: $(DL_DIR)/$(GNUTAR_SOURCE)
-
-$(GNUTAR_DIR)/.unpacked: $(DL_DIR)/$(GNUTAR_SOURCE)
- $(GNUTAR_CAT) $(DL_DIR)/$(GNUTAR_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- toolchain/patch-kernel.sh $(GNUTAR_DIR) package/tar/ tar\*.patch
- $(CONFIG_UPDATE) $(GNUTAR_DIR)
- $(CONFIG_UPDATE) $(GNUTAR_DIR)/build-aux
- touch $@
-
-$(GNUTAR_DIR)/.configured: $(GNUTAR_DIR)/.unpacked
- (cd $(GNUTAR_DIR); rm -rf config.cache; \
- $(TARGET_CONFIGURE_OPTS) \
- $(TARGET_CONFIGURE_ARGS) \
- ac_cv_func_chown_works=yes \
- gl_cv_func_chown_follows_symlink=yes \
- ./configure $(QUIET) \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=/usr \
- --exec-prefix=/usr \
- --bindir=/usr/bin \
- --sbindir=/usr/sbin \
- --libdir=/lib \
- --libexecdir=/usr/lib \
- --sysconfdir=/etc \
- --datadir=/usr/share \
- --localstatedir=/var \
- --mandir=/usr/man \
- --infodir=/usr/info \
- $(DISABLE_NLS) \
- $(DISABLE_LARGEFILE) \
- )
- touch $@
-
-$(GNUTAR_DIR)/$(GNUTAR_BINARY): $(GNUTAR_DIR)/.configured
- $(MAKE) -C $(GNUTAR_DIR)
-
-# This stuff is needed to work around GNU make deficiencies
-tar-target_binary: $(GNUTAR_DIR)/$(GNUTAR_BINARY)
- @if [ -L $(TARGET_DIR)/$(GNUTAR_TARGET_BINARY) ]; then \
- rm -f $(TARGET_DIR)/$(GNUTAR_TARGET_BINARY); \
- fi
- @if [ ! -f $(GNUTAR_DIR)/$(GNUTAR_BINARY) -o $(TARGET_DIR)/$(GNUTAR_TARGET_BINARY) \
- -ot $(GNUTAR_DIR)/$(GNUTAR_BINARY) ]; then \
- set -x; \
- rm -f $(TARGET_DIR)/$(GNUTAR_TARGET_BINARY); \
- cp -a $(GNUTAR_DIR)/$(GNUTAR_BINARY) \
- $(TARGET_DIR)/$(GNUTAR_TARGET_BINARY); \
- fi
-
-tar: tar-target_binary
-
-tar-clean:
- $(MAKE) DESTDIR=$(TARGET_DIR) -C $(GNUTAR_DIR) uninstall
- -$(MAKE) -C $(GNUTAR_DIR) clean
-
-tar-dirclean:
- rm -rf $(GNUTAR_DIR)
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_TAR),y)
-TARGETS+=tar
-endif
+$(eval $(call AUTOTARGETS,package,tar))
diff --git a/package/udpcast/udpcast.mk b/package/udpcast/udpcast.mk
index 3e0823ad3..d290cc9be 100644
--- a/package/udpcast/udpcast.mk
+++ b/package/udpcast/udpcast.mk
@@ -6,90 +6,25 @@
UDPCAST_VERSION:=20071228
UDPCAST_SOURCE:=udpcast-$(UDPCAST_VERSION).tar.gz
UDPCAST_SITE:=http://www.udpcast.linux.lu/download
-UDPCAST_CAT:=$(ZCAT)
-UDPCAST_DIR:=$(BUILD_DIR)/udpcast-$(UDPCAST_VERSION)
+UDPCAST_INSTALL_TARGET_OPT=DESTDIR=$(TARGET_DIR) install
+UDPCAST_CONF_ENV = $(if $(BR_LARGEFILE),ac_cv_type_stat64=yes,ac_cv_type_stat64=no)
-BR2_UDPCAST_CFLAGS:=
-
-$(DL_DIR)/$(UDPCAST_SOURCE):
- $(call DOWNLOAD,$(UDPCAST_SITE),$(UDPCAST_SOURCE))
-
-udpcast-source: $(DL_DIR)/$(UDPCAST_SOURCE)
-
-$(UDPCAST_DIR)/.unpacked: $(DL_DIR)/$(UDPCAST_SOURCE)
- $(UDPCAST_CAT) $(DL_DIR)/$(UDPCAST_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- toolchain/patch-kernel.sh $(UDPCAST_DIR) package/udpcast udpcast\*.patch
- $(CONFIG_UPDATE) $(UDPCAST_DIR)
- touch $(UDPCAST_DIR)/.unpacked
-
-$(UDPCAST_DIR)/.configured: $(UDPCAST_DIR)/.unpacked
- (cd $(UDPCAST_DIR); rm -rf config.cache; \
- $(if $(BR_LARGEFILE),ac_cv_type_stat64=yes,ac_cv_type_stat64=no) \
- $(TARGET_CONFIGURE_OPTS) \
- $(TARGET_CONFIGURE_ARGS) \
- CFLAGS="$(TARGET_CFLAGS) $(BR2_UDPCAST_CFLAGS)" \
- ./configure $(QUIET) \
- --target=$(REAL_GNU_TARGET_NAME) \
- --host=$(REAL_GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=/usr \
- --exec-prefix=/usr \
- --bindir=/usr/bin \
- --sbindir=/usr/sbin \
- --libdir=/lib \
- --libexecdir=/usr/lib \
- --sysconfdir=/etc \
- --datadir=/usr/share \
- --localstatedir=/var \
- --mandir=/usr/man \
- --infodir=/usr/info \
- $(DISABLE_NLS) \
- )
- touch $(UDPCAST_DIR)/.configured
-
-UDPCAST_BINARIES:=udp-sender udp-receiver
-
-UDPCAST_BUILD_TARGETS:=$(addprefix $(UDPCAST_DIR)/,$(UDPCAST_BINARIES))
-
-$(UDPCAST_BUILD_TARGETS): $(UDPCAST_DIR)/.configured
- $(MAKE) CC=$(TARGET_CC) -C $(UDPCAST_DIR)
-
-UDPCAST_PROGS:=$(addprefix $(TARGET_DIR)/usr/sbin/,$(UDPCAST_BINARIES))
-
-UDPCAST_INSTALL_MANPAGES=$(addprefix $(TARGET_DIR)/usr/man/, $(addsuffix .1,$(UDPCAST_BINARIES)))
-
-UDPCAST_INSTALL_FILES:=$(UDPCAST_PROGS) $(UDPCAST_INSTALL_MANPAGES)
-
-$(UDPCAST_PROGS): $(UDPCAST_BUILD_TARGETS)
- $(MAKE) -C $(UDPCAST_DIR) DESTDIR=$(TARGET_DIR) install
- $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(REMOVE_SECTION_COMMENT) \
- $(REMOVE_SECTION_NOTE) \
- $(UDPCAST_PROGS)
-ifneq ($(BR2_PACKAGE_UDPCAST_SENDER),y)
+define UDPCAST_REMOVE_UDP_SENDER
rm -f $(TARGET_DIR)/usr/sbin/udp-sender
rm -f $(TARGET_DIR)/usr/sbin/udp-sender.1
+endef
+
+ifneq ($(BR2_PACKAGE_UDPCAST_SENDER),y)
+UDPCAST_HOOK_POST_INSTALL_TARGET_HOOKS += UDPCAST_REMOVE_UDP_SENDER
endif
-ifneq ($(BR2_PACKAGE_UDPCAST_RECEIVER),y)
+
+define UDPCAST_REMOVE_UDP_RECEIVER
rm -f $(TARGET_DIR)/usr/sbin/udp-receiver
rm -f $(TARGET_DIR)/usr/sbin/udp-receiver.1
-endif
-
-udpcast: $(UDPCAST_PROGS)
-
-udpcast-clean:
- rm -f $(UDPCAST_INSTALL_FILES)
- $(MAKE) -C $(UDPCAST_DIR) clean
- rm -f $(UDPCAST_DIR)/.configured
-
-udpcast-dirclean:
- rm -rf $(UDPCAST_DIR)
-
+endef
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_UDPCAST),y)
-TARGETS+=udpcast
+ifneq ($(BR2_PACKAGE_UDPCAST_RECEIVER),y)
+UDPCAST_HOOK_POST_INSTALL_TARGET_HOOKS += UDPCAST_REMOVE_UDP_RECEIVER
endif
+
+$(eval $(call AUTOTARGETS,package,udpcast))
diff --git a/package/vtun/vtun.mk b/package/vtun/vtun.mk
index 15eba01d9..0990820f5 100644
--- a/package/vtun/vtun.mk
+++ b/package/vtun/vtun.mk
@@ -6,81 +6,15 @@
# to enable that within busybox
#
#############################################################
-#Old version 2.6
VTUN_VERSION:=3.0.2
VTUN_SOURCE:=vtun-$(VTUN_VERSION).tar.gz
VTUN_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/vtun/
-VTUN_DIR:=$(BUILD_DIR)/vtun-$(VTUN_VERSION)
-VTUN_CAT:=$(ZCAT)
-VTUN_BINARY:=vtund
-VTUN_TARGET_BINARY:=usr/sbin/vtund
+VTUN_INSTALL_TARGET_OPT=DESTDIR=$(TARGET_DIR) install
+VTUN_DEPENDENCIES = zlib lzo openssl
-$(DL_DIR)/$(VTUN_SOURCE):
- $(call DOWNLOAD,$(VTUN_SITE),$(VTUN_SOURCE))
-
-vtun-source: $(DL_DIR)/$(VTUN_SOURCE)
-
-$(VTUN_DIR)/.unpacked: $(DL_DIR)/$(VTUN_SOURCE)
- $(VTUN_CAT) $(DL_DIR)/$(VTUN_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- touch $@
-
-$(VTUN_DIR)/.patched: $(VTUN_DIR)/.unpacked
- toolchain/patch-kernel.sh $(VTUN_DIR) package/vtun/ vtun-$(VTUN_VERSION)\*.patch
- touch $@
-
-
-
-$(VTUN_DIR)/.configured: $(VTUN_DIR)/.patched
- (cd $(VTUN_DIR); rm -rf config.cache; \
- $(TARGET_CONFIGURE_OPTS) \
- $(TARGET_CONFIGURE_ARGS) \
- ./configure $(QUIET) \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=/usr \
- --exec-prefix=/usr \
- --bindir=/usr/bin \
- --sbindir=/usr/sbin \
- --libdir=/lib \
- --libexecdir=/usr/lib \
- --sysconfdir=/etc \
- --datadir=/usr/share \
- --localstatedir=/var \
- --mandir=/usr/man \
- --infodir=/usr/info \
+VTUN_CONF_OPT = \
--with-ssl-headers=$(STAGING_DIR)/usr/include/openssl \
--with-lzo-headers=$(STAGING_DIR)/usr/include/lzo \
- --with-lzo-lib=$(STAGING_DIR)/usr/lib \
- )
- touch $(VTUN_DIR)/.configured
-
-$(VTUN_DIR)/$(VTUN_BINARY): $(VTUN_DIR)/.configured
- $(MAKE) -C $(VTUN_DIR)
-
-$(TARGET_DIR)/$(VTUN_TARGET_BINARY): $(VTUN_DIR)/$(VTUN_BINARY)
- $(MAKE) DESTDIR=$(TARGET_DIR) -C $(VTUN_DIR) install
- rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
- $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
-
-vtun: zlib lzo openssl $(TARGET_DIR)/$(VTUN_TARGET_BINARY)
+ --with-lzo-lib=$(STAGING_DIR)/usr/lib
-vtun-unpacked: $(VTUN_DIR)/.unpacked
-
-vtun-patched: $(VTUN_DIR)/.patched
-
-vtun-clean:
- $(MAKE) DESTDIR=$(TARGET_DIR) -C $(VTUN_DIR) uninstall
- -$(MAKE) -C $(VTUN_DIR) clean
-
-vtun-dirclean:
- rm -rf $(VTUN_DIR)
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_VTUN),y)
-TARGETS+=vtun
-endif
+$(eval $(call AUTOTARGETS,package,vtun))
diff --git a/package/x11vnc/x11vnc.mk b/package/x11vnc/x11vnc.mk
index 4def7d453..f71350ddb 100644
--- a/package/x11vnc/x11vnc.mk
+++ b/package/x11vnc/x11vnc.mk
@@ -8,12 +8,9 @@ X11VNC_SOURCE = x11vnc-$(X11VNC_VERSION).tar.gz
X11VNC_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/libvncserver
X11VNC_INSTALL_STAGING = NO
X11VNC_INSTALL_TARGET = YES
-#X11VNCINSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install
-X11VNC_CONF_OPT = --target=$(GNU_TARGET_NAME) --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) --prefix=/usr \
- --includedir=/usr/include \
- --without-avahi
+X11VNC_CONF_OPT = \
+ --without-avahi
X11VNC_DEPENDENCIES = xserver_xorg-server