0

gmake v3.80を使用して、2つのことをORするルールを作成するにはどうすればよいですか。私はこのコードから始めています:

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

そして、2つの条件をORした場合、2つのifeqを1つに結合したいのですが、おそらくこのようなものですか?

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

これを可能にする実際の構文は何ですか?

4

1 に答える 1

2

そのために$(filter ...)を使用できます。このような:

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の新しいバージョンにアップグレードできる場合は、他のオプションを利用できます。

于 2012-05-20T21:45:43.297 に答える