- ベストアンサー
オブジェクトファイルの消し方
こんにちは。30代男性です。 FreeBSDでC言語を扱っているのですが(初心者です)、例えばファイル名「ex.c」をコンパイルするときは「cc -Wall -o ex ex.c」となりますが、コンパイル後にオブジェクトファイルを消したい時にはどうしたらよいでしょうか? よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 以下のようなMakefileを用意し、ex.cと同じディレクトリにおきます。 >cat Makefile (ここから) DEST=/usr/local/bin PROGRAM = ex OBJS = ex.o SRCS = ex.c all: $(PROGRAM) clean: [TAB]rm $(OBJS) install: $(PROGRAM) [TAB]install $(PROGRAM) $(DEST) $(PROGRAM): $(OBJS) [TAB]$(CC) $(OBJS) -o $(PROGRAM) (ここまで) [TAB]はタブに置き換えてください。(スペースではダメです。) 「make」または「make all」でコンパイル/リンクします(exが作られます)。 「make clean」でオブジェクトファイルを削除します。 「make install」で/usr/local/binディレクトリへインストールします。 ちなみにソースファイルが増えた場合、 OBJS = ex.o subs.o SRCS = ex.c subs.c などとします。
その他の回答 (1)
- shuyamakawa
- ベストアンサー率67% (111/164)
質問の意図を把握できていないような気がしているのですが、 「rm ex.o」とか「rm *.o」でオブジェクトファイルは削除出来ると 思いますが、そういうことでしょうか? ただし実際には、ご質問のようなコンパイル作業では オブジェクトファイルは消さないことが多いです。 ちなみに、「Makefile」を適切に書いて、makeコマンドを 使うようにすれば、 「make」でコンパイル 「make clean」でオブジェクトファイル(と実行バイナリファイル)を削除 等の形でプログラムメンテナンス作業が行えるようになります。 (「make XXXX」の形式でいろいろな作業を行わせることができます。)
お礼
ご回答ありがとうございます。 >「rm ex.o」とか「rm *.o」でオブジェクトファイルは削除出来ると 思いますが、そういうことでしょうか? それでもなさそうです・・・。 >ちなみに、「Makefile」を適切に書いて、makeコマンドを 使うようにすれば、 「make」でコンパイル 「make clean」でオブジェクトファイル(と実行バイナリファイル)を削除 等の形でプログラムメンテナンス作業が行えるようになります。 (「make XXXX」の形式でいろいろな作業を行わせることができます。) 聞きたかったのはまさにこれです(喜)! このことについて、もう少し詳しくお教えいただいてもよろしいでしょうか? 宜しくお願い致します。
お礼
ご回答ありがとうございました。 大変助かりました。