アプリ版:「スタンプのみでお礼する」機能のリリースについて

makefileの内容が下記で
01.exe:01.c
 gcc -o 01.exe 01.c

ここで、コンパイル云々をして無条件に01.exeを実行させたいのですが。この様なmakeは出来るのでしょうか。若しも、出来るのであればその時のmakefileの内容を教えて下さい。宜しく、お願いします。

A 回答 (4件)

コンパイルがエラー終了しても、前のexeでいいから実行したいということでしょうか?make -i とするかあるいは、



01.exe:01.c
 gcc -o 01.exe 01.c ; ./01.exe

Windows環境であれば、makeコマンドの仕様によっては、; を & にしたり、/ を \ にしたりが必要かもしれません。
    • good
    • 0
この回答へのお礼

make.exe:`01.exe' is up to dateが出てこの方法では実行出来ません。

お礼日時:2015/08/23 19:22

コマンドラインから


gcc -o 01.exe 01.c
./01.exe
と2行入力したのと同じことがやりたい、ということなら、
01.exe:01.c
 gcc -o 01.exe 01.c
 ./01.exe
です。

ルールには複数のコマンドを記述できます。
    • good
    • 0
この回答へのお礼

make.exe:`01.exe' is up to dateが出てこの方法では実行出来ません。

お礼日時:2015/08/23 19:20

あるいは、.PHONYとall ターゲットを使って


.PHONY: all
all: 01.exe
 ./01.exe # 01.exeの実行
    • good
    • 0
この回答へのお礼

有難う御座います。下記のnakefileで動きました。
.PHONY:all
all:01.exe
 01.exe<01.txt
01.exe:01.c
 gcc -o 01.exe 01.c

上記のmakefileでは、01.cの変更が無い時は直に01.exeを実行して、01.cの変更が有る時は、gccの後に01.exeが走ります。

私の舌足らずで説明が足りませんでしたが。やろうとしている事はこう言う事です。どうも有難う御座いました。今迄は個々にgccと01.exeを個別に実行していた物ですから。どうせなら一括で出来るのではないのかと思っていましたが。

この様な例示が見当りませんでしたので苦慮していました。大変助かりました。今後は全てソースの変更云々に関係無くmakeのみでの動作確認が取れる様になりました。工数が削減できます。

お礼日時:2015/08/23 19:47

> make.exe:`01.exe' is up to dateが出てこの方法では実行出来ません。



「コンパイルでエラーになっても」じゃなくて、「ソースを修正しなくても」ということであれば、
all:
 ./01.exe
ですね。

ソースが更新されていればコンパイルもしてみたいのであれば、
all: 01.exe
 ./01.exe
01.exe: 01.c
 gcc -o 01.exe 01.c ; true #コンパイルエラーになっても無視するためにtrueを付ける
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!