diff options
author | Michael Brown | 2008-10-17 19:24:04 +0200 |
---|---|---|
committer | Michael Brown | 2008-10-17 19:24:04 +0200 |
commit | d9c38d14d678a6aba6d6d52cb4ba079c38fe3a96 (patch) | |
tree | c132cd2a06f0f0b868168c3cbf3a36bb918915dc /src | |
parent | [romprefix] Sanity-check the runtime segment address for PCI 3 (diff) | |
download | ipxe-d9c38d14d678a6aba6d6d52cb4ba079c38fe3a96.tar.gz ipxe-d9c38d14d678a6aba6d6d52cb4ba079c38fe3a96.tar.xz ipxe-d9c38d14d678a6aba6d6d52cb4ba079c38fe3a96.zip |
[build] Fix building on FreeBSD
FreeBSD requires the object format to be specified as elf_i386_fbsd,
rather than elf_i386.
Based on a patch from Eygene Ryabinkin <rea-fbsd@codelabs.ru>
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile.housekeeping | 8 | ||||
-rw-r--r-- | src/arch/i386/Makefile | 8 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping index 7054cdcf..067ac826 100644 --- a/src/Makefile.housekeeping +++ b/src/Makefile.housekeeping @@ -54,6 +54,14 @@ echo : ############################################################################### # +# Determine host OS +# +HOST_OS := $(shell uname -s) +hostos : + @$(ECHO) $(HOST_OS) + +############################################################################### +# # Check for tools that can cause failed builds # .toolcheck : diff --git a/src/arch/i386/Makefile b/src/arch/i386/Makefile index dac53493..7d3e7639 100644 --- a/src/arch/i386/Makefile +++ b/src/arch/i386/Makefile @@ -38,8 +38,12 @@ CFLAGS += -freg-struct-return # Force 32-bit code even on an x86-64 machine # CFLAGS += -m32 -ASFLAGS += --32 -LDFLAGS += -m elf_i386 +ASFLAGS += --32 +ifeq ($(HOST_OS),FreeBSD) +LDFLAGS += -m elf_i386_fbsd +else +LDFLAGS += -m elf_i386 +endif # EFI requires -fshort-wchar, and nothing else currently uses wchar_t # |