从/ proc / cpuinfo构建GCC的sse开关

时间:2011-02-06 06:25:39

标签: makefile sse

我有一个Makefile,我想解析/ proc / cpuinfo中的标志,并建立一个可用的sse指令集列表,传递给gcc(-msse -msse2等)。这是迄今为止我提出的最好的,Make对此并不满意:

DUMM     = $(foreach tag,$(SSE_TAGS),
            ifneq ($(shell cat /proc/cpuinfo | grep $(tag) | wc -l),"") 
            OPT_FLAG += -m$(tag) 
            endif)

所以我想如果有人有任何想法,我会在这里看到。

1 个答案:

答案 0 :(得分:2)

对于追随我的人来说,这就是我想要的:

SSE_TAGS = $(shell /bin/grep -m 1 flags /proc/cpuinfo | /bin/grep -o \    
    'sse\|sse2\|sse3\|ssse3\|sse4a\|sse4.1\|sse4.2\|sse5')
NUM_PROC = $(shell cat /proc/cpuinfo | grep processor | wc -l)

ifneq (${SSE_TAGS},) 
    CCOPTS += -mfpmath=sse
    CCOPTS += $(foreach tag,$(SSE_TAGS),-m$(tag))
endif