]> git.proxmox.com Git - grub2.git/commitdiff
* grub-core/Makefile.am: Reduce gratuituous differences between Apple
authorVladimir Serbinenko <phcoder@gmail.com>
Tue, 26 Nov 2013 10:38:12 +0000 (11:38 +0100)
committerVladimir Serbinenko <phcoder@gmail.com>
Tue, 26 Nov 2013 10:38:12 +0000 (11:38 +0100)
and non-Apple variants of efiemu compile.

ChangeLog
grub-core/Makefile.am

index d59c46f5e0bf6adb5d4c3810338ae4c66f19877f..edb86307ee32087bfe47c1543ffba13fde66d7bc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-11-26  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/Makefile.am: Reduce gratuituous differences between Apple
+       and non-Apple variants of efiemu compile.
+
 2013-11-25  Andrey Borzenkov <arvidjaar@gmail.com>
 
        *  configure.ac: Add explicit check for linking format of
index c096098d132dde4f409945f8be863bd0534e54d4..20f00a3c2886da543a83c413bdbc62895dfde7f5 100644 (file)
@@ -388,41 +388,35 @@ CLEANFILES += $(MOD_FILES)
 
 if COND_ENABLE_EFIEMU
 efiemu32.o: efiemu/runtime/efiemu.c $(TARGET_OBJ2ELF)
-       -rm -f $@; \
+       -rm -f $@
+       -rm -f $@.bin
+       $(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -m32 -Wall -Werror -nostdlib -static -O2 -c -o $@.bin $<
        if test "x$(TARGET_APPLE_LINKER)" = x1; then \
-         $(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -m32 -Wall -Werror -nostdlib -O2 -c -o $@.bin $< || exit 1; \
          $(TARGET_OBJCONV) -felf32 -nu -nd $@.bin $@ || exit 1; \
-         rm -f $@.bin; \
+         rm -f $@.bin ; \
+       elif test ! -z "$(TARGET_OBJ2ELF)"; then \
+         $(TARGET_OBJ2ELF) $@.bin || (rm -f $@.bin; exit 1); \
+         mv $@.bin $@ ; \
        else \
-         $(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -m32 -Wall -Werror -nostdlib -O2 -c -o $@ $< || exit 1; \
-         if test ! -z "$(TARGET_OBJ2ELF)"; then $(TARGET_OBJ2ELF) $@ || (rm -f $@; exit 1); fi; \
+         mv $@.bin $@ ; \
        fi
 
 # Link format -arch,x86_64 means Apple linker
 efiemu64_c.o: efiemu/runtime/efiemu.c
-       if test "x$(EFIEMU64_LINK_FORMAT)" = x-arch,x86_64; then \
-         $(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -m64 -nostdlib -Wall -Werror -mno-red-zone -c -o $@ $< || exit 1; \
-       else \
-         $(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -m64 -nostdlib -Wall -Werror -O2 -mcmodel=large -mno-red-zone -c -o $@ $< || exit 1; \
-       fi
+       $(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -m64 -nostdlib -Wall -Werror -O2 -mcmodel=large -mno-red-zone -c -o $@ $<
 
 efiemu64_s.o: efiemu/runtime/efiemu.S
-       -rm -f $@
-       if test "x$(EFIEMU64_LINK_FORMAT)" = x-arch,x86_64; then \
-         $(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -m64 -Wall -Werror -nostdlib -O2 -mno-red-zone -c -o $@ $< || exit 1; \
-       else \
-         $(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -m64 -Wall -Werror -nostdlib -O2 -mcmodel=large -mno-red-zone -c -o $@ $< || exit 1; \
-       fi
+       $(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -m64 -Wall -Werror -nostdlib -O2 -mcmodel=large -mno-red-zone -c -o $@ $<
 
 efiemu64.o: efiemu64_c.o efiemu64_s.o $(TARGET_OBJ2ELEF)
-       -rm -f $@; \
+       -rm -f $@
+       -rm -f $@.bin
+       $(TARGET_CC) -m64 $(EFIEMU64_LINK_FORMAT) -nostdlib -static -Wl,-r -o $@.bin $^
        if test "x$(EFIEMU64_LINK_FORMAT)" = x-arch,x86_64; then \
-         rm -f $@.bin; \
-         $(TARGET_CC) -m64 -Wl,-r -nostdlib -o $@.bin $^ || exit 1; \
          $(TARGET_OBJCONV) -felf64 -nu -nd $@.bin $@ || exit 1; \
          rm -f $@.bin; \
        else \
-         $(TARGET_CC) -m64 $(EFIEMU64_LINK_FORMAT) -nostdlib -Wl,-r -o $@ $^ || exit 1; \
+         mv $@.bin $@ ; \
        fi
 
 platform_DATA += efiemu32.o efiemu64.o