2011-02-06 26 views
2

我有一個Makefile,我想解析/ proc/cpuinfo中的標誌,並建立一個可用的sse指令集列表以傳遞給gcc(-msse -msse2等)。這是我想出來的,到目前爲止它做最好的,不開心的與所有:從/ proc/cpuinfo構建GCC的sse開關

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

所以我想我會在這裏看到,如果任何人有任何想法。

回答

1

對於後我來的人,這我想要做什麼:

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