From d9c38d14d678a6aba6d6d52cb4ba079c38fe3a96 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Fri, 17 Oct 2008 18:24:04 +0100 Subject: [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 --- src/Makefile.housekeeping | 8 ++++++++ src/arch/i386/Makefile | 8 ++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping index 7054cdcf..067ac826 100644 --- a/src/Makefile.housekeeping +++ b/src/Makefile.housekeeping @@ -52,6 +52,14 @@ VERYCLEANUP += .echocheck echo : @$(ECHO) "Using \"$(ECHO_E)\" for \"echo -e\"" +############################################################################### +# +# Determine host OS +# +HOST_OS := $(shell uname -s) +hostos : + @$(ECHO) $(HOST_OS) + ############################################################################### # # Check for tools that can cause failed builds 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 # -- cgit v1.2.3-55-g7522