なんとな~くしあわせ?の日記

「そしてそれゆえ、知識そのものが力である」 (Nam et ipsa scientia potestas est.) 〜 フランシス・ベーコン

Debug,Releaseでmakeコマンドを使い分けたい時のテンプレ

gccはコードを最適化してるとデバッグできないみたいなので使い分け

プロジェクト構成は下のような感じ
[Project]
├--[include]-- **.h
├--[src]-- **.cpp
└--Makefile

# Makefile
TARGET 	= HelloWorld.exe
SRCS 	= HelloWorld.cpp
OBJECTS = HelloWorld.o

# 基本コマンド
RM 		:= rm
CXX 	:= g++
CC 		:= g++

# デバッグ時とリリース時の微調整
CXX_DEBUG_FLAGS		=	-g -O0
CXX_RELEASE_FLAGS	=	-s -O2

# 基本オプション
CPPFLAGS = -Wall -I/c/MinGW/include -I include `wx-config --cxxflags`
LDFLAGS  = -L/c/MinGW/lib `wx-config --libs`
VPATH	 = include src

# make
# debug
.PHONY	: Debug
Debug 	: CXXFLAGS+=$(CXX_DEBUG_FLAGS)
Debug 	: all
# release
.PHONY	: Release
Release	: CXXFLAGS+=$(CXX_RELEASE_FLAGS)
Release	: all

all : $(TARGET)
$(TARGET) : $(OBJECTS)
		$(CXX) $^ -o $@ $(LDFLAGS)
HelloWorld.o : HelloWorld.cpp HelloWorld.h
		$(CXX) -c $< $(CPPFLAGS)

# make clean
.PHONY: clean
clean:
	rm -f *.o