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