diff options
author | H. Peter Anvin <hpa@zytor.com> | 2007-02-06 16:33:39 -0800 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2007-02-06 16:33:39 -0800 |
commit | df2e79ce976ff922c46d56183a6a904f9d5b8cf6 (patch) | |
tree | 192c20e0cde3f250d40515b303e1944e30fc1c74 /dos | |
parent | 9b7224f6a3419bba497b2a47a0c27f8f4893a3cc (diff) | |
download | syslinux-df2e79ce976ff922c46d56183a6a904f9d5b8cf6.tar.gz |
Deal with various distributions breaking gcc in weird ways
Diffstat (limited to 'dos')
-rw-r--r-- | dos/Makefile | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/dos/Makefile b/dos/Makefile index 61423cec..5fd52d1b 100644 --- a/dos/Makefile +++ b/dos/Makefile @@ -1,9 +1,14 @@ +gcc_ok = $(shell if gcc $(1) -c -x c /dev/null -o /dev/null 2>/dev/null; \ + then echo $(1); else echo $(2); fi) + +M32 := $(call gcc_ok,-m32,) $(call gcc_ok,-ffreestanding,) $(call gcc_ok,-fno-stack-protector,) + CC = gcc LD = ld -m elf_i386 OBJCOPY = objcopy OPTFLAGS = -g -Os -march=i386 -falign-functions=0 -falign-jumps=0 -falign-loops=0 -fomit-frame-pointer INCLUDES = -include code16.h -I. -I.. -I../libfat -CFLAGS = -m32 -mregparm=3 -DREGPARM=3 -W -Wall -ffreestanding -msoft-float $(OPTFLAGS) $(INCLUDES) +CFLAGS = $(M32) -mregparm=3 -DREGPARM=3 -W -Wall -msoft-float $(OPTFLAGS) $(INCLUDES) LDFLAGS = -T com16.ld AR = ar RANLIB = ranlib |