diff --git a/cross/gdb/Makefile b/cross/gdb/Makefile index 76a688c02b2..3b8fcf9d7b5 100644 --- a/cross/gdb/Makefile +++ b/cross/gdb/Makefile @@ -1,20 +1,9 @@ PKG_NAME = gdb-main -HOMEPAGE = https://www.gnu.org/software/gdb/ -COMMENT = The GNU Project Debugger -LICENSE = GPLv2/LGPLv2 - -DOWNLOAD_TARGET = nop -CHECKSUM_TARGET = nop -EXTRACT_TARGET = nop -CONFIGURE_TARGET = nop -COMPILE_TARGET = nop -INSTALL_TARGET = nop - OPTIONAL_DEPENDS = cross/gdb-latest OPTIONAL_DEPENDS += cross/gdb-7.12 -include ../../mk/spksrc.install-resources.mk +include ../../mk/spksrc.main-depends.mk ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) DEPENDS += cross/gdb-7.12 diff --git a/cross/gdb/PLIST b/cross/gdb/PLIST deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/cross/gdb/digests b/cross/gdb/digests deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/cross/glib/Makefile b/cross/glib/Makefile index a9ca4cf5ea3..7fa8825cf33 100644 --- a/cross/glib/Makefile +++ b/cross/glib/Makefile @@ -1,21 +1,10 @@ PKG_NAME = glib-main -HOMEPAGE = https://developer.gnome.org/glib/ -COMMENT = General-purpose utility library. -LICENSE = LGPLv2.1+ - -DOWNLOAD_TARGET = nop -CHECKSUM_TARGET = nop -EXTRACT_TARGET = nop -CONFIGURE_TARGET = nop -COMPILE_TARGET = nop -INSTALL_TARGET = nop - OPTIONAL_DEPENDS = cross/glib-latest OPTIONAL_DEPENDS += cross/glib-2.66 OPTIONAL_DEPENDS += cross/glib-2.58 -include ../../mk/spksrc.install-resources.mk +include ../../mk/spksrc.main-depends.mk # If kernel >= 3.10 && gcc >= 7.5 ifeq ($(call version_ge, $(TC_KERNEL), 3.10)$(call version_ge, $(TC_GCC), 7.5),11) diff --git a/cross/glib/PLIST b/cross/glib/PLIST deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/cross/glibc/Makefile b/cross/glibc/Makefile index df8a962dfdc..1d224960e9a 100644 --- a/cross/glibc/Makefile +++ b/cross/glibc/Makefile @@ -1,20 +1,9 @@ PKG_NAME = glibc-main -HOMEPAGE = https://www.gnu.org/software/libc/ -COMMENT = The GNU C Library (glibc) -LICENSE = GPLv2/LGPLv2 - -DOWNLOAD_TARGET = nop -CHECKSUM_TARGET = nop -EXTRACT_TARGET = nop -CONFIGURE_TARGET = nop -COMPILE_TARGET = nop -INSTALL_TARGET = nop - OPTIONAL_DEPENDS = cross/glibc-latest OPTIONAL_DEPENDS += cross/glibc-2.28 -include ../../mk/spksrc.install-resources.mk +include ../../mk/spksrc.main-depends.mk ifeq ($(call version_ge, $(TC_GCC), 5.1),1) DEPENDS = cross/glibc-latest diff --git a/cross/glibc/PLIST b/cross/glibc/PLIST deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/cross/glibc/digests b/cross/glibc/digests deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/cross/glibmm/Makefile b/cross/glibmm/Makefile index e3c8517b1e9..ba0c853a78b 100644 --- a/cross/glibmm/Makefile +++ b/cross/glibmm/Makefile @@ -1,20 +1,9 @@ PKG_NAME = glibmm-main -HOMEPAGE = https://www.gtkmm.org/en/ -COMMENT = GLib is a low-level general-purpose library used mainly by GTK+/GNOME applications, but is useful for other programs as well. glibmm is the C++ wrapper for GLib. -LICENSE = LGPLv2.1 - -DOWNLOAD_TARGET = nop -CHECKSUM_TARGET = nop -EXTRACT_TARGET = nop -CONFIGURE_TARGET = nop -COMPILE_TARGET = nop -INSTALL_TARGET = nop - OPTIONAL_DEPENDS = cross/glibmm-latest OPTIONAL_DEPENDS += cross/glibmm-2.66 -include ../../mk/spksrc.install-resources.mk +include ../../mk/spksrc.main-depends.mk ifeq ($(call version_ge, $(TC_GCC), 7.5),1) # Requires libsigc++ >= 3.x diff --git a/cross/glibmm/PLIST b/cross/glibmm/PLIST deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/cross/intel-gmmlib/Makefile b/cross/intel-gmmlib/Makefile index 128da6adbf0..5f9ce994372 100644 --- a/cross/intel-gmmlib/Makefile +++ b/cross/intel-gmmlib/Makefile @@ -1,20 +1,9 @@ PKG_NAME = intel-gmmlib-main -HOMEPAGE = https://github.com/intel/gmmlib -COMMENT = Intel Graphics Memory Management Library provides device specific and buffer management for the Intel Graphics Compute Runtime for OpenCL and the Intel Media Driver for VAAPI. -LICENSE = MIT - -DOWNLOAD_TARGET = nop -CHECKSUM_TARGET = nop -EXTRACT_TARGET = nop -CONFIGURE_TARGET = nop -COMPILE_TARGET = nop -INSTALL_TARGET = nop - OPTIONAL_DEPENDS = cross/intel-gmmlib-latest OPTIONAL_DEPENDS += cross/intel-gmmlib-22.3 -include ../../mk/spksrc.install-resources.mk +include ../../mk/spksrc.main-depends.mk ifeq ($(call version_ge, ${TCVERSION}, 7.0),1) DEPENDS = cross/intel-gmmlib-latest diff --git a/cross/intel-gmmlib/PLIST b/cross/intel-gmmlib/PLIST deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/cross/intel-gmmlib/digests b/cross/intel-gmmlib/digests deleted file mode 100644 index 3a07a162d4e..00000000000 --- a/cross/intel-gmmlib/digests +++ /dev/null @@ -1,3 +0,0 @@ -intel-gmmlib-22.3.4.tar.gz SHA1 4e393168592fad6f615ac9707e9da1fde98faf02 -intel-gmmlib-22.3.4.tar.gz SHA256 c42b5fa1f5f7c165621099b3787de4c052688cd93c6ef986589ab24fff09b659 -intel-gmmlib-22.3.4.tar.gz MD5 098f47e5010fe280776c29635bde4536 diff --git a/cross/intel-media-driver/Makefile b/cross/intel-media-driver/Makefile index 1f31c17202a..32df092f60a 100644 --- a/cross/intel-media-driver/Makefile +++ b/cross/intel-media-driver/Makefile @@ -1,20 +1,9 @@ PKG_NAME = intel-media-main -HOMEPAGE = https://github.com/intel/media-driver -COMMENT = The Intel Media Driver for VAAPI is a new VA-API (Video Acceleration API) user mode driver supporting hardware accelerated decoding, encoding, and video post processing for GEN based graphics hardware. -LICENSE = MIT - -DOWNLOAD_TARGET = nop -CHECKSUM_TARGET = nop -EXTRACT_TARGET = nop -CONFIGURE_TARGET = nop -COMPILE_TARGET = nop -INSTALL_TARGET = nop - OPTIONAL_DEPENDS = cross/intel-media-driver-latest OPTIONAL_DEPENDS += cross/intel-media-driver-22.5 -include ../../mk/spksrc.install-resources.mk +include ../../mk/spksrc.main-depends.mk ifeq ($(call version_ge, ${TCVERSION}, 7.0),1) DEPENDS = cross/intel-media-driver-latest diff --git a/cross/intel-media-driver/PLIST b/cross/intel-media-driver/PLIST deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/cross/intel-media-driver/digests b/cross/intel-media-driver/digests deleted file mode 100644 index 720eb7632b6..00000000000 --- a/cross/intel-media-driver/digests +++ /dev/null @@ -1,3 +0,0 @@ -intel-media-22.5.4.tar.gz SHA1 2c893287b857265889019f62e68e87de9b920975 -intel-media-22.5.4.tar.gz SHA256 08d8d041f94b094a2dd5c4739c413b75185521c7f788a02411395ff374ee4ead -intel-media-22.5.4.tar.gz MD5 afa5bf011ba1f1379009278831d00a15 diff --git a/cross/intel-mediasdk/Makefile b/cross/intel-mediasdk/Makefile index 8ae397e936b..c75af27e615 100644 --- a/cross/intel-mediasdk/Makefile +++ b/cross/intel-mediasdk/Makefile @@ -1,20 +1,9 @@ PKG_NAME = intel-mediasdk-main -HOMEPAGE = http://mediasdk.intel.com -COMMENT = Intel Media SDK provides a plain C API to access hardware-accelerated video decode, encode and filtering on IntelĀ® Gen graphics hardware platforms. Implementation written in C++ 11 with parts in C-for-Media (CM). -LICENSE = MIT - -DOWNLOAD_TARGET = nop -CHECKSUM_TARGET = nop -EXTRACT_TARGET = nop -CONFIGURE_TARGET = nop -COMPILE_TARGET = nop -INSTALL_TARGET = nop - OPTIONAL_DEPENDS = cross/intel-mediasdk-latest OPTIONAL_DEPENDS += cross/intel-mediasdk-22.5 -include ../../mk/spksrc.install-resources.mk +include ../../mk/spksrc.main-depends.mk ifeq ($(call version_ge, ${TCVERSION}, 7.0),1) DEPENDS = cross/intel-mediasdk-latest diff --git a/cross/intel-mediasdk/PLIST b/cross/intel-mediasdk/PLIST deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/cross/intel-mediasdk/digests b/cross/intel-mediasdk/digests deleted file mode 100644 index 6ef1de4c4cb..00000000000 --- a/cross/intel-mediasdk/digests +++ /dev/null @@ -1,3 +0,0 @@ -intel-mediasdk-22.5.4.tar.gz SHA1 121bf42101bdd57426bf87d2bafb34c3faca82f9 -intel-mediasdk-22.5.4.tar.gz SHA256 0eb04409a226da6e752576d60c46a3ec969ddfe03042897088367392207c7ab3 -intel-mediasdk-22.5.4.tar.gz MD5 e0f2030fecc8767ac6a4f98b971d7044 diff --git a/cross/libsigc++/Makefile b/cross/libsigc++/Makefile index 81bcf1811eb..7e540800458 100644 --- a/cross/libsigc++/Makefile +++ b/cross/libsigc++/Makefile @@ -1,23 +1,12 @@ PKG_NAME = libsigc++-main -HOMEPAGE = http://libsigc.sourceforge.net/ -COMMENT = libsigc++ implements a typesafe callback system for standard C++ -LICENSE = LGPL - # support for c++11/c++17 language features is required UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(PPC_ARCHS) $(OLD_PPC_ARCHS) -DOWNLOAD_TARGET = nop -CHECKSUM_TARGET = nop -EXTRACT_TARGET = nop -CONFIGURE_TARGET = nop -COMPILE_TARGET = nop -INSTALL_TARGET = nop - OPTIONAL_DEPENDS = cross/libsigc++-latest OPTIONAL_DEPENDS += cross/libsigc++-2.12 -include ../../mk/spksrc.install-resources.mk +include ../../mk/spksrc.main-depends.mk ifeq ($(call version_ge, $(TC_GCC), 7.5),1) DEPENDS = cross/libsigc++-latest diff --git a/cross/libsigc++/PLIST b/cross/libsigc++/PLIST deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/cross/libva-utils/Makefile b/cross/libva-utils/Makefile index e329d5a287a..33ae00f7bfb 100644 --- a/cross/libva-utils/Makefile +++ b/cross/libva-utils/Makefile @@ -1,20 +1,9 @@ PKG_NAME = libva-utils-main -HOMEPAGE = https://01.org/vaapi -COMMENT = Libva is an implementation for VA-API (Video Acceleration API). -LICENSE = MIT - -DOWNLOAD_TARGET = nop -CHECKSUM_TARGET = nop -EXTRACT_TARGET = nop -CONFIGURE_TARGET = nop -COMPILE_TARGET = nop -INSTALL_TARGET = nop - OPTIONAL_DEPENDS = cross/libva-utils-latest OPTIONAL_DEPENDS += cross/libva-utils-2.17 -include ../../mk/spksrc.install-resources.mk +include ../../mk/spksrc.main-depends.mk ifeq ($(call version_ge, ${TCVERSION}, 7.0),1) DEPENDS = cross/libva-utils-latest diff --git a/cross/libva-utils/PLIST b/cross/libva-utils/PLIST deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/cross/libva-utils/digests b/cross/libva-utils/digests deleted file mode 100644 index 067ffb710e7..00000000000 --- a/cross/libva-utils/digests +++ /dev/null @@ -1,3 +0,0 @@ -libva-utils-2.17.1.tar.gz SHA1 04db207e26041be280589cafb3a33337a53e08b1 -libva-utils-2.17.1.tar.gz SHA256 6ea5993c3eba230a979fa9d35b4cad8df06d4474a773dc0918033bf50353f966 -libva-utils-2.17.1.tar.gz MD5 747513abc76daa1f6dd4cbb403ca46f8 diff --git a/cross/libva/Makefile b/cross/libva/Makefile index 5a940e4bbc8..f3b6253e3a5 100644 --- a/cross/libva/Makefile +++ b/cross/libva/Makefile @@ -1,20 +1,9 @@ PKG_NAME = libva-main -HOMEPAGE = https://01.org/vaapi -COMMENT = Libva is an implementation for VA-API (Video Acceleration API). -LICENSE = MIT - -DOWNLOAD_TARGET = nop -CHECKSUM_TARGET = nop -EXTRACT_TARGET = nop -CONFIGURE_TARGET = nop -COMPILE_TARGET = nop -INSTALL_TARGET = nop - OPTIONAL_DEPENDS = cross/libva-latest OPTIONAL_DEPENDS += cross/libva-2.17 -include ../../mk/spksrc.install-resources.mk +include ../../mk/spksrc.main-depends.mk ifeq ($(call version_ge, ${TCVERSION}, 7.0),1) DEPENDS = cross/libva-latest diff --git a/cross/libva/PLIST b/cross/libva/PLIST deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/cross/libva/digests b/cross/libva/digests deleted file mode 100644 index 231aa17bd1a..00000000000 --- a/cross/libva/digests +++ /dev/null @@ -1,3 +0,0 @@ -libva-2.17.0.tar.gz SHA1 5e252956d9dedd8711def786218dbc730c49937e -libva-2.17.0.tar.gz SHA256 8940541980ef998a36cd8f6ad905e81838ea4ddf56dc479ed2bebd12711e6001 -libva-2.17.0.tar.gz MD5 0ac769fc61c2f7c1dd0916f12794549d diff --git a/cross/llvm/Makefile b/cross/llvm/Makefile index 67316ad3a8b..540d1b6542b 100644 --- a/cross/llvm/Makefile +++ b/cross/llvm/Makefile @@ -1,22 +1,11 @@ PKG_NAME = llvm-main -HOMEPAGE = https://www.gnu.org/software/gdb/ -COMMENT = The GNU Project Debugger -LICENSE = GPLv2/LGPLv2 - UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(PPC_ARCHS) -DOWNLOAD_TARGET = nop -CHECKSUM_TARGET = nop -EXTRACT_TARGET = nop -CONFIGURE_TARGET = nop -COMPILE_TARGET = nop -INSTALL_TARGET = nop - OPTIONAL_DEPENDS = cross/llvm-latest OPTIONAL_DEPENDS += cross/llvm-9.0 -include ../../mk/spksrc.install-resources.mk +include ../../mk/spksrc.main-depends.mk ifeq ($(call version_ge, $(TC_GCC), 5.1),1) DEPENDS = cross/llvm-latest diff --git a/cross/llvm/PLIST b/cross/llvm/PLIST deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/cross/llvm/digests b/cross/llvm/digests deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/mk/spksrc.configure.mk b/mk/spksrc.configure.mk index b21b345afee..0138a6d492e 100644 --- a/mk/spksrc.configure.mk +++ b/mk/spksrc.configure.mk @@ -47,9 +47,8 @@ REAL_CONFIGURE_ARGS += $(CONFIGURE_ARGS) configure_msg: @$(MSG) "Configuring for $(NAME)" - @$(MSG) - Configure ARGS: $(CONFIGURE_ARGS) + @$(MSG) - Configure ARGS: $(REAL_CONFIGURE_ARGS) @$(MSG) - Install prefix: $(INSTALL_PREFIX) - @$(MSG) - Install prefix [var]: $(INSTALL_PREFIX_VAR) pre_configure_target: configure_msg diff --git a/mk/spksrc.install-resources.mk b/mk/spksrc.install-resources.mk index 719719f35b7..24b30ed929f 100644 --- a/mk/spksrc.install-resources.mk +++ b/mk/spksrc.install-resources.mk @@ -80,6 +80,24 @@ all-archs: $(addprefix arch-,$(AVAILABLE_TOOLCHAINS)) #### +all-supported: SHELL:=/bin/bash +all-supported: + @$(MSG) Pre-build native dependencies for parallel build + @for depend in $$($(MAKE) dependency-list) ; \ + do \ + if [ "$${depend%/*}" = "native" ]; then \ + $(MSG) "Pre-processing $${depend}" ; \ + $(MSG) " env $(ENV) $(MAKE) -C ../../$$depend" ; \ + env $(ENV) $(MAKE) -C ../../$$depend 2>&1 | tee --append build-$${depend%/*}-$${depend#*/}.log ; \ + [ $${PIPESTATUS[0]} -eq 0 ] || false ; \ + fi ; \ + done ; \ + $(MAKE) $(addprefix supported-arch-,$(SUPPORTED_ARCHS)) + +supported-arch-%: + @$(MSG) BUILDING package for arch $* with SynoCommunity toolchain + -@MAKEFLAGS= $(PSTAT_TIME) $(MAKE) arch-$* 2>&1 | tee --append build-$*.log + arch-%: @$(MSG) Building package for arch $* @MAKEFLAGS= $(MAKE) ARCH=$(basename $(subst -,.,$(basename $(subst .,,$*)))) TCVERSION=$(if $(findstring $*,$(basename $(subst -,.,$(basename $(subst .,,$*))))),$(DEFAULT_TC),$(notdir $(subst -,/,$*))) 2>&1 | tee --append build-$*.log diff --git a/mk/spksrc.main-depends.mk b/mk/spksrc.main-depends.mk new file mode 100644 index 00000000000..e5a45893a45 --- /dev/null +++ b/mk/spksrc.main-depends.mk @@ -0,0 +1,76 @@ +# include this file for dummy modules that evaluate dependent packages only +# + +# Common makefiles +include ../../mk/spksrc.common.mk +include ../../mk/spksrc.directories.mk + +# Configure the included makefiles +NAME = $(PKG_NAME) +COOKIE_PREFIX = $(PKG_NAME)- + +ifneq ($(ARCH),) +ARCH_SUFFIX = -$(ARCH)-$(TCVERSION) +TC = syno$(ARCH_SUFFIX) +endif + + +##### + +ifneq ($(REQUIRE_KERNEL),) + @$(error main-depends cannot be used when REQUIRE_KERNEL is set) +endif + +##### + +# to check for supported archs and DSM versions +include ../../mk/spksrc.pre-check.mk + +# for common env variables +include ../../mk/spksrc.cross-env.mk + +# for dependency evaluation +include ../../mk/spksrc.depend.mk + + +### Clean rules +smart-clean: + rm -rf $(WORK_DIR)/$(PKG_DIR) + rm -f $(WORK_DIR)/.$(COOKIE_PREFIX)* + +clean: + rm -rf work work-* build-*.log + +all: depend + +### For make dependency-tree +include ../../mk/spksrc.dependency-tree.mk + +.PHONY: all-archs +all-archs: $(addprefix arch-,$(AVAILABLE_TOOLCHAINS)) + +#### + +all-supported: SHELL:=/bin/bash +all-supported: + @$(MSG) Pre-build native dependencies for parallel build + @for depend in $$($(MAKE) dependency-list) ; \ + do \ + if [ "$${depend%/*}" = "native" ]; then \ + $(MSG) "Pre-processing $${depend}" ; \ + $(MSG) " env $(ENV) $(MAKE) -C ../../$$depend" ; \ + env $(ENV) $(MAKE) -C ../../$$depend 2>&1 | tee --append build-$${depend%/*}-$${depend#*/}.log ; \ + [ $${PIPESTATUS[0]} -eq 0 ] || false ; \ + fi ; \ + done ; \ + $(MAKE) $(addprefix supported-arch-,$(SUPPORTED_ARCHS)) + +supported-arch-%: + @$(MSG) BUILDING package for arch $* with SynoCommunity toolchain + -@MAKEFLAGS= $(PSTAT_TIME) $(MAKE) arch-$* 2>&1 | tee --append build-$*.log + +arch-%: + @$(MSG) Building package for arch $* + @MAKEFLAGS= $(MAKE) ARCH=$(basename $(subst -,.,$(basename $(subst .,,$*)))) TCVERSION=$(if $(findstring $*,$(basename $(subst -,.,$(basename $(subst .,,$*))))),$(DEFAULT_TC),$(notdir $(subst -,/,$*))) 2>&1 | tee --append build-$*.log + +####