Files
John Crispin bb332115ba package: build mtd-utils, libsepol and libselinux in parallel
A package builds with -j1 unless it sets PKG_BUILD_PARALLEL, and 171 of
the 220 packages do not set it. These three gain the most from the job
server on a cold build of this tree:

  mtd-utils   24.77 s -> 6.43 s
  libsepol    17.99 s -> 2.18 s
  libselinux   7.82 s -> 1.89 s

mtd-utils runs while nothing else does, so its 18 s count against the
wall clock in full.

Each one builds three times out of three with the job server, and each
build writes a tree that is identical to the one a serial build writes.
nftables gains as well, 17.9 s to 13.0 s, but it is left alone: its
build directory differs between two serial builds, so the check that
covers the other three says nothing about it.

Signed-off-by: John Crispin <john@phrozen.org>
2026-09-22 18:18:58 +02:00

98 lines
2.3 KiB
Makefile

#
# Copyright (C) 2009-2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=mtd-utils
PKG_VERSION:=2.3.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://infraroot.at/pub/mtd/
PKG_HASH:=03d9dc58ad10ea3549d9528f6b17a44d8944e18e96c0f31474f9f977078b83dc
PKG_INSTALL:=1
PKG_FLAGS:=nonshared
PKG_BUILD_FLAGS:=gc-sections
PKG_FIXUP:=autoreconf
PKG_BUILD_DEPENDS:=util-linux
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=
PKG_CPE_ID:=cpe:/a:mtd-utils_project:mtd-utils
PKG_MAINTAINER:=John Crispin <john@phrozen.org>
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
define Package/mtd-utils/Default
SECTION:=utils
CATEGORY:=Utilities
URL:=http://www.linux-mtd.infradead.org/
DEPENDS:=@NAND_SUPPORT
endef
define Package/ubi-utils
$(call Package/mtd-utils/Default)
TITLE:=Utilities for ubi info/debug
endef
define Package/ubi-utils/description
Utilities for manipulating memory technology devices.
endef
define Package/nand-utils
$(call Package/mtd-utils/Default)
TITLE:=Utilities for nand flash erase/read/write/test
endef
define Package/nand-utils/description
Utilities for NAND devices.
endef
MAKE_FLAGS += LDLIBS+="$(LIBGCC_S)"
CONFIGURE_ARGS += \
--enable-tests \
--disable-unit-tests \
--without-crypto \
--without-xattr \
--without-zstd \
--without-lzo \
--without-zlib
define Package/ubi-utils/conffiles
/etc/config/ubihealthd
endef
define Package/ubi-utils/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/usr/sbin/{ubiattach,ubicrc32,ubiblock,ubidetach,ubiformat,ubihealthd} $(1)/usr/sbin/
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/usr/sbin/{ubimkvol,ubinfo,ubinize,ubirename,ubirmvol,ubirsvol,ubiupdatevol} $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/ubihealthd.init $(1)/etc/init.d/ubihealthd
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_DATA) ./files/ubihealthd.defaults $(1)/etc/uci-defaults/ubihealthd
endef
define Package/nand-utils/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/usr/sbin/{flash_erase,nanddump,nandwrite,nandtest,mtdinfo} \
$(PKG_INSTALL_DIR)/usr/lib/mtd-utils/nandbiterrs $(1)/usr/sbin/
endef
$(eval $(call BuildPackage,ubi-utils))
$(eval $(call BuildPackage,nand-utils))