[解決済み] 1つのmakefileから複数のターゲットをビルドする方法
2022-02-04 04:01:49
質問
Makefileのターゲットをパラメータ化しようとしています。現在、このファイルには
TARGET = main
という宣言があります。この宣言は
SRC
のリストを作成したり、他のさまざまなことを行います。
しかし、私はCコードを変更し、複数の異なるトップレベル.cファイルを持って、基本的にバリアントビルドを取得するようにしました。そこで、私ができるようにしたいことは、基本的に次のようなことです。
make target1
または
make target2
そして、何を変化させるか
TARGET
がmakefileに設定されています。これをどう実現すればいいのか、戸惑っています。私は次のようなものを追加するかもしれないと思った
target1: all
TARGET=target1
しかし、これは全くと言っていいほどうまくいかなかったようです。どうすればいいのか、一般的なパターンがあるのでしょうか?
どのように解決するのですか?
パラメータ化された変数名とターゲット固有の変数は、ターゲット固有の変数の値は通常そのターゲットの prereqs によって "inherited" されるので、あなたが望むことを行うかもしれません (GNU make を使用していると仮定しています)。
target1_SRC=123 456
target2_SRC=abc def
target1: TARGET=target1
target2: TARGET=target2
target1: all
target2: all
all: ; @echo $($(TARGET)_SRC)
そして
make target1
または
make target2
といった具合に。
$ make target1
123 456
$ make target2
abc def
関連
-
[解決済み】stdinとSTDIN_FILENOの違いは何ですか?
-
[解決済み】Cコンパイルエラーです。Idは1終了ステータスを返した
-
[解決済み】"Expected expression before ' { ' token"(トークンの前に期待される式)。
-
[解決済み】C 未知の型名「my_structure」。
-
[解決済み】警告:引数「互換性のないポインタ型から」を渡す[デフォルトで有効]。
-
[解決済み】スタックスマッシュを検出しました
-
[解決済み】0LLや0x0ULの意味は何ですか?
-
[解決済み】makefileに'cd'コマンドを記述するには?
-
[解決済み】MakefileのターゲットでBash構文を使用するにはどうすればいいですか?
-
[解決済み】makefileでターゲットのリストを取得する方法とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】 `S_ISREG()` とは何ですか、そして何をするのですか?
-
[解決済み] Connect: ソケット以外でのソケット操作
-
[解決済み】C言語におけるファイルスコープでの可変長配列の変更
-
[解決済み】式は変更可能なL値でなければならない
-
[解決済み] [Solved] なぜこのようなエラーが発生するのでしょうか。「データ定義に型またはストレージクラスがない」?
-
[解決済み】エラー:不明な型名'bool'
-
[解決済み】スタックスマッシュを検出しました
-
[解決済み】int型配列へのポインタのスカラ・イニシャライザの過剰要素
-
[解決済み】エラー:呼び出されたオブジェクトは、関数または関数ポインタではない
-
[解決済み】警告:式の結果が未使用の場合