build system cleanup/restructuring as described in http://lists.openwrt.org/pipermail...
[openwrt-10.03/.git] / target / linux / x86-2.6 / image / grub / Makefile
index e30443e18cde99e76e45bde7073caf3e76b0d431..dae74e9dc2ff50707349455f5a799ac945591d83 100644 (file)
@@ -23,33 +23,19 @@ PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/grub-$(PKG_VERSION)
 include $(INCLUDE_DIR)/package.mk
 
 ifeq ($(HOST_ARCH),x86_64)
-  define Build/Configure
-       (cd $(PKG_BUILD_DIR); \
-               LDFLAGS="-static" \
-               ./configure \
-               --target=$(GNU_TARGET_NAME) \
-               --host=$(GNU_TARGET_NAME) \
-               --build=$(GNU_HOST_NAME) \
-               --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) \
-       )
-  endef
+CONFIGURE_FLAGS:= \
+       --target=$(GNU_TARGET_NAME) \
+       --host=$(GNU_TARGET_NAME) \
+       --build=$(GNU_HOST_NAME)
 else
-  define Build/Configure
+CONFIGURE_FLAGS:=
+endif
+
+define Build/Configure
        (cd $(PKG_BUILD_DIR); \
                LDFLAGS="-static" \
                ./configure \
+               $(CONFIGURE_FLAGS) \
                --program-prefix="" \
                --program-suffix="" \
                --prefix=/usr \
@@ -62,18 +48,26 @@ else
                --localstatedir=/var \
                --mandir=/usr/man \
                --infodir=/usr/info \
+               $(DISABLE_NLS) \
+               --disable-auto-linux-mem-opt \
        )
-  endef
-endif
+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)
+       $(MAKE) -C $(PKG_BUILD_DIR) \
+               GRUB_CFLAGS="\$$$$(STAGE2_CFLAGS)" \
+               STAGE1_CFLAGS="\$$$$(STAGE2_CFLAGS)"
 endef
 
 define Build/InstallDev
        $(MAKE) -C $(PKG_BUILD_DIR) \
-               DESTDIR="$(STAGING_DIR)" \
+               DESTDIR="$(STAGING_DIR_HOST)" \
                install
+       mv $(STAGING_DIR_HOST)/usr/sbin/grub $(STAGING_DIR_HOST)/bin
 endef
 
 $(eval $(call Build/DefaultTargets))