- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-
- # Applying patches.
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-gentoo-14.patch
- cd $(DIR_APP) && autoreconf
- cd $(DIR_APP) && autoconf
-
- # Build.
- cd $(DIR_APP) && CFLAGS="$(CFLAGS)" ./configure --prefix=/usr \
- --disable-auto-linux-mem-opt
- cd $(DIR_APP) && make $(MAKETUNING)
- cd $(DIR_APP) && make install
-
- # grub files
- mkdir -vp /boot/grub
- cp -v /usr/lib/grub/i386-pc/stage{1,2} /boot/grub
- for i in $(DIR_SRC)/config/grub/*; do \
- [ -f $$i ] && cp -f $$i /boot/grub; \
- done
-
- # generate default file
- grub-set-default 0
-
- @rm -rf $(DIR_APP)
+ @rm -rf $(DIR_APP) $(DIR_APP_EFI) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-2.02_disable_vga_fallback.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-2.02-xfs-accept-filesystem-with-sparse-inodes.patch
+
+ # Install unifont
+ cp -v $(DIR_DL)/unifont-7.0.03.pcf.gz $(DIR_APP)/unifont.pcf.gz
+
+ifeq "$(BUILD_EFI)" "1"
+ cp -r $(DIR_APP) $(DIR_APP_EFI)
+ cd $(DIR_APP_EFI) && ./configure $(CONFIGURE_ARGS) \
+ --with-platform=efi CFLAGS= LDFLAGS=
+ cd $(DIR_APP_EFI) && make $(MAKETUNING)
+ cd $(DIR_APP_EFI) && make install
+endif
+
+ifeq "$(BUILD_PC)" "1"
+ cp -r $(DIR_APP) $(DIR_APP_PC)
+ cd $(DIR_APP_PC) && ./configure $(CONFIGURE_ARGS) \
+ --with-platform=pc CFLAGS= LDFLAGS=
+ cd $(DIR_APP_PC) && make $(MAKETUNING)
+ cd $(DIR_APP_PC) && make install
+
+ # Install empty configuration file
+ -mkdir -pv /boot/grub
+ touch /boot/grub/grub.cfg
+endif
+
+ # Install background image
+ -mkdir -pv /boot/grub
+ install -m 644 $(DIR_SRC)/config/grub2/splash.png /boot/grub/splash.png
+
+ # Install default configuration
+ -mkdir -pv /etc/default
+ install -m 644 $(DIR_SRC)/config/grub2/default /etc/default/grub
+
+ @rm -rf $(DIR_APP) $(DIR_APP_PC) $(DIR_APP_EFI)