c3496767cf7fd53f8a837276c23e95f6b6913234
[openwrt.git] / include / package-defaults.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 ($(PKG_NAME),toolchain)
9   PKG_FIXUP_DEPENDS = $(if $(filter kmod-%,$(1)),$(2),+libc $(filter-out +libc,$(2)))
10 else
11   PKG_FIXUP_DEPENDS = $(2)
12 endif
13
14 define Package/Default
15   CONFIGFILE:=
16   SECTION:=opt
17   CATEGORY:=Extra packages
18   DEPENDS:=
19   MDEPENDS:=
20   PROVIDES:=
21   EXTRA_DEPENDS:=
22   MAINTAINER:=OpenWrt Developers Team <openwrt-devel@openwrt.org>
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   ifneq ($(PKG_FLAGS),)
34     PKGFLAGS:=$(PKG_FLAGS)
35   else
36     PKGFLAGS:=
37   endif
38   ifneq ($(ARCH_PACKAGES),)
39     PKGARCH:=$(ARCH_PACKAGES)
40   else
41     PKGARCH:=$(BOARD)
42   endif
43   PRIORITY:=optional
44   DEFAULT:=
45   MENU:=
46   SUBMENU:=
47   SUBMENUDEP:=
48   TITLE:=
49   KCONFIG:=
50   BUILDONLY:=
51   HIDDEN:=
52   URL:=
53   VARIANT:=
54 endef
55
56 Build/Patch:=$(Build/Patch/Default)
57 ifneq ($(strip $(PKG_UNPACK)),)
58   define Build/Prepare/Default
59         $(PKG_UNPACK)
60         $(Build/Patch)
61   endef
62 endif
63
64 EXTRA_CXXFLAGS = $(EXTRA_CFLAGS)
65
66 CONFIGURE_PREFIX:=/usr
67 CONFIGURE_ARGS = \
68                 --target=$(GNU_TARGET_NAME) \
69                 --host=$(GNU_TARGET_NAME) \
70                 --build=$(GNU_HOST_NAME) \
71                 --program-prefix="" \
72                 --program-suffix="" \
73                 --prefix=$(CONFIGURE_PREFIX) \
74                 --exec-prefix=$(CONFIGURE_PREFIX) \
75                 --bindir=$(CONFIGURE_PREFIX)/bin \
76                 --sbindir=$(CONFIGURE_PREFIX)/sbin \
77                 --libexecdir=$(CONFIGURE_PREFIX)/lib \
78                 --sysconfdir=/etc \
79                 --datadir=$(CONFIGURE_PREFIX)/share \
80                 --localstatedir=/var \
81                 --mandir=$(CONFIGURE_PREFIX)/man \
82                 --infodir=$(CONFIGURE_PREFIX)/info \
83                 $(DISABLE_NLS) \
84                 $(DISABLE_LARGEFILE) \
85                 $(DISABLE_IPV6)
86
87 CONFIGURE_VARS = \
88                 $(TARGET_CONFIGURE_OPTS) \
89                 CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \
90                 CXXFLAGS="$(TARGET_CXXFLAGS) $(EXTRA_CFLAGS)" \
91                 CPPFLAGS="$(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \
92                 LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" \
93
94 CONFIGURE_PATH = .
95 CONFIGURE_CMD = ./configure
96
97 replace_script=$(FIND) $(1) -name $(2) | $(XARGS) chmod u+w; $(FIND) $(1) -name $(2) | $(XARGS) -n1 cp $(SCRIPT_DIR)/$(2);
98
99 define Build/Configure/Default
100         (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH)/$(strip $(3)); \
101         if [ -x $(CONFIGURE_CMD) ]; then \
102                 $(call replace_script,$(PKG_BUILD_DIR)/$(3),config.guess) \
103                 $(call replace_script,$(PKG_BUILD_DIR)/$(3),config.sub) \
104                 $(CONFIGURE_VARS) \
105                 $(2) \
106                 $(CONFIGURE_CMD) \
107                 $(CONFIGURE_ARGS) \
108                 $(1); \
109         fi; \
110         )
111 endef
112
113 MAKE_VARS = \
114         CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \
115         CXXFLAGS="$(TARGET_CXXFLAGS) $(EXTRA_CXXFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \
116         LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)"
117
118 MAKE_FLAGS = \
119         $(TARGET_CONFIGURE_OPTS) \
120         CROSS="$(TARGET_CROSS)" \
121         ARCH="$(ARCH)"
122
123 MAKE_INSTALL_FLAGS = \
124         $(MAKE_FLAGS) \
125         DESTDIR="$(PKG_INSTALL_DIR)"
126
127 MAKE_PATH = .
128
129 define Build/Compile/Default
130         $(MAKE_VARS) \
131         $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
132                 $(MAKE_FLAGS) \
133                 $(1);
134 endef
135
136 define Build/Install/Default
137         $(MAKE_VARS) \
138         $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
139                 $(MAKE_INSTALL_FLAGS) \
140                 $(if $(1), $(1), install);
141 endef
142
143 define Build/Dist/Default
144         $(call Build/Compile/Default, DESTDIR="$(PKG_BUILD_DIR)/tmp" CC="$(TARGET_CC)" dist)
145 endef
146
147 define Build/DistCheck/Default
148         $(call Build/Compile/Default, DESTDIR="$(PKG_BUILD_DIR)/tmp" CC="$(TARGET_CC)" distcheck)
149 endef