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