いま、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
=====================================================
No.2ベストアンサー
- 回答日時:
No.3
- 回答日時:
test1.o : sub_dir/test1.h
test2.o : sub_dir/test2.h
ではだめなのかな。
Cソースの#include を書き換えたくなかったら
CFLAGS = -g -Wall に、 -Isub_dir
も入れると、探してくれるみたい。
superside0さん、ご返答ありがとございました。
gccオプションの方法を簡単に試してみたのですが、
うまくいきませんでしたが、もう少し色々試してみたいと
思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAを何回も作り直して、容量が...
-
「fatal error C1189」を回避す...
-
” OS ビルド ” の意味が分か...
-
セミコロンについて
-
コンパイルエラー:ユーザ定義...
-
1 つ以上の複数回定義されてい...
-
マクロ コンパイルがグレーバック
-
定数式とはどういう意味でしょ...
-
エクセルVBAではRound...
-
<math.h>があるのにsqrtが・...
-
Borland C++ Builderで簡単なC...
-
VB6とInputManソフトの関係
-
外部シンボル "_main"は未解決です
-
Makefile作成時の拡張子.oとは?
-
コンパイルエラー
-
cmakeは何をするのですか? cma...
-
ILSpyで、デコンパイルできない。
-
不要な #include
-
[c++] <pthread.h>がinclude で...
-
他のLinuxでも動くa.outの作り方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを何回も作り直して、容量が...
-
” OS ビルド ” の意味が分か...
-
1 つ以上の複数回定義されてい...
-
「fatal error C1189」を回避す...
-
エクセルVBAではRound...
-
Makefile作成時の拡張子.oとは?
-
C言語でヘッダファイルにグロー...
-
ILSpyで、デコンパイルできない。
-
セミコロンについて
-
<math.h>があるのにsqrtが・...
-
クリティカルエラー Expressio...
-
外部シンボル "_main"は未解決です
-
マクロ コンパイルがグレーバック
-
[c++] <pthread.h>がinclude で...
-
C++コンパイル時に『 C1083: in...
-
【VC++6.0(MFC)】警告「LINK : ...
-
ビルドとリビルドの違いを教え...
-
コンパイルエラー:ユーザ定義...
-
VB6で開発中…標準モジュール間...
-
コンパイル??
おすすめ情報