[解決済み] Makefile でスクリプトをソースにするには?
2023-03-26 02:03:11
質問
env vars を設定するスクリプトを makefile 内でソースする良い方法はないでしょうか?
FLAG ?= 0
ifeq ($(FLAG),0)
export FLAG=1
/bin/myshell -c '<source scripts here> ; $(MAKE) $@'
else
...targets...
endif
どのように解決するのですか?
質問されたことに答えるために はできません。 .
基本的な問題は、子プロセスは親の環境を変更することができないということです。シェルはこれを回避するために
新しいプロセスをフォークしない
ときに
source
を実行するのではなく、単にシェルの現在のインカネーションでこれらのコマンドを実行します。これは問題なく動作しますが
make
は
/bin/sh
(またはあなたのスクリプトのためのどんなシェルでも)であり、その言語を理解しません(共通する部分は別として)。
Chris Dodd と Foo Bah が 1 つの可能な回避策に対処したので、私は別の方法を提案します (GNU make を実行していると仮定します)。
shell-variable-setter.make: shell-varaible-setter.sh
postprocess.py @^
# ...
else
include shell-variable-setter.make
endif
面倒なことは練習として残しておく。
関連
-
[解決済み】Makefileの中の.PHONYの目的は何ですか?
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] scpを使ってリモートからローカルにフォルダをコピーするにはどうしたらいいですか?
-
[解決済み] ワイルドカードマッチングに基づいて、現在のフォルダとサブフォルダ内のすべてのファイルを再帰的に検索するにはどうすればよいですか?
-
[解決済み] LinuxのシェルスクリプトでYes/No/Cancelの入力を促すにはどうしたらいいですか?
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] シェルからErlangのリリースバージョン番号を取得する方法は?
-
[解決済み] ある処理の戻り値を否定するには?
-
[解決済み] UNIXのsortコマンドは、どのようにして非常に大きなファイルをソートすることができるのでしょうか?
-
[解決済み] dockerコンテナ内でプロセスが実行されているかどうかを確認するには?
-
[解決済み] 行全体がマッチする場合のみ grep がマッチするようにするには?
-
[解決済み] シェルパイプでエラーコードをキャッチする
-
[解決済み] bashを起動し、新しいシェル内でコマンドを実行し、その後ユーザーに制御を戻すにはどうすればよいですか?
-
[解決済み] time "コマンドの出力をリダイレクトするには?
-
[解決済み] シェルスクリプトを実行する際にJenkinsでビルドを不安定にする方法
-
[解決済み] URLが存在するかどうかをシェルとcurlで確認する方法は?