teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

書式修正

2020/06/18 00:34

投稿

vega77
vega77

スコア17

title CHANGED
File without changes
body CHANGED
@@ -11,10 +11,14 @@
11
11
 
12
12
  で外部プログラムから値を取得できる事は分かっています。但し、それぞれ問題があり良い方法が見つかりません。
13
13
  ### 発生している問題
14
+ ```Makefile
15
+ VAL := `<command>`
14
- > ``
16
+ ```
15
17
 
16
18
  では参照される度に実行がなされてしまいます。ランダム値の様な実行する度に違う値が返ってくるプログラムなので参照する度に違う値になってしまいます。実行は一回で参照を複数回しても同じ値を参照するようにしたいです。
19
+ ```Makefile
17
- > $(shell )
20
+ VAL := $(shell <command>)
21
+ ```
18
22
 
19
23
  では実行が一回で値を取り込み、何回参照しても同じ値が返ってくるのですが、別の問題として環境変数を設定しないとプログラムが実行できないというのがあります。Makefile側で持っている変数をshの環境変数として設定できればうまく行くと思うのですが。exportでは設定されませんでした。
20
24
 

2

書式改善

2020/06/18 00:34

投稿

vega77
vega77

スコア17

title CHANGED
File without changes
body CHANGED
@@ -1,9 +1,13 @@
1
1
  ### 前提・実現したいこと
2
2
  Makefileで外部プログラムから値を取得したいです。
3
+ ```Makefile
4
+ VAL := `<command>`
3
- > ``
5
+ ```
4
6
 
5
7
  或いは
8
+ ```Makefile
6
- > $(shell )
9
+ VAL := $(shell <command>)
10
+ ```
7
11
 
8
12
  で外部プログラムから値を取得できる事は分かっています。但し、それぞれ問題があり良い方法が見つかりません。
9
13
  ### 発生している問題

1

見た目変更

2020/06/18 00:23

投稿

vega77
vega77

スコア17

title CHANGED
File without changes
body CHANGED
@@ -15,7 +15,9 @@
15
15
  では実行が一回で値を取り込み、何回参照しても同じ値が返ってくるのですが、別の問題として環境変数を設定しないとプログラムが実行できないというのがあります。Makefile側で持っている変数をshの環境変数として設定できればうまく行くと思うのですが。exportでは設定されませんでした。
16
16
 
17
17
  ### 該当のソースコード
18
+ これだとechoの度にrandom.plが実行されて全て違う値になってしまう。
18
19
 
20
+
19
21
  ```Makefile
20
22
  export DIR=$HOME/my_run_directory
21
23
  VAL := `random.pl`
@@ -25,9 +27,9 @@
25
27
  echo $(VAL)
26
28
  echo $(VAL)
27
29
  ```
28
- これだとechoの度にrandom.plが実行されて全て違う値になってしまう。
30
+ ___
29
31
 
30
-
32
+ これが実行できればechoは全て同じ値になるが、random.plを実行する際に$DIRを環境変数として設定せねばならず、別のshellとだからなのかMakefileからexportでは渡す事が出来ない。
31
33
  ```Makefile
32
34
  export DIR=$HOME/my_run_directory
33
35
  VAL := $(shell random.pl)
@@ -37,7 +39,6 @@
37
39
  echo $(VAL)
38
40
  echo $(VAL)
39
41
  ```
40
- これが実行できればechoは全て同じ値になるが、random.plを実行する際に$DIRを環境変数として設定せねばならず、別のshellとだからなのかMakefileからexportでは渡す事が出来ない。
41
42
 
42
43
 
43
44