aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Fleming <matt.fleming@intel.com>2011-12-06 15:45:51 +0000
committerMatt Fleming <matt.fleming@intel.com>2011-12-16 16:31:19 +0000
commitde65c9df7c0302d053c4a47f60b31c641cce97a7 (patch)
tree7aefd6856dbbf6c0fc767a8f314338ad217005ca
parentd1195567fe9e6b580b04c73d78bb923383ac2dc9 (diff)
downloadsyslinux-de65c9df7c0302d053c4a47f60b31c641cce97a7.tar.gz
syslinux-de65c9df7c0302d053c4a47f60b31c641cce97a7.tar.xz
syslinux-de65c9df7c0302d053c4a47f60b31c641cce97a7.zip
core: Rebuild core objects for EFI
We compile core/ with different CFLAGS when building for EFI. So do a make clean once we've built the binary targets (BTARGET) but before we build the EFI executable.
-rw-r--r--core/Makefile2
-rw-r--r--mk/efi.mk12
2 files changed, 7 insertions, 7 deletions
diff --git a/core/Makefile b/core/Makefile
index 5288da69..c55a12a3 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -74,7 +74,7 @@ ifndef DATE
DATE := $(shell sh ../gen-id.sh $(VERSION) $(HEXDATE))
endif
-all: $(BTARGET)
+all: $(BTARGET) clean
kwdhash.gen: keywords genhash.pl
$(PERL) genhash.pl < keywords > kwdhash.gen
diff --git a/mk/efi.mk b/mk/efi.mk
index c6c93a2c..e4614481 100644
--- a/mk/efi.mk
+++ b/mk/efi.mk
@@ -10,14 +10,14 @@ FORMAT=efi-app-$(ARCH)
CFLAGS = -I/usr/include/efi -I/usr/include/efi/$(ARCH) \
-DEFI_FUNCTION_WRAPPER -fPIC -fshort-wchar -ffreestanding \
-Wall -I$(com32)/include -I$(core)/include -m32 -march=i686 \
- -I$(com32)/lib/ -std=gnu99
+ -I$(com32)/lib/ -std=gnu99 -DELF_DEBUG -DSYSLINUX_EFI
# gnuefi sometimes installs these under a gnuefi/ directory, and sometimes not
CRT0 := $(shell find $(LIBDIR) -name crt0-efi-$(ARCH).o 2>/dev/null | tail -n1)
LDSCRIPT := $(shell find $(LIBDIR) -name elf_$(ARCH)_efi.lds 2>/dev/null | tail -n1)
-LDFLAGS = -T $(LDSCRIPT) -Bsymbolic -shared -nostdlib -znocombreloc \
- -L$(LIBDIR) $(CRT0)
+LDFLAGS = -T syslinux.ld -Bsymbolic -pie -nostdlib -znocombreloc \
+ -L$(LIBDIR) --hash-style=gnu -m elf_i386 $(CRT0) -E
SFLAGS = $(GCCOPT) $(GCCWARN) -march=i386 \
-fomit-frame-pointer -D__COM32__ \
@@ -32,6 +32,6 @@ SFLAGS = $(GCCOPT) $(GCCWARN) -march=i386 \
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
-%.efi: %.so
- $(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic -j .dynsym -j .rel \
- -j .rela -j .reloc --target=$(FORMAT) $*.so $@
+#%.efi: %.so
+# $(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic -j .dynsym -j .rel \
+# -j .rela -j .reloc --target=$(FORMAT) $*.so $@