mirror of
https://github.com/sheumann/hush.git
synced 2024-12-22 14:30:31 +00:00
Use a nifty macro to make testing gcc features simpler
and much easier to read. -Erik
This commit is contained in:
parent
df5b8679a2
commit
1b6eb9b6eb
17
Rules.mak
17
Rules.mak
@ -125,6 +125,9 @@ TARGET_ARCH:=${shell $(CC) -dumpmachine | sed -e s'/-.*//' \
|
|||||||
-e 's/sh[234]/sh/' \
|
-e 's/sh[234]/sh/' \
|
||||||
-e 's/mips.*/mips/' \
|
-e 's/mips.*/mips/' \
|
||||||
}
|
}
|
||||||
|
# A nifty macro to make testing gcc features easier
|
||||||
|
check_gcc=$(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; \
|
||||||
|
then echo "$(1)"; else echo "$(2)"; fi)
|
||||||
|
|
||||||
#--------------------------------------------------------
|
#--------------------------------------------------------
|
||||||
# Arch specific compiler optimization stuff should go here.
|
# Arch specific compiler optimization stuff should go here.
|
||||||
@ -132,8 +135,8 @@ TARGET_ARCH:=${shell $(CC) -dumpmachine | sed -e s'/-.*//' \
|
|||||||
# for OPTIMIZATION...
|
# for OPTIMIZATION...
|
||||||
|
|
||||||
# use '-Os' optimization if available, else use -O2
|
# use '-Os' optimization if available, else use -O2
|
||||||
OPTIMIZATION := ${shell if $(CC) -Os -S -o /dev/null -xc /dev/null \
|
OPTIMIZATION:=
|
||||||
>/dev/null 2>&1; then echo "-Os"; else echo "-O2" ; fi}
|
OPTIMIZATION+=${call check_gcc,-Os,-O2}
|
||||||
|
|
||||||
# Some nice architecture specific optimizations
|
# Some nice architecture specific optimizations
|
||||||
ifeq ($(strip $(TARGET_ARCH)),arm)
|
ifeq ($(strip $(TARGET_ARCH)),arm)
|
||||||
@ -141,13 +144,9 @@ ifeq ($(strip $(TARGET_ARCH)),arm)
|
|||||||
endif
|
endif
|
||||||
ifeq ($(strip $(TARGET_ARCH)),i386)
|
ifeq ($(strip $(TARGET_ARCH)),i386)
|
||||||
OPTIMIZATION+=-march=i386
|
OPTIMIZATION+=-march=i386
|
||||||
OPTIMIZATION+=${shell if $(CC) -mpreferred-stack-boundary=2 -S -o /dev/null -xc \
|
OPTIMIZATION+=$(call check_gcc,-mpreferred-stack-boundary=2,)
|
||||||
/dev/null >/dev/null 2>&1; then echo "-mpreferred-stack-boundary=2"; fi}
|
OPTIMIZATION+=$(call check_gcc,-falign-functions=0 -falign-jumps=0 -falign-loops=0,\
|
||||||
OPTIMIZATION+=${shell if $(CC) -falign-functions=1 -falign-jumps=0 -falign-loops=0 \
|
-malign-functions=0 -malign-jumps=0 -malign-loops=0)
|
||||||
-S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo \
|
|
||||||
"-falign-functions=1 -falign-jumps=0 -falign-loops=0"; else \
|
|
||||||
if $(CC) -malign-functions=0 -malign-jumps=0 -S -o /dev/null -xc \
|
|
||||||
/dev/null >/dev/null 2>&1; then echo "-malign-functions=0 -malign-jumps=0"; fi; fi}
|
|
||||||
endif
|
endif
|
||||||
OPTIMIZATIONS:=$(OPTIMIZATION) -fomit-frame-pointer
|
OPTIMIZATIONS:=$(OPTIMIZATION) -fomit-frame-pointer
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user