X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/db2942ead1a6a864470bcdb76c09d9a4cb68a307..bb43ad8e7d1f03015393d3d8d025d6c5b10c3ede:/package/grub/Makefile?ds=sidebyside diff --git a/package/grub/Makefile b/package/grub/Makefile index 94695ec97..e40177080 100644 --- a/package/grub/Makefile +++ b/package/grub/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2006-2009 OpenWrt.org +# Copyright (C) 2006-2010 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -10,81 +10,62 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=grub PKG_VERSION:=0.97 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=ftp://alpha.gnu.org/gnu/grub PKG_MD5SUM:=cd3f3eb54446be6003156158d51f4884 -PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/grub-$(PKG_VERSION) -PKG_TARGETS:=bin +PKG_BUILD_DEPENDS:= grub/host +PKG_INSTALL:=1 +include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/package.mk -export grub_cv_prog_objcopy_absolute=yes - define Package/grub - SECTION:=boot - DEPENDS:=@TARGET_x86 - CATEGORY:=Boot Loaders + SUBMENU:=Boot Loaders + CATEGORY:=Utilities + SECTION:=utils TITLE:=GRand Unified Bootloader URL:=http://www.gnu.org/software/grub/ + DEPENDS:=@TARGET_x86 endef -ifeq ($(HOST_OS),Linux) - NATIVEGRUB-i386:=1 - NATIVEGRUB-i686:=1 - NATIVEGRUB:=$(NATIVEGRUB-$(HOST_ARCH)) -endif - -ifeq ($(NATIVEGRUB),) -CONFIGURE_FLAGS:= \ - --target=$(GNU_TARGET_NAME) \ - --host=$(GNU_TARGET_NAME) \ - --build=$(GNU_HOST_NAME) -else -CONFIGURE_FLAGS:= -endif - -ifneq ($(HOST_OS),Darwin) -define Build/Configure - (cd $(PKG_BUILD_DIR); \ - LDFLAGS="-static" \ - ./configure \ - $(CONFIGURE_FLAGS) \ - --program-prefix="" \ - --program-suffix="" \ - --prefix=/usr \ - --exec-prefix=/usr \ - --bindir=/usr/bin \ - --sbindir=/usr/sbin \ - --libexecdir=/usr/lib \ - --sysconfdir=/etc \ - --datadir=/usr/share \ - --localstatedir=/var \ - --mandir=/usr/man \ - --infodir=/usr/info \ - $(DISABLE_NLS) \ - --disable-auto-linux-mem-opt \ - ) -endef -# -# ./configure detects whether the host compiler supports -# -fno-stack-protector but only sets STAGE2_CFLAGS accordingly -# -define Build/Compile - $(MAKE) -C $(PKG_BUILD_DIR) \ - GRUB_CFLAGS="\$$$$(STAGE2_CFLAGS)" \ - STAGE1_CFLAGS="\$$$$(STAGE2_CFLAGS)" -endef +MY_CONFIGURE_ARGS += \ + --disable-auto-linux-mem-opt \ + --disable-graphics \ + --disable-hercules \ + --without-curses \ + +MY_CONFIGURE_VARS += \ + grub_cv_prog_objcopy_absolute=yes \ + +CONFIGURE_ARGS += $(MY_CONFIGURE_ARGS) + +CONFIGURE_VARS += $(MY_CONFIGURE_VARS) + +HOST_CFLAGS += $(call host-cc-option,-fno-stack-protector) +HOST_CFLAGS += $(call host-cc-option,-U_FORTIFY_SOURCE) + +HOST_CONFIGURE_ARGS += $(MY_CONFIGURE_ARGS) \ + --sbindir="$(STAGING_DIR_HOST)/bin" \ + +HOST_CONFIGURE_VARS += $(MY_CONFIGURE_VARS) define Build/InstallDev - $(MAKE) -C $(PKG_BUILD_DIR) \ - DESTDIR="$(STAGING_DIR_HOST)" \ - install - mv $(STAGING_DIR_HOST)/usr/sbin/grub $(STAGING_DIR_HOST)/bin + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/grub $(1)/usr/lib/ +endef + +define Package/grub/install + $(INSTALL_DIR) $(1)/usr/bin + $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/ + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/ + $(INSTALL_DIR) $(1)/usr/sbin + $(CP) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin/ endef -endif +$(eval $(call HostBuild)) $(eval $(call BuildPackage,grub))