2017-12-05 15 views
-2

ソースコードファイルmain.clibrary.clibrary.hなどがある場合入力ファイルをmain input1.txt input2.txtのようなコンソールコマンドとして動作させるにはどうすればいいですか?これはまったく完了できますか、それともコンパイル後に行う必要がありますか?入力ファイルをMakefileで設定するには? (C)

答えて

2
program: main.c library.c 
    gcc -o program $< 

.PHONY: run 
run: program input1.txt input2.txt. 
    ./program input1.txt input2.txt 

基本的には、プログラムを実行するための依存関係のように扱います。上記の例では、make runがプログラムを実行し、必要に応じてコンパイルします。

+0

私は 'Makefile:3:*** missing separatorを得ました。スペースをタブに変えたにもかかわらず、私が間違っていることがありますか? – Clanger

+1

PHONYの後にコロンが必要だと思います。私はメモリから行っていました:) –

+1

'program'ターゲットのレシピで' program'の代わりに '$ @'を使うのが一般的です。そうすれば、レシピを変更する必要はありません。ターゲットは変更されています(前提条件のために '$ <'ですでに行ったように)。詳細については、https://www.gnu.org/software/make/manual/html_node/Automatic-Variables.htmlで利用可能な*自動変数*を参照してください。 –

関連する問題