GNU Make のプリプロセッサ ifeq で or 条件をしたかった
以下のような Makefile で
ifeq (($version),1) CFLAG += -DVERSION=($version) -DFOO -DBAR else ifeq (($version),2) CFLAG += -DVERSION=($version) -DFOO -DBAR endif endif
version が 1 か 2 の時に、コンパイルスイッチを追加したい、という要求がある。
この場合、どちらが指定されたとしても、コンパイルスイッチに書く内容が(値は違えど)一緒なので、以下のようにしたい。
ifeq (($version),1) || (($version),2) CFLAG += -DVERSION=($version) -DFOO -DBAR endif
しかし、GNU Make には、どうやら条件プリプロセッサに関して、and/or 条件による条件式の結合などは存在しないようだ。以下根拠。
- ググってもググっても見つからない
- 手元にある大量の makefile 内にもひとつも見当たらない
たぶん。