重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

オライリーの"C++クックブック"の日本語版を読んでいます。

p62のGNU makeの変数の説明について、実際の動作とずれがあるように思います。
以下の文がp62にあります。
「makefile自体に指定された値の方が、コマンドラインで指定された値よりも優先される。」

以下が作成したmakefileです。
-----
XXX=test
all:
@echo $(XXX)
-----

make
と実行すると
test
と表示されます。

make XXX=kkk
と実行すると
kkk
と表示されます。

makefile自体に指定された値の方よりも、コマンドラインで指定した値が優先されているように思われます。

以下のページでもコマンドライン指定の方が優先度が高いように書いているように思われます。
http://www.02.246.ne.jp/~torutk/cxx/make/gnumake …


C++クックブックの日本語化の過程で間違いが入ったのでしょうか。

A 回答 (1件)

英語版の C++ クックブックは持っていないので「日本語化の過程で間違いが入った」かどうかはわかりませんが, Make の動作としては


コマンドラインで指定したものが優先
です.

ただし「コマンドラインで指定しようとどうしようと Makefile に書いてあるようにしたい」ということであれば, それなりに可能です.
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

やはりコマンドライン指定が優先されるのですね。

> 「コマンドラインで指定しようとどうしようと Makefile に書いてあるようにしたい」ということであれば, それなりに可能です.
こういうこともできるのですね。

もう少しmake関連の資料を読み進めていきます。

ありがとうございました。

お礼日時:2014/02/12 19:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!