use recursive variable expansion for CONFIGURE_*, MAKE_* variables in the package...
[openwrt/svn-archive/archive.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 define Package/Default
9 CONFIGFILE:=
10 SECTION:=opt
11 CATEGORY:=Extra packages
12 DEPENDS:=
13 PROVIDES:=
14 EXTRA_DEPENDS:=
15 MAINTAINER:=OpenWrt Developers Team <openwrt-devel@openwrt.org>
16 SOURCE:=$(patsubst $(TOPDIR)/%,%,${shell pwd})
17 ifneq ($(PKG_VERSION),)
18 ifneq ($(PKG_RELEASE),)
19 VERSION:=$(PKG_VERSION)-$(PKG_RELEASE)
20 else
21 VERSION:=$(PKG_VERSION)
22 endif
23 else
24 VERSION:=$(PKG_RELEASE)
25 endif
26 PKGARCH:=$(ARCH)
27 PRIORITY:=optional
28 DEFAULT:=
29 MENU:=
30 SUBMENU:=
31 SUBMENUDEP:=
32 TITLE:=
33 DESCRIPTION:=
34 endef
35
36 ifneq ($(strip $(PKG_UNPACK)),)
37 define Build/Prepare/Default
38 $(PKG_UNPACK)
39 @if [ -d ./patches -a "$$$$(ls ./patches | wc -l)" -gt 0 ]; then \
40 $(PATCH) $(PKG_BUILD_DIR) ./patches; \
41 fi
42 endef
43 endif
44
45 TARGET_CPPFLAGS:=-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include
46 TARGET_LDFLAGS:=-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib
47
48 CONFIGURE_ARGS = \
49 --target=$(GNU_TARGET_NAME) \
50 --host=$(GNU_TARGET_NAME) \
51 --build=$(GNU_HOST_NAME) \
52 --program-prefix="" \
53 --program-suffix="" \
54 --prefix=/usr \
55 --exec-prefix=/usr \
56 --bindir=/usr/bin \
57 --sbindir=/usr/sbin \
58 --libexecdir=/usr/lib \
59 --sysconfdir=/etc \
60 --datadir=/usr/share \
61 --localstatedir=/var \
62 --mandir=/usr/man \
63 --infodir=/usr/info \
64 $(DISABLE_NLS)
65
66 CONFIGURE_VARS = \
67 $(TARGET_CONFIGURE_OPTS) \
68 CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \
69 CXXFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \
70 CPPFLAGS="$(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \
71 LDFLAGS="$(TARGET_LDFLAGS)" \
72 PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig" \
73 PKG_CONFIG_LIBDIR="$(STAGING_DIR)/usr/lib/pkgconfig"
74
75 CONFIGURE_PATH = .
76
77 define Build/Configure/Default
78 (cd $(PKG_BUILD_DIR)/$(strip $(3)); \
79 if [ -x configure ]; then \
80 $(CONFIGURE_VARS) \
81 $(2) \
82 $(CONFIGURE_PATH)/configure \
83 $(CONFIGURE_ARGS) \
84 $(1); \
85 fi; \
86 )
87 endef
88
89 MAKE_VARS = \
90 CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \
91 CXXFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \
92 LDFLAGS="$(EXTRA_LDFLAGS) "
93
94 MAKE_FLAGS = \
95 $(TARGET_CONFIGURE_OPTS) \
96 CROSS="$(TARGET_CROSS)" \
97 ARCH="$(ARCH)"
98
99 define Build/Compile/Default
100 $(MAKE_VARS) \
101 $(MAKE) -C $(PKG_BUILD_DIR) \
102 $(MAKE_FLAGS) \
103 $(1);
104 endef
105
106