2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Makefileのリストを改行区切りで出力する方法

Posted at

経緯

あるソフトのインタフェースに改行区切りでファイル一覧を渡す必要があったのですが、検索してもそのものズバリなものが出てこなかったので、備忘録として書いておきます。

単純に出力した場合

Makefileのリストを出力するとスペース区切りになります。

NAME_LIST = foo bar baz

.PHONY : output_list

output_list : 
	@echo $(NAME_LIST)
$ make output_list
foo bar baz

改行区切りで出力する場合

$(foreach VAR, LIST, TEXT)を使ったやり方がシンプルでよさそうです。

NAME_LIST = foo bar baz

.PHONY : output_list

output_list : 
	@$(foreach name, $(NAME_LIST), echo $(name);)
$ make output_list
foo
bar
baz

ちなみにTEXTの最後のセミコロンは、シェルにコマンドの区切りを教えるためのものなので、忘れるとうまく動きません。
変数が展開されたときには以下のようになります。

echo foo;  echo bar;  echo baz;
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?