- ベストアンサー
複数のサブディレクトリを一緒にmakeして一つの実行ファイルを作成するには
いま、Linuxの環境でC言語の勉強しています。 それで、makeを使ってコンパイル方法を調べているのですが、 ソースディレクトリとヘッダーディレクトリを分けて管理している場合に一緒にコンパイルさせる為のMakefileの書き方が分からず困っています。 現在は、同じディレクトリ内にソースファイルとヘッダーファイルが存在してます。ちなみに下記が今のMakefile内容です。 ご存知の方が記述方法もしくは参考サイトを教えて頂けますでしょうか。よろしくお願い致します。 ======================================================== program = test_pro objs = main.o test1.o test2.o CC = gcc CFLAGS = -g -Wall #suffixes_define_rule .SUFFIXES : .c .o $(program) : $(objs) $(CC) $(CFLAGS) -o $@ $^ #suffixes_rule .c.o : $(CC) $(CFLAGS) -c $< .PHONY : clean clean : $(RM) $(objs) #header_depend test1.o : test1.h test2.o : test2.h =====================================================
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ネットにもありました http://www.ecoop.net/coop/translated/GNUMake3.77/make_toc.jp.html VPATHやvpathのあたりが参考になるのでは
その他の回答 (2)
- superside0
- ベストアンサー率64% (461/711)
test1.o : sub_dir/test1.h test2.o : sub_dir/test2.h ではだめなのかな。 Cソースの#include を書き換えたくなかったら CFLAGS = -g -Wall に、 -Isub_dir も入れると、探してくれるみたい。
お礼
superside0さん、ご返答ありがとございました。 gccオプションの方法を簡単に試してみたのですが、 うまくいきませんでしたが、もう少し色々試してみたいと 思います。
- Tacosan
- ベストアンサー率23% (3656/15482)
O'reilly から「GNU Make」って本が出てるけど, それじゃダメ?
お礼
Tacosanさん、ご返答ありがとうございました。 お勧め頂いた本を一度拝見させて頂きたいと思います。
お礼
php504さん、ご返答ありがとうございます。 このサイトは知りませんでした。 中身を拝見させて頂きたいと思います。