feeds.mk 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. #
  3. # Copyright (C) 2014 OpenWrt.org
  4. # Copyright (C) 2016 LEDE Project
  5. -include $(TMP_DIR)/.packageauxvars
  6. FEEDS_INSTALLED:=$(notdir $(wildcard $(TOPDIR)/package/feeds/*))
  7. FEEDS_AVAILABLE:=$(sort $(FEEDS_INSTALLED) $(shell $(SCRIPT_DIR)/feeds list -n 2>/dev/null))
  8. PACKAGE_SUBDIRS=$(PACKAGE_DIR)
  9. ifneq ($(CONFIG_PER_FEED_REPO),)
  10. PACKAGE_SUBDIRS += $(OUTPUT_DIR)/packages/$(ARCH_PACKAGES)/base
  11. PACKAGE_SUBDIRS += $(foreach FEED,$(FEEDS_AVAILABLE),$(OUTPUT_DIR)/packages/$(ARCH_PACKAGES)/$(FEED))
  12. endif
  13. opkg_package_files = $(wildcard \
  14. $(foreach dir,$(PACKAGE_SUBDIRS), \
  15. $(foreach pkg,$(1), $(dir)/$(pkg)_*.ipk)))
  16. apk_package_files = $(wildcard \
  17. $(foreach dir,$(PACKAGE_SUBDIRS), \
  18. $(foreach pkg,$(1), $(dir)/$(pkg)_*.apk)))
  19. # 1: package name
  20. define FeedPackageDir
  21. $(strip $(if $(CONFIG_PER_FEED_REPO), \
  22. $(if $(Package/$(1)/subdir), \
  23. $(abspath $(OUTPUT_DIR)/packages/$(ARCH_PACKAGES)/$(Package/$(1)/subdir)), \
  24. $(PACKAGE_DIR)), \
  25. $(PACKAGE_DIR)))
  26. endef
  27. # 1: destination file
  28. define FeedSourcesAppendOPKG
  29. ( \
  30. echo 'src/gz %d_core %U/targets/%S/packages'; \
  31. $(strip $(if $(CONFIG_PER_FEED_REPO), \
  32. echo 'src/gz %d_base %U/packages/%A/base'; \
  33. $(if $(CONFIG_BUILDBOT), \
  34. echo 'src/gz %d_kmods %U/targets/%S/kmods/$(LINUX_VERSION)-$(LINUX_RELEASE)-$(LINUX_VERMAGIC)';) \
  35. $(foreach feed,$(FEEDS_AVAILABLE), \
  36. $(if $(CONFIG_FEED_$(feed)), \
  37. echo '$(if $(filter m,$(CONFIG_FEED_$(feed))),# )src/gz %d_$(feed) %U/packages/%A/$(feed)';)))) \
  38. ) >> $(1)
  39. endef
  40. # 1: destination file
  41. define FeedSourcesAppendAPK
  42. ( \
  43. echo '%U/targets/%S/packages/packages.adb'; \
  44. $(strip $(if $(CONFIG_PER_FEED_REPO), \
  45. echo '%U/packages/%A/base/packages.adb'; \
  46. $(if $(CONFIG_BUILDBOT), \
  47. echo '%U/targets/%S/kmods/$(LINUX_VERSION)-$(LINUX_RELEASE)-$(LINUX_VERMAGIC)/packages.adb';) \
  48. $(foreach feed,$(FEEDS_AVAILABLE), \
  49. $(if $(CONFIG_FEED_$(feed)), \
  50. echo '$(if $(filter m,$(CONFIG_FEED_$(feed))),# )%U/packages/%A/$(feed)/packages.adb';)))) \
  51. ) >> $(1)
  52. endef
  53. # 1: package name
  54. define GetABISuffix
  55. $(if $(ABIV_$(1)),$(ABIV_$(1)),$(call FormatABISuffix,$(1),$(foreach v,$(wildcard $(STAGING_DIR)/pkginfo/$(1).version),$(shell cat $(v)))))
  56. endef
  57. # 1: package name
  58. # 2: abi version
  59. define FormatABISuffix
  60. $(if $(filter-out kmod-%,$(1)),$(if $(2),$(if $(filter %0 %1 %2 %3 %4 %5 %6 %7 %8 %9,$(1)),-)$(2)))
  61. endef