image: fix Linksys image alignment and simplify footer creation
[openwrt/staging/stintel.git] / include / package-defaults.mk
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Copyright (C) 2006-2020 OpenWrt.org
4
5 PKG_DEFAULT_DEPENDS = +libc
6
7 ifneq ($(PKG_NAME),toolchain)
8 PKG_FIXUP_DEPENDS = $(if $(filter kmod-%,$(1)),$(2),$(PKG_DEFAULT_DEPENDS) $(filter-out $(PKG_DEFAULT_DEPENDS),$(2)))
9 else
10 PKG_FIXUP_DEPENDS = $(2)
11 endif
12
13 define Package/Default
14 CONFIGFILE:=
15 SECTION:=opt
16 CATEGORY:=Extra packages
17 DEPENDS:=
18 MDEPENDS:=
19 CONFLICTS:=
20 PROVIDES:=
21 EXTRA_DEPENDS:=
22 MAINTAINER:=$(PKG_MAINTAINER)
23 SOURCE:=$(patsubst $(TOPDIR)/%,%,$(CURDIR))
24 ifneq ($(PKG_VERSION),)
25 ifneq ($(PKG_RELEASE),)
26 VERSION:=$(PKG_VERSION)-$(PKG_RELEASE)
27 else
28 VERSION:=$(PKG_VERSION)
29 endif
30 else
31 VERSION:=$(PKG_RELEASE)
32 endif
33 ABI_VERSION:=
34 ifneq ($(PKG_FLAGS),)
35 PKGFLAGS:=$(PKG_FLAGS)
36 else
37 PKGFLAGS:=
38 endif
39 ifneq ($(ARCH_PACKAGES),)
40 PKGARCH:=$(ARCH_PACKAGES)
41 else
42 PKGARCH:=$(BOARD)
43 endif
44 DEFAULT:=
45 MENU:=
46 SUBMENU:=
47 SUBMENUDEP:=
48 TITLE:=
49 KCONFIG:=
50 BUILDONLY:=
51 HIDDEN:=
52 URL:=
53 VARIANT:=
54 DEFAULT_VARIANT:=
55 USERID:=
56 ALTERNATIVES:=
57 LICENSE:=$(PKG_LICENSE)
58 LICENSE_FILES:=$(PKG_LICENSE_FILES)
59 FILE_MODES:=$(PKG_FILE_MODES)
60 endef
61
62 Build/Patch:=$(Build/Patch/Default)
63 ifneq ($(strip $(PKG_UNPACK)),)
64 define Build/Prepare/Default
65 $(PKG_UNPACK)
66 [ ! -d ./src/ ] || $(CP) ./src/. $(PKG_BUILD_DIR)
67 $(Build/Patch)
68 endef
69 endif
70
71 EXTRA_CXXFLAGS = $(EXTRA_CFLAGS)
72 ifeq ($(CONFIG_BUILD_NLS),y)
73 DISABLE_NLS:=
74 else
75 DISABLE_NLS:=--disable-nls
76 endif
77
78 CONFIGURE_PREFIX:=/usr
79 CONFIGURE_ARGS = \
80 --target=$(GNU_TARGET_NAME) \
81 --host=$(GNU_TARGET_NAME) \
82 --build=$(GNU_HOST_NAME) \
83 --disable-dependency-tracking \
84 --program-prefix="" \
85 --program-suffix="" \
86 --prefix=$(CONFIGURE_PREFIX) \
87 --exec-prefix=$(CONFIGURE_PREFIX) \
88 --bindir=$(CONFIGURE_PREFIX)/bin \
89 --sbindir=$(CONFIGURE_PREFIX)/sbin \
90 --libexecdir=$(CONFIGURE_PREFIX)/lib \
91 --sysconfdir=/etc \
92 --datadir=$(CONFIGURE_PREFIX)/share \
93 --localstatedir=/var \
94 --mandir=$(CONFIGURE_PREFIX)/man \
95 --infodir=$(CONFIGURE_PREFIX)/info \
96 $(DISABLE_NLS) \
97 $(DISABLE_IPV6)
98
99 CONFIGURE_VARS = \
100 $(TARGET_CONFIGURE_OPTS) \
101 CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \
102 CXXFLAGS="$(TARGET_CXXFLAGS) $(EXTRA_CXXFLAGS)" \
103 CPPFLAGS="$(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \
104 LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" \
105
106 CONFIGURE_PATH = .
107 CONFIGURE_CMD = ./configure
108
109 replace_script=$(FIND) $(1) -name $(2) | $(XARGS) chmod u+w; \
110 $(FIND) $(1) -name $(2) | $(XARGS) -n1 cp --remove-destination \
111 $(SCRIPT_DIR)/$(2);
112
113 define Build/Configure/Default
114 (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH)/$(strip $(3)); \
115 if [ -x $(CONFIGURE_CMD) ]; then \
116 $(call replace_script,$(PKG_BUILD_DIR)/$(3),config.guess) \
117 $(call replace_script,$(PKG_BUILD_DIR)/$(3),config.sub) \
118 $(CONFIGURE_VARS) \
119 $(2) \
120 $(CONFIGURE_CMD) \
121 $(CONFIGURE_ARGS) \
122 $(1); \
123 fi; \
124 )
125 endef
126
127 MAKE_VARS = \
128 CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \
129 CXXFLAGS="$(TARGET_CXXFLAGS) $(EXTRA_CXXFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \
130 LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)"
131
132 MAKE_FLAGS = \
133 $(TARGET_CONFIGURE_OPTS) \
134 CROSS="$(TARGET_CROSS)" \
135 ARCH="$(ARCH)"
136
137 MAKE_INSTALL_FLAGS = \
138 $(MAKE_FLAGS) \
139 DESTDIR="$(PKG_INSTALL_DIR)"
140
141 MAKE_PATH ?= .
142
143 define Build/Compile/Default
144 +$(MAKE_VARS) \
145 $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
146 $(MAKE_FLAGS) \
147 $(1);
148 endef
149
150 define Build/Install/Default
151 $(MAKE_VARS) \
152 $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
153 $(MAKE_INSTALL_FLAGS) \
154 $(if $(1), $(1), install);
155 endef
156
157 define Build/Dist/Default
158 $(call Build/Compile/Default, DESTDIR="$(PKG_BUILD_DIR)/tmp" CC="$(TARGET_CC)" dist)
159 endef
160
161 define Build/DistCheck/Default
162 $(call Build/Compile/Default, DESTDIR="$(PKG_BUILD_DIR)/tmp" CC="$(TARGET_CC)" distcheck)
163 endef