を使用して入力して実行ファイルを実行している:私は実行時に私は、次のメイク持っメイク
CC=g++
CFLAGS=-I.
tiling_file=blocking.cpp
sequential_file=sequential.cpp
n1 = 100
n2=7
n3=4
all: tiling sequential run
tiling:
$(CC) $(tiling_file) -fopenmp -o block
sequential:
$(CC) $(sequential_file) -fopenmp -o seq
run:
./block $(n1) $(n2) $(n3)
ブロックの実行ファイルは、三つの入力を取り込み(N1、N2、N3で指定).However、私は次をプレゼントouput
g++ blocking.cpp -fopenmp -o block
g++ sequential.cpp -fopenmp -o seq
./block 100 7 4
実行可能ファイルは、100 7 4をもう一度入力してEnterを押すまで入力を受け付けません。 どうすれば実行できますか?
これは私の意見かもしれませんが、私は目標を実行するメイクファイルに熱心ではありません。 makeの仕事は、ターゲットを構築することです。 1つのステップでビルドして実行したい場合は、 'make target && ./target p1 p2'などを実行するbashスクリプトを作成できます。 – John
@Jonhあなたの制限はどのような問題を解決しますか? –
基本的には意味論です。makeの目的は何かを構築することです。スクリプトの目的は物事を実行することです。私が頭の上から外すことができると思うmakeから走っていることの1つの警告は、makeの環境に予期しない設定があるかもしれないということです。これは、コマンドラインからmakeを実行するときに、異なる動作につながる可能性があります。 – John