電子書籍の厳選無料作品が豊富!

いま、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
=====================================================

A 回答 (3件)

ネットにもありました


http://www.ecoop.net/coop/translated/GNUMake3.77 …
VPATHやvpathのあたりが参考になるのでは
    • good
    • 0
この回答へのお礼

php504さん、ご返答ありがとうございます。
このサイトは知りませんでした。
中身を拝見させて頂きたいと思います。

お礼日時:2008/06/13 14:09

test1.o : sub_dir/test1.h


test2.o : sub_dir/test2.h
ではだめなのかな。

Cソースの#include を書き換えたくなかったら
CFLAGS = -g -Wall に、 -Isub_dir
も入れると、探してくれるみたい。
    • good
    • 0
この回答へのお礼

superside0さん、ご返答ありがとございました。
gccオプションの方法を簡単に試してみたのですが、
うまくいきませんでしたが、もう少し色々試してみたいと
思います。

お礼日時:2008/06/13 16:28

O'reilly から「GNU Make」って本が出てるけど, それじゃダメ?

    • good
    • 0
この回答へのお礼

Tacosanさん、ご返答ありがとうございました。
お勧め頂いた本を一度拝見させて頂きたいと思います。

お礼日時:2008/06/13 14:07

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