dポイントプレゼントキャンペーン実施中!

現在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

A 回答 (4件)

gccのコンパイルオプションに-gを追加する。

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

回答頂きありがとうございます。返事遅くなり申し訳ありませんでした。


makefileでデバッガ用の実行ファイル出力できるようになりました。

https://sourceforge.jp/projects/cc1101driver/scm …

お礼日時:2014/07/04 11:04

http://svn.sourceforge.jp/svnroot/cc1101driver/t …

リポジトリブラウザで見るとヘッダファイルはあるようですね。
ヘッダファイル更新してもmakeはコンパイル対象とする必要は無いのかと。
    • good
    • 0
この回答へのお礼

回答頂きありがとうございます。返事遅れて申し訳ありません。

makefileでデバッガ用の実行ファイル出力できるようになりました。

https://sourceforge.jp/projects/cc1101driver/scm …



ちょっとこのときに参考にしたサイトも記述させて頂きます。


http://okuyama.mt.tama.hosei.ac.jp/unix/C/slide8 …




makefile中のCFLAGSとかの使い方が少しわかるようになり大変勉強になりました。

お礼日時:2014/07/04 11:07

まじめな話として, こんだけファイルがあってヘッダは 1つもないんだろうか.

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

回答頂きありがとうございます。返事遅れて申し訳ありません。

makefileでデバッガ用の実行ファイル出力できるようになりました。

https://sourceforge.jp/projects/cc1101driver/scm …

お礼日時:2014/07/04 11:08

>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#のプロジェクトでバージョン情報のフォームに出力する日付は実行ファイルのタイムスタンプではなくアセンブリに格納したビルド日時。
    • good
    • 0
この回答へのお礼

回答頂きありがとうございます。返事遅れて申し訳ありません。

makefileでデバッガ用の実行ファイル出力できるようになりました。

https://sourceforge.jp/projects/cc1101driver/scm …



ちょっとこのときに参考にしたサイトも記述させて頂きます。


http://okuyama.mt.tama.hosei.ac.jp/unix/C/slide8 …




makefile中のCFLAGSとかの使い方が少しわかるようになり大変勉強になりました。

お礼日時:2014/07/04 11:06

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


このQ&Aを見た人がよく見るQ&A