現在Ubuntu Linuxでgccプログラミングを行っています。現在、ソースコードをいくつかのファイルに分割して作成しています。コンパイル時はmakefileを使用してmakeして実行ファイルを作成しています。
現在のプログラムをgdbでデバッグできるようにしたいと思っているのですが、
その場合のmakefileはどのようにして書けば良いのかをご教示頂きますよう、お願い致します。
現在のmakefile内容
https://sourceforge.jp/projects/cc1101driver/scm …
#test
#CC = gcc
#test:main.c event.c
exe: main.o event.o env.o audio.o task.o comm.o menu_show_status.o
gcc -o exe main.o event.o env.o audio.o task.o comm.o menu_show_status.o -lpthread
main.o:main.c
gcc -c main.c
event.o:event.c
gcc -c event.c
env.o:env.c
gcc -c env.c
audio.o:audio.c
gcc -c audio.c
task.o:task.c
gcc -c task.c
comm.o:comm.c
gcc -c comm.c
menu_show_status.o:menu_show_status.c
gcc -c menu_show_status.c
No.1ベストアンサー
- 回答日時:
gccのコンパイルオプションに-gを追加する。
回答頂きありがとうございます。返事遅くなり申し訳ありませんでした。
makefileでデバッガ用の実行ファイル出力できるようになりました。
https://sourceforge.jp/projects/cc1101driver/scm …
No.4
- 回答日時:
リポジトリブラウザで見るとヘッダファイルはあるようですね。
ヘッダファイル更新してもmakeはコンパイル対象とする必要は無いのかと。
回答頂きありがとうございます。返事遅れて申し訳ありません。
makefileでデバッガ用の実行ファイル出力できるようになりました。
https://sourceforge.jp/projects/cc1101driver/scm …
ちょっとこのときに参考にしたサイトも記述させて頂きます。
http://okuyama.mt.tama.hosei.ac.jp/unix/C/slide8 …
makefile中のCFLAGSとかの使い方が少しわかるようになり大変勉強になりました。
No.3
- 回答日時:
まじめな話として, こんだけファイルがあってヘッダは 1つもないんだろうか.
回答頂きありがとうございます。返事遅れて申し訳ありません。
makefileでデバッガ用の実行ファイル出力できるようになりました。
https://sourceforge.jp/projects/cc1101driver/scm …
No.2
- 回答日時:
>main.o:main.c
>gcc -c main.c
>event.o:event.c
>gcc -c event.c
個別に書かなくても、ある程度自動で処理してくれると思われますが。
http://minus9d.hatenablog.com/entry/20140203/139 …
のパターンルールとか。
他のオープンソースのMakefileなんかも参考になるかと。
んで…パターンルール使うならCFLAGSとかにオプションを追加指定あればよいと思われます。
あと……どうでもいいですけど、エディタが作成するバックアップファイル(*.BAK)や、コンパイル時の中間ファイルや他社の著作物(*.pdf)とか……なんでもかんでもリポジトリに登録するのは如何なものかと思われますよ?
以前にも指摘したような気がしますけど。
sourceforgeのディスクスペースを無意味に消耗するのもどうかと…。
# ビルド生成物(実行ファイルとか)も含めるかは微妙なとこですかねぇ。
# 個人的には含めないんですが、派遣先では最近は含めてますね。
# TortoiseSVNはインストールしてあってもビルド環境はセットアップしていない。なんて利用者の方も居るので。
# そんなワケでC#のプロジェクトでバージョン情報のフォームに出力する日付は実行ファイルのタイムスタンプではなくアセンブリに格納したビルド日時。
回答頂きありがとうございます。返事遅れて申し訳ありません。
makefileでデバッガ用の実行ファイル出力できるようになりました。
https://sourceforge.jp/projects/cc1101driver/scm …
ちょっとこのときに参考にしたサイトも記述させて頂きます。
http://okuyama.mt.tama.hosei.ac.jp/unix/C/slide8 …
makefile中のCFLAGSとかの使い方が少しわかるようになり大変勉強になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
.oと.outファイルの違い
UNIX・Linux
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1 つ以上の複数回定義されてい...
-
「fatal error C1189」を回避す...
-
VBAを何回も作り直して、容量が...
-
” OS ビルド ” の意味が分か...
-
C言語でヘッダファイルにグロー...
-
Makefile作成時の拡張子.oとは?
-
[c++] <pthread.h>がinclude で...
-
<math.h>があるのにsqrtが・...
-
ILSpyで、デコンパイルできない。
-
C++コンパイル時に『 C1083: in...
-
外部シンボル "_main"は未解決です
-
drand48()が使えない
-
不要な #include
-
コンパイルエラー:ユーザ定義...
-
セミコロンについて
-
関数形式マクロ
-
pyc 編集 閲覧
-
PRO*C コンパイルエラー
-
戻り値について
-
コンパイルエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを何回も作り直して、容量が...
-
エクセルVBAではRound...
-
「fatal error C1189」を回避す...
-
Makefile作成時の拡張子.oとは?
-
ILSpyで、デコンパイルできない。
-
1 つ以上の複数回定義されてい...
-
外部シンボル "_main"は未解決です
-
セミコロンについて
-
C言語でヘッダファイルにグロー...
-
” OS ビルド ” の意味が分か...
-
マクロ コンパイルがグレーバック
-
【VC++6.0(MFC)】警告「LINK : ...
-
クリティカルエラー Expressio...
-
PRO*C コンパイルエラー
-
[c++] <pthread.h>がinclude で...
-
<math.h>があるのにsqrtが・...
-
ビルドとリビルドの違いを教え...
-
CImageクラスの使用について
-
戻り値について
-
コンパイルエラー:ユーザ定義...
おすすめ情報