build system: introduce a new feature called build variants. it allows building a...
[openwrt/openwrt.git] / include / package-dumpinfo.mk
1 #
2 # Copyright (C) 2006 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 ifneq ($(DUMP),)
9
10 dumpinfo: FORCE
11
12 define Config/template
13 Preconfig: $(1)
14 Preconfig-Type: $(2)
15 Preconfig-Default: $(3)
16 Preconfig-Label: $(4)
17
18 endef
19
20 define Config
21 Preconfig/$(1) = $$(call Config/template,$(1),$(2),$(3),$(4))
22 preconfig_$$(1) += $(1)
23 endef
24
25 define Dumpinfo/Package
26 $(info Package: $(1)
27 $(if $(MENU),Menu: $(MENU)
28 )$(if $(SUBMENU),Submenu: $(SUBMENU)
29 )$(if $(SUBMENUDEP),Submenu-Depends: $(SUBMENUDEP)
30 )$(if $(DEFAULT),Default: $(DEFAULT)
31 )$(if $(findstring $(PREREQ_CHECK),1),Prereq-Check: 1
32 )Version: $(VERSION)
33 Depends: $(DEPENDS)
34 Provides: $(PROVIDES)
35 $(if $(VARIANT),Build-Variant: $(VARIANT)
36 )$(if $(PKG_BUILD_DEPENDS),Build-Depends: $(PKG_BUILD_DEPENDS)
37 )$(if $(HOST_BUILD_DEPENDS),Build-Depends/host: $(HOST_BUILD_DEPENDS)
38 )$(if $(BUILD_TYPES),Build-Types: $(BUILD_TYPES)
39 )Section: $(SECTION)
40 Category: $(CATEGORY)
41 Title: $(TITLE)
42 Maintainer: $(MAINTAINER)
43 Source: $(PKG_SOURCE)
44 Type: $(if $(Package/$(1)/targets),$(Package/$(1)/targets),$(if $(PKG_TARGETS),$(PKG_TARGETS),ipkg))
45 $(if $(KCONFIG),Kernel-Config: $(KCONFIG)
46 )$(if $(BUILDONLY),Build-Only: $(BUILDONLY)
47 )Description: $(if $(Package/$(1)/description),$(Package/$(1)/description),$(TITLE))
48 $(if $(URL),$(URL)
49 )@@
50 $(if $(Package/$(1)/config),Config:
51 $(Package/$(1)/config)
52 @@
53 )$(foreach pc,$(preconfig_$(1)),
54 $(Preconfig/$(pc))))
55 endef
56
57 define Feature/Default
58 TARGET_NAME:=
59 TARGET_TITLE:=
60 PRIORITY:=
61 NAME:=
62 endef
63
64 define Feature
65 $(eval $(Feature/Default))
66 $(eval $(Feature/$(1)))
67 $(if $(DUMP),$(call Dumpinfo/Feature,$(1)))
68 endef
69
70 define Dumpinfo/Feature
71 $(info Feature: $(TARGET_NAME)_$(1)
72 Target-Name: $(TARGET_NAME)
73 Target-Title: $(TARGET_TITLE)
74 Feature-Name: $(NAME)
75 $(if $(PRIORITY),Feature-Priority: $(PRIORITY)
76 )Feature-Description:
77 $(Feature/$(1)/description)
78 @@
79 )
80 endef
81
82 endif