restore CFLAGS check for conflict and fix recursive CFLAGS issue

cc-option uses more make-syntax to replace the shell "if/else".

Issue with recursive += is fixed by doing the first assignment
simply-expanded, as explained in
http://www.gnu.org/software/make/manual/html_node/Appending.html

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Thomas Monjalon 2009-09-11 18:45:40 +02:00 committed by Anthony Liguori
parent 25fe365483
commit fc3baad7bf
2 changed files with 4 additions and 4 deletions

View File

@ -7,9 +7,9 @@ include $(SRC_PATH)/rules.mak
VPATH=$(SRC_PATH)/pc-bios/optionrom
CFLAGS = -Wall -Wstrict-prototypes -Werror -fomit-frame-pointer -fno-builtin
CFLAGS := -Wall -Wstrict-prototypes -Werror -fomit-frame-pointer -fno-builtin
CFLAGS += -I$(SRC_PATH)
CFLAGS += $(call cc-option, -fno-stack-protector,"")
CFLAGS += $(call cc-option, $(CFLAGS), -fno-stack-protector)
QEMU_CFLAGS = $(CFLAGS)
build-all: multiboot.bin

View File

@ -21,5 +21,5 @@ quiet-command = $(if $(V),$1,$(if $(2),@echo $2 && $1, @$1))
# cc-option
# Usage: CFLAGS+=$(call cc-option, -falign-functions=0, -malign-functions=0)
cc-option = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null \
> /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;)
cc-option = $(if $(shell $(CC) $1 $2 -S -o /dev/null -xc /dev/null \
>/dev/null 2>&1 && echo OK), $2, $3)