質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
make

make は、ビルド作業を自動化するツールです。さまざまなファイルの最終変更時刻を比較し、従属するファイルよりも「ターゲット」のファイルが古いことがわかったときユーザーが設定していた命令を実行する事が可能です。

makefile

make は、プログラムのビルド作業を自動化するツールです。コンパイル、リンク、インストール等のルールを記述したテキストファイルをmakefileと呼び、このルールに従ってmakeが自動的にビルドを実行する。

Q&A

解決済

2回答

8269閲覧

MakefileでTarget内での変数宣言のついて

退会済みユーザー

退会済みユーザー

総合スコア0

make

make は、ビルド作業を自動化するツールです。さまざまなファイルの最終変更時刻を比較し、従属するファイルよりも「ターゲット」のファイルが古いことがわかったときユーザーが設定していた命令を実行する事が可能です。

makefile

make は、プログラムのビルド作業を自動化するツールです。コンパイル、リンク、インストール等のルールを記述したテキストファイルをmakefileと呼び、このルールに従ってmakeが自動的にビルドを実行する。

0グッド

0クリップ

投稿2015/05/25 04:23

Makefileで変数宣言をしたい場合、以下のようにすればうまくいくことを確認しています。

lang

1MAKING_DIR = $(PWD) 2hello: 3 echo MAKING_DIR 4``` 5 6この変数宣言をターゲット(hello)の中で行いたい場合、エラーとなります。 7 8``````lang-bash 9hello: 10 MAKING_DIR = 'ほげほげ' # ① 11 MAKING_DIR = $(PWD) # ② 12``` 13 14①と②ともにダメでした。 15``` 16make: MAKING_DIR: No such file or directory 17make: *** [php] Error 1 18``` 19 20何故このようなエラーになるのか?ターゲット内で変数宣言が可能なのか? 21ご存知のかたいらっしゃいましたら教えて頂けますか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

以下のように$(eval )使うとできますよ。

Makefile

1hello: 2 $(eval MAKING_DIR = 'ほげほげ') 3 $(eval MAKING_DIR = $(PWD))

以下ご参考。
makefile 動的に変数に代入 共通して使う

投稿2020/05/30 07:32

vega77

総合スコア17

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

[開発]GNU makeのMakefileに、シェルスクリプトを自然に書くたった一つの方法

GNU makeでは1行毎に1つのシェルで実行される
シェル変数は相変わらず$$varnameと$を重ねて書かないといけない

という2つのキーワードがあります。この辺り参考にして(調べてみるか、追加の質問をして)下さい。

make の行で、シェルスクリプトを呼べば(~.sh を実行すれば)、その中で変数の定義は自由ですので、そういう手もありますね。

投稿2015/05/25 04:40

takotakot

総合スコア1111

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/05/25 05:13

> GNU makeでは1行毎に1つのシェルで実行される makeの仕組み忘れてました。 ターゲット内で変数をやりくりするのは、面倒なので~.shを呼び出す方向で行こうと思います。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問