From c5e70f7a49f617027a9b45c2d6e8bd503e66afc5 Mon Sep 17 00:00:00 2001 From: vanhofen Date: Mon, 8 Mar 2021 00:58:20 +0100 Subject: [PATCH] - introduce package infrastructure; start with some simple things --- make/environment-build.mk | 21 +-- make/host-tools.mk | 4 +- make/target-libs.mk | 297 ++++---------------------------------- make/target-tools.mk | 215 +++------------------------ package/Makefile | 3 + package/pkg-autotools.mk | 18 +++ package/pkg-cmake.mk | 20 +++ package/pkg-utils.mk | 22 +++ 8 files changed, 120 insertions(+), 480 deletions(-) create mode 100644 package/Makefile create mode 100644 package/pkg-autotools.mk create mode 100644 package/pkg-cmake.mk create mode 100644 package/pkg-utils.mk diff --git a/make/environment-build.mk b/make/environment-build.mk index b6bfa102..7a908c0e 100644 --- a/make/environment-build.mk +++ b/make/environment-build.mk @@ -185,22 +185,7 @@ PKG_CONFIG_SYSROOT_DIR=$(TARGET_DIR) # ----------------------------------------------------------------------------- -PKG_NAME = $(basename $(@F)) -PKG_UPPER = $(call UPPERCASE,$(PKG_NAME)) -PKG_LOWER = $(call LOWERCASE,$(PKG_NAME)) -PKG = $(PKG_UPPER) - -PKG_VERSION = $($(PKG)_VERSION) -PKG_DIR = $($(PKG)_DIR) -PKG_SOURCE = $($(PKG)_SOURCE) -PKG_SITE = $($(PKG)_SITE) -PKG_PATCH = $($(PKG)_PATCH) - -PKG_BUILD_DIR = $(BUILD_DIR)/$(PKG_DIR) -PKG_FILES_DIR = $(PACKAGE_DIR)/$(subst host-,,$(PKG_NAME))/files -PKG_PATCHES_DIR = $(PACKAGE_DIR)/$(subst host-,,$(PKG_NAME))/patches - -PKG_CHDIR = $(CD) $(PKG_BUILD_DIR) +include package/pkg-utils.mk # ----------------------------------------------------------------------------- @@ -455,6 +440,10 @@ NINJA_INSTALL = DESTDIR=$(TARGET_DIR) \ # ----------------------------------------------------------------------------- +include package/Makefile + +# ----------------------------------------------------------------------------- + GITHUB = https://github.com GITHUB_SSH = git@github.com BITBUCKET = https://bitbucket.org diff --git a/make/host-tools.mk b/make/host-tools.mk index 5a0d6cfa..041648c2 100644 --- a/make/host-tools.mk +++ b/make/host-tools.mk @@ -34,7 +34,7 @@ pkg-config-preqs: # ----------------------------------------------------------------------------- -HOST_PKG-CONFIG = $(HOST_DIR)/bin/pkg-config +HOST_PKG_CONFIG = $(HOST_DIR)/bin/pkg-config # ----------------------------------------------------------------------------- @@ -54,7 +54,7 @@ host-pkgconf: $(DL_DIR)/$(HOST_PKGCONF_SOURCE) | $(HOST_DIR) pkg-config-preqs $(HOST_CONFIGURE);\ $(MAKE); \ $(MAKE) install - $(INSTALL_EXEC) $(PKG_FILES_DIR)/pkg-config.in $(HOST_PKG-CONFIG) + $(INSTALL_EXEC) $(PKG_FILES_DIR)/pkg-config.in $(HOST_PKG_CONFIG) $(REMOVE)/$(PKG_DIR) $(TOUCH) diff --git a/make/target-libs.mk b/make/target-libs.mk index 8030a7fb..3c6fdbbc 100644 --- a/make/target-libs.mk +++ b/make/target-libs.mk @@ -52,17 +52,9 @@ LIBFUSE_CONF_OPTS = \ --enable-silent-rules libfuse: $(DL_DIR)/$(LIBFUSE_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_LIBTOOL) + $(call autotools-package) -rm -r $(TARGET_sysconfdir)/udev -rm $(TARGET_sysconfdir)/init.d/fuse - $(REMOVE)/$(PKG_DIR) - $(TOUCH) # ----------------------------------------------------------------------------- @@ -79,15 +71,7 @@ LIBUPNP_CONV_OPTS = \ --disable-static libupnp: $(DL_DIR)/$(LIBUPNP_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -105,16 +89,7 @@ LIBDVBSI_CONV_OPTS = \ --disable-static libdvbsi: $(DL_DIR)/$(LIBDVBSI_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -197,16 +172,7 @@ LIBCURL_CONF_OPTS = \ --enable-optimize libcurl: $(LIBCURL_DEPENDENCIES) $(DL_DIR)/$(LIBCURL_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_CONFIG_SCRIPTS) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -228,17 +194,7 @@ LIBPNG_CONF_OPTS = \ $(if $(filter $(BOXSERIES),hd5x hd6x vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse),--enable-arm-neon,--disable-arm-neon) libpng: $(LIBPNG_DEPENDENCIES) $(DL_DIR)/$(LIBPNG_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_CONFIG_SCRIPTS) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -299,16 +255,8 @@ LIBJPEG_TURBO_CONF_OPTS = \ -DWITH_JPEG8=80 libjpeg-turbo: $(DL_DIR)/$(LIBJPEG_TURBO_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CMAKE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) + $(call cmake-package) -rm $(addprefix $(TARGET_bindir)/,cjpeg djpeg jpegtran rdjpgcom tjbench wrjpgcom) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) # ----------------------------------------------------------------------------- @@ -449,15 +397,7 @@ LIBUSB_CONF_OPTS = \ --disable-udev libusb: $(DL_DIR)/$(LIBUSB_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR); \ - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -474,17 +414,7 @@ LIBUSB_COMPAT_CONFIG_SCRIPTS = libusb-config LIBUSB_COMPAT_DEPENDENCIES = libusb libusb-compat: $(LIBUSB_COMPAT_DEPENDENCIES) $(DL_DIR)/$(LIBUSB_COMPAT_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR); \ - $(REWRITE_CONFIG_SCRIPTS) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -505,15 +435,7 @@ LIBGD_CONF_OPTS = \ --without-x libgd: $(LIBGD_DEPENDENCIES) $(DL_DIR)/$(LIBGD_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -552,15 +474,7 @@ $(DL_DIR)/$(LZO_SOURCE): $(DOWNLOAD) $(LZO_SITE)/$(LZO_SOURCE) lzo: $(DL_DIR)/$(LZO_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -609,16 +523,7 @@ EXPAT_CONF_OPTS = \ --without-docbook expat: $(DL_DIR)/$(EXPAT_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -682,16 +587,7 @@ LIBASS_CONF_OPTS = \ --disable-require-system-font-provider libass: $(LIBASS_DEPENDENCIES) $(DL_DIR)/$(LIBASS_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -756,17 +652,8 @@ LIBGCRYPT_CONF_OPTS = \ --disable-tests libgcrypt: $(LIBGCRYPT_DEPENDENCIES) $(DL_DIR)/$(LIBGCRYPT_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) + $(call autotools-package) -rm $(addprefix $(TARGET_bindir)/,dumpsexp hmac256 mpicalc) - $(REWRITE_CONFIG_SCRIPTS) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) # ----------------------------------------------------------------------------- @@ -859,19 +746,9 @@ LIBXML2_CONF_OPTS = \ --without-schematron libxml2: $(DL_DIR)/$(LIBXML2_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) + $(call autotools-package) -rm -r $(TARGET_libdir)/cmake -rm $(addprefix $(TARGET_libdir)/,xml2Conf.sh) - $(REWRITE_CONFIG_SCRIPTS) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) # ----------------------------------------------------------------------------- @@ -884,16 +761,7 @@ $(DL_DIR)/$(PUGIXML_SOURCE): $(DOWNLOAD) $(PUGIXML_SITE)/$(PUGIXML_SOURCE) pugixml: $(DL_DIR)/$(PUGIXML_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CMAKE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - -rm -r $(TARGET_libdir)/cmake - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call cmake-package) # ----------------------------------------------------------------------------- @@ -909,15 +777,7 @@ LIBROXML_CONF_OPTS = \ --disable-roxml libroxml: $(DL_DIR)/$(LIBROXML_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -943,18 +803,9 @@ LIBXSLT_CONF_OPTS = \ --without-mem-debug libxslt: $(LIBXSLT_DEPENDENCIES) $(DL_DIR)/$(LIBXSLT_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) + $(call autotools-package) -rm -r $(TARGET_libdir)/libxslt-plugins/ -rm $(addprefix $(TARGET_libdir)/,xsltConf.sh) - $(REWRITE_CONFIG_SCRIPTS) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) # ----------------------------------------------------------------------------- @@ -996,19 +847,10 @@ LIBTIRPC_CONF_OPTS = \ --enable-silent-rules libtirpc: $(DL_DIR)/$(LIBTIRPC_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_LIBTOOL) + $(call autotools-package) ifeq ($(BOXSERIES),hd1) $(SED) '/^\(udp\|tcp\)6/ d' $(TARGET_sysconfdir)/netconfig endif - $(REMOVE)/$(PKG_DIR) - $(TOUCH) # ----------------------------------------------------------------------------- @@ -1027,14 +869,7 @@ CONFUSE_CONF_OPTS = \ --disable-shared confuse: $(DL_DIR)/$(CONFUSE_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -1053,14 +888,7 @@ LIBITE_CONF_OPTS = \ --disable-shared libite: $(DL_DIR)/$(LIBITE_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -1081,16 +909,7 @@ LIBMAD_CONF_OPTS = \ --enable-sso libmad: $(DL_DIR)/$(LIBMAD_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -1113,16 +932,7 @@ LIBVORBIS_CONF_OPTS = \ --disable-oggtest libvorbis: $(LIBVORBIS_DEPENDENCIES) $(DL_DIR)/$(LIBVORBIS_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) - + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -1165,15 +975,7 @@ LIBOGG_CONF_OPTS = \ --enable-shared libogg: $(DL_DIR)/$(LIBOGG_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -1190,16 +992,7 @@ LIBEXIF_CONF_OPTS = \ --with-doc-dir=$(REMOVE_docdir) libexif: $(DL_DIR)/$(LIBEXIF_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -1216,15 +1009,7 @@ FRIBIDI_CONF_OPTS = \ --disable-deprecated fribidi: $(DL_DIR)/$(FRIBIDI_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -1243,16 +1028,7 @@ LIBFFI_CONF_OPTS = \ $(if $(filter $(BOXSERIES),hd1),--enable-static --disable-shared) libffi: $(DL_DIR)/$(LIBFFI_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -1340,19 +1116,10 @@ ALSA_LIB_CONF_OPTS = \ --disable-topology alsa-lib: $(DL_DIR)/$(ALSA_LIB_SOURCE) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_LIBTOOL) + $(call autotools-package) find $(TARGET_datadir)/alsa/cards/ -name '*.conf' ! -name 'aliases.conf' | xargs --no-run-if-empty rm find $(TARGET_datadir)/alsa/pcm/ -name '*.conf' ! -name 'default.conf' ! -name 'dmix.conf' ! -name 'dsnoop.conf' | xargs --no-run-if-empty rm -rm -r $(TARGET_datadir)/aclocal - $(REMOVE)/$(PKG_DIR) - $(TOUCH) # ----------------------------------------------------------------------------- @@ -1368,15 +1135,7 @@ POPT_CONF_OPTS = \ --datarootdir=$(REMOVE_datarootdir) popt: $(DL_DIR)/$(POPT_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- diff --git a/make/target-tools.mk b/make/target-tools.mk index b80a6b65..fb70ec7d 100644 --- a/make/target-tools.mk +++ b/make/target-tools.mk @@ -278,20 +278,12 @@ COREUTILS_CONF_OPTS = \ COREUTILS_BINARIES = touch coreutils: $(DL_DIR)/$(COREUTILS_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) + $(call autotools-package) for bin in $($(PKG)_BINARIES); do \ rm -f $(TARGET_base_bindir)/$$bin; \ $(INSTALL_EXEC) -D $(TARGET_base_bindir).$(@F)/$$bin $(TARGET_base_bindir)/$$bin; \ done rm -r $(TARGET_base_bindir).$(@F) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) # ----------------------------------------------------------------------------- @@ -324,22 +316,13 @@ PROCPS_NG_CONF_OPTS = \ PROCPS_NG_BINARIES = ps top procps-ng: $(PROCPS_NG_DEPENDENCIES) $(DL_DIR)/$(PROCPS_NG_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) + $(call autotools-package) for bin in $($(PKG)_BINARIES); do \ rm -f $(TARGET_base_bindir)/$$bin; \ $(INSTALL_EXEC) -D $(TARGET_base_bindir).$(@F)/$$bin $(TARGET_base_bindir)/$$bin; \ done rm -r $(TARGET_base_bindir).$(@F) rm -r $(TARGET_base_sbindir).$(@F) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) # ----------------------------------------------------------------------------- @@ -378,19 +361,12 @@ ifeq ($(BOXSERIES),hd2) endif mtd-utils: $(MTD_UTILS_DEPENDENCIES) $(DL_DIR)/$(MTD_UTILS_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) + $(call autotools-package) for sbin in $($(PKG)_SBINARIES); do \ rm -f $(TARGET_sbindir)/$$sbin; \ $(INSTALL_EXEC) -D $(TARGET_base_sbindir).$(@F)/$$sbin $(TARGET_base_sbindir)/$$sbin; \ done rm -r $(TARGET_base_sbindir).$(@F) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) # ----------------------------------------------------------------------------- @@ -415,15 +391,7 @@ DOSFSTOOLS_CONF_OPTS = \ CFLAGS="$(DOSFSTOOLS_CFLAGS)" dosfstools: $(DL_DIR)/$(DOSFSTOOLS_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -449,18 +417,10 @@ NTFS_3G_CONF_OPTS = \ --with-fuse=external ntfs-3g: $(NTFS_3G_DEPENDENCIES) $(DL_DIR)/$(NTFS_3G_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) + $(call autotools-package) -rm $(addprefix $(TARGET_base_bindir)/,lowntfs-3g ntfs-3g.probe) -rm $(addprefix $(TARGET_base_sbindir)/,mount.lowntfs-3g) ln -sf $(base_bindir)/ntfs-3g $(TARGET_base_sbindir)/mount.ntfs - $(REMOVE)/$(PKG_DIR) - $(TOUCH) # ----------------------------------------------------------------------------- @@ -484,14 +444,7 @@ FUSE_EXFAT_CONF_OPTS = \ --docdir=$(REMOVE_docdir) fuse-exfat: $(FUSE_EXFAT_DEPENDENCIES) $(DL_DIR)/$(FUSE_EXFAT_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -515,14 +468,7 @@ EXFAT_UTILS_CONF_OPTS = \ --docdir=$(REMOVE_docdir) exfat-utils: $(EXFAT_UTILS_DEPENDENCIES) $(DL_DIR)/$(EXFAT_UTILS_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -672,16 +618,8 @@ F2FS_TOOLS_CONF_OPTS = \ --without-selinux f2fs-tools: $(F2FS_TOOLS_DEPENDENCIES) $(DL_DIR)/$(F2FS_TOOLS_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) + $(call autotools-package) -rm $(addprefix $(TARGET_base_sbindir)/,sg_write_buffer) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) # ----------------------------------------------------------------------------- @@ -733,15 +671,7 @@ UTIL_LINUX_CONF_OPTS = \ --without-utempter util-linux: $(UTIL_LINUX_DEPENDENCIES) $(DL_DIR)/$(UTIL_LINUX_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -779,14 +709,7 @@ OPENVPN_CONF_OPTS = \ --disable-pkcs11 openvpn: $(OPENVPN_DEPENDENCIES) $(DL_DIR)/$(OPENVPN_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -884,15 +807,7 @@ $(DL_DIR)/$(IPERF_SOURCE): $(DOWNLOAD) $(IPERF_SITE)/$(IPERF_SOURCE) iperf: $(DL_DIR)/$(IPERF_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -923,16 +838,7 @@ PARTED_CONF_OPTS = \ --without-readline parted: $(PARTED_DEPENDENCIES) $(DL_DIR)/$(PARTED_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -967,14 +873,7 @@ $(DL_DIR)/$(LESS_SOURCE): LESS_DEPENDENCIES = ncurses less: $(LESS_DEPENDENCIES) $(DL_DIR)/$(LESS_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -1090,15 +989,7 @@ SQLITE_CONF_OPTS = \ --bindir=$(REMOVE_bindir) sqlite: $(DL_DIR)/$(SQLITE_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -1544,12 +1435,7 @@ SG3_UTILS_CONF_OPTS = \ SG3_UTILS_BINARIES = sg_start sg3_utils: $(DL_DIR)/$(SG3_UTILS_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) + $(call autotools-package) for bin in $($(PKG)_BINARIES); do \ rm -f $(TARGET_bindir)/$$bin; \ $(INSTALL_EXEC) -D $(TARGET_bindir).$(@F)/$$bin $(TARGET_bindir)/$$bin; \ @@ -1557,9 +1443,6 @@ sg3_utils: $(DL_DIR)/$(SG3_UTILS_SOURCE) | $(TARGET_DIR) rm -r $(TARGET_bindir).$(@F) $(INSTALL_EXEC) -D $(PKG_FILES_DIR)/sdX.init $(TARGET_sysconfdir)/init.d/sdX $(UPDATE-RC.D) sdX stop 97 0 6 . - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) # ----------------------------------------------------------------------------- @@ -1731,13 +1614,7 @@ NFS_UTILS_CONF_OPTS = \ --without-systemd nfs-utils: $(NFS_UTILS_DEPENDENCIES) $(DL_DIR)/$(NFS_UTILS_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) + $(call autotools-package) chmod 0755 $(TARGET_base_sbindir)/mount.nfs rm -f $(addprefix $(TARGET_base_sbindir)/,mount.nfs4 osd_login umount.nfs umount.nfs4) rm -f $(addprefix $(TARGET_sbindir)/,mountstats nfsiostat) @@ -1749,8 +1626,6 @@ nfs-utils: $(NFS_UTILS_DEPENDENCIES) $(DL_DIR)/$(NFS_UTILS_SOURCE) | $(TARGET_DI endif $(INSTALL_EXEC) -D $(PKG_FILES_DIR)/nfsd.init $(TARGET_sysconfdir)/init.d/nfsd $(UPDATE-RC.D) nfsd defaults 75 25 - $(REMOVE)/$(PKG_DIR) - $(TOUCH) # ----------------------------------------------------------------------------- @@ -1772,16 +1647,8 @@ RPCBIND_CONF_OPTS = \ --with-systemdsystemunitdir=no rpcbind: $(RPCBIND_DEPENDENCIES) $(DL_DIR)/$(RPCBIND_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) + $(call autotools-package) rm -rf $(TARGET_bindir)/rpcgen - $(REMOVE)/$(PKG_DIR) - $(TOUCH) # ----------------------------------------------------------------------------- @@ -1875,17 +1742,9 @@ MC_CONF_OPTS = \ --without-x mc: $(MC_DEPENDENCIES) $(DL_DIR)/$(MC_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) + $(call autotools-package) rm -rf $(TARGET_datadir)/mc/examples find $(TARGET_datadir)/mc/skins -type f ! -name default.ini | xargs --no-run-if-empty rm - $(REMOVE)/$(PKG_DIR) - $(TOUCH) # ----------------------------------------------------------------------------- @@ -1908,15 +1767,7 @@ WGET_CONF_OPTS = \ CFLAGS="$(TARGET_CFLAGS) -DOPENSSL_NO_ENGINE" wget: $(WGET_DEPENDENCIES) $(DL_DIR)/$(WGET_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(APPLY_PATCHES); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -2053,14 +1904,7 @@ ETHTOOL_CONF_OPTS = \ --disable-netlink ethtool: $(DL_DIR)/$(ETHTOOL_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -2109,14 +1953,7 @@ RSYNC_CONF_OPTS = \ --with-included-popt=no rsync: $(RSYNC_DEPENDENCIES) $(DL_DIR)/$(RSYNC_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- @@ -2142,15 +1979,7 @@ FLAC_CONF_OPTS = \ --disable-sse flac: $(DL_DIR)/$(FLAC_SOURCE) | $(TARGET_DIR) - $(REMOVE)/$(PKG_DIR) - $(UNTAR)/$(PKG_SOURCE) - $(CHDIR)/$(PKG_DIR); \ - $(CONFIGURE); \ - $(MAKE); \ - $(MAKE) install DESTDIR=$(TARGET_DIR) - $(REWRITE_LIBTOOL) - $(REMOVE)/$(PKG_DIR) - $(TOUCH) + $(call autotools-package) # ----------------------------------------------------------------------------- diff --git a/package/Makefile b/package/Makefile new file mode 100644 index 00000000..ab7bc0df --- /dev/null +++ b/package/Makefile @@ -0,0 +1,3 @@ + +include package/pkg-autotools.mk +include package/pkg-cmake.mk diff --git a/package/pkg-autotools.mk b/package/pkg-autotools.mk new file mode 100644 index 00000000..5e848fde --- /dev/null +++ b/package/pkg-autotools.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# Autotools packages +# +################################################################################ + +define autotools-package + $(REMOVE)/$($(PKG)_DIR) + $(UNTAR)/$($(PKG)_SOURCE) + $(CHDIR)/$($(PKG)_DIR); \ + $(CONFIGURE); \ + $(MAKE); \ + $(MAKE) install DESTDIR=$(TARGET_DIR) + $(REWRITE_CONFIG_SCRIPTS) + $(REWRITE_LIBTOOL) + $(REMOVE)/$($(PKG)_DIR) + $(TOUCH) +endef diff --git a/package/pkg-cmake.mk b/package/pkg-cmake.mk new file mode 100644 index 00000000..27da86cd --- /dev/null +++ b/package/pkg-cmake.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# CMake packages +# +################################################################################ + +define cmake-package + $(REMOVE)/$($(PKG)_DIR) + $(UNTAR)/$($(PKG)_SOURCE) + $(CHDIR)/$($(PKG)_DIR); \ + $(APPLY_PATCHES); \ + $(CMAKE); \ + $(MAKE); \ + $(MAKE) install DESTDIR=$(TARGET_DIR) + -rm -r $(TARGET_libdir)/cmake + $(REWRITE_CONFIG_SCRIPTS) + $(REWRITE_LIBTOOL) + $(REMOVE)/$($(PKG)_DIR) + $(TOUCH) +endef diff --git a/package/pkg-utils.mk b/package/pkg-utils.mk new file mode 100644 index 00000000..dec1bd82 --- /dev/null +++ b/package/pkg-utils.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# This file contains various utility functions used by the package +# infrastructure, or by the packages themselves. +# +################################################################################ + +pkgname = $(basename $(@F)) +pkg = $(call LOWERCASE,$(pkgname)) +PKG = $(call UPPERCASE,$(pkgname)) + +PKG_BUILD_DIR = $(BUILD_DIR)/$($(PKG)_DIR) +PKG_FILES_DIR = $(PACKAGE_DIR)/$(subst host-,,$(pkgname))/files +PKG_PATCHES_DIR = $(PACKAGE_DIR)/$(subst host-,,$(pkgname))/patches + +# ----------------------------------------------------------------------------- + +# Compatibility variables (marked to remove) +PKG_DIR = $($(PKG)_DIR) +PKG_SOURCE = $($(PKG)_SOURCE) +PKG_SITE = $($(PKG)_SITE) +PKG_PATCH = $($(PKG)_PATCH)