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>
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
# 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
#