Newer
Older
libkc / mk / base-conf.mk
  1. # ==============================================================================
  2. # 基本設定
  3. # ==============================================================================
  4.  
  5. # ------------------------------------------------------------------------------
  6. # デフォルトディレクトリ/ファイル設定
  7. # ------------------------------------------------------------------------------
  8. SRCDIR ?= src
  9. OBJDIR ?= obj
  10. EXCLUDES ?=
  11. RELEASEDIR ?= release
  12.  
  13. # ------------------------------------------------------------------------------
  14. # 最適化オプション
  15. # -O0 最適化無効。
  16. # -O1 速度最適化(低)。
  17. # -O2 速度最適化(中)[推奨]。
  18. # -O3 速度最適化(高)。
  19. # -Os サイズ最適化。
  20. # その他のフラグについては、gcc のヘルプを参照ください。
  21. # ------------------------------------------------------------------------------
  22. OPTIMIZATION = -O2
  23.  
  24. # ------------------------------------------------------------------------------
  25. # ヘッダー依存関係出力
  26. # 基本的に変更しないでください。
  27. #
  28. # -MMD
  29. # コンパイル時に依存関係を .d ファイルに出力する。
  30. # -MP
  31. # .d ファイルにヘッダファイル用のターゲットも出力する。
  32. # ------------------------------------------------------------------------------
  33. DEPENDS_OPTIONS = -MMD -MP
  34.  
  35. # ------------------------------------------------------------------------------
  36. # 警告オプション
  37. # -pedantic
  38. # ANSI C/ISO C++ により要求される警告をすべて出力する。
  39. # gcc の HELP にも記載されている通り、基本的に使べきではありません。
  40. # -pedantic-errors
  41. # 警告ではなくエラーが出力される点を除けば -pedantic と同様です。
  42. # -w
  43. # すべての警告メッセージの出力を禁止します。
  44. # -Wall
  45. # 基本的な警告オプションを有効にします。
  46. # -Wextra
  47. # 追加の警告オプションを有効にします。
  48. # -Weffc++
  49. # Effective C++ による方針に沿わない記述に警告を出します。
  50. # ------------------------------------------------------------------------------
  51. C_WARNING_OPTIONS += -Wall -Wextra -Werror
  52. CXX_WARNING_OPTIONS += -Wall -Wextra -Werror -Weffc++
  53.  
  54. # ------------------------------------------------------------------------------
  55. # デバッグ用オプション
  56. # デバッグ、単体テストの際のオプションを指定します。
  57. #
  58. # -fstack-protector スタック・オーバーフロー・セキュリティチェックを有効にします。
  59. # --coverage カバレッジ計測します。(-fprofile-arcs -ftest-coverage オプションと同じ)
  60. # -g0 デバッグオプション無効。
  61. # -g1 最小限のデバッグ情報を生成します。
  62. # -g2 (-g) デバッグ情報を生成します。
  63. # -g3 マクロ定義を含んだデバッグ情報を生成します。
  64. # -ggdb gdb で使うためのデバッグ情報を生成します。
  65. # -D_FACTORY_SOURCE=[値]
  66. # 文字列やメモリ操作を行う glibc の関数を使用する際に、バッファオーバーフローを検出します。
  67. # ※すべてのパターンではなく、よくある例についてのみ検出可能。
  68. # 値が1の場合、規格に準拠するプログラムの振る舞いを変化させないようなチェックが実行される。
  69. # 値が2の場合、さらなるチェックを追加するが、規格準拠のプログラムが失敗する可能性がある。
  70. # いくつかのチェックは、コンパイル時に実行され、コンパイラの警告として表示される。
  71. # ------------------------------------------------------------------------------
  72. DEBUG_OPTIONS += -fstack-protector
  73. DEBUG_OPTIONS += --coverage
  74. DEBUG_OPTIONS += -g3 -ggdb
  75. DEBUG_OPTIONS += -O0
  76. DEBUG_OPTIONS += -D_FACTORY_SOURCE=2
  77. DEBUG_OPTIONS += -D_DEBUG
  78.  
  79. DEBUG_LDFLAGS += --coverage
  80. DEBUG_LDFLAGS += -g3 -ggdb