2012-05-20 2 views
0

gmake v3.80을 사용하면 두 가지를 OR하는 규칙을 어떻게 만들 수 있습니까? 이 코드로 시작 해요 :어떻게 또는 함께 gnumakefile 조건을 만들 수 있습니까?

ifeq "$(BUILD_ARCH)" "lnx86_22" 
TEST_ARCH := i86 
endif 
ifeq "$(BUILD_ARCH)" "linux_24_i86" 
TEST_ARCH := i86 
endif 

그리고는 함께이 같은 아마 뭔가를 두 조건을 OR 연산하면 하나에 두는 ifeq (들)을 결합 하시겠습니까?

ifeq "$(BUILD_ARCH)" "lnx86_22" OR "$(BUILD_ARCH)" "linux_24_i86" 
TEST_ARCH := i86 
endif 

내가 할 수있는 실제 구문은 무엇입니까?

답변

2

$ (필터 ...)를 사용할 수 있습니다. 이처럼 :

ifneq (,$(filter $(BUILD_ARCH),lnx86_22 linux_24_i86)) 
TEST_ARCH := i86 
endif 

또 다른 옵션은 구성 변수 이름을 사용하는 것입니다 :

lnx86_22_ARCH :=  i86 
linux_24_i86_ARCH := i86 
    ... 

TEST_ARCH := $($(BUILD_ARCH)_ARCH) 

ifeq (,$(TEST_ARCH)) 
$(error Failed, unknown arch $(BUILD_ARCH)) 
Failed, unknown arch $(BUILD_ARCH) 
endif 

는 GNU의 새로운 버전으로 업그레이드 할 수 있습니다 사용할 수있는 다른 옵션이 한 경우.

+0

v3.82에서이 작업을 수행하는 방법을 알려주십시오. – WilliamKF

관련 문제