
現在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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- UNIX・Linux Linuxについて質問です。 以下のような設定をしたMakefileを作成するにはどう記述すればよい 1 2023/02/03 20:10
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- C言語・C++・C# 3×3のラテン方陣をつくるプログラムを作成したのですが、(↓) #include <stdio.h> 5 2023/07/10 01:53
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Ruby No route matches [GET] "/posts/5/destroy" 1 2022/03/24 13:00
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- その他(プログラミング・Web制作) x86_32のGASの擬似命令 3 2023/06/07 19:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAではRound...
-
PRO*C コンパイルエラー
-
c++ , template , ファイル分割...
-
AVRプログラム 関数から戻って...
-
ILSpyで、デコンパイルできない。
-
VBAを何回も作り直して、容量が...
-
ビルドから除外されたソースの...
-
” OS ビルド ” の意味が分か...
-
VB6とInputManソフトの関係
-
gdbデバッグのためのmakefile作成
-
「utime.h が見つからない」エ...
-
「fatal error C1189」を回避す...
-
Makefile作成時の拡張子.oとは?
-
アクセス2003 ファイルの...
-
デコンパイル?について
-
windowsでLinuxで作成したソー...
-
1 つ以上の複数回定義されてい...
-
ヘルプましんについて教えて下...
-
sys/types.hの必要性について
-
makefileのmakeでコンパイルす...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを何回も作り直して、容量が...
-
” OS ビルド ” の意味が分か...
-
「fatal error C1189」を回避す...
-
C言語でヘッダファイルにグロー...
-
エクセルVBAではRound...
-
Makefile作成時の拡張子.oとは?
-
ILSpyで、デコンパイルできない。
-
1 つ以上の複数回定義されてい...
-
マクロ コンパイルがグレーバック
-
セミコロンについて
-
外部シンボル "_main"は未解決です
-
C++コンパイル時に『 C1083: in...
-
ビルドとリビルドの違いを教え...
-
コンパイルエラー:ユーザ定義...
-
「DeclareステートメントにPtrS...
-
戻り値について
-
pyc 編集 閲覧
-
PRO*C コンパイルエラー
-
【VC++6.0(MFC)】警告「LINK : ...
-
漢字のコメントをはずすとコン...
おすすめ情報