Newer
Older
libj / mk / base-auto.mk
# ==============================================================================
#  基本自動設定
# ==============================================================================
#  以下、基本設定に基づき自動的に設定されます。
#  (本ファイルは、基本的に変更不要です。)


# ------------------------------------------------------------------------------
# SRCS, OBJS, DEPS ファイル群の自動設定
# ------------------------------------------------------------------------------
S_SRCS       = $(wildcard $(addsuffix /*.s,$(SRCDIR)))
C_SRCS       = $(wildcard $(addsuffix /*.c,$(SRCDIR)))
CXX_SRCS     = $(wildcard $(addsuffix /*.cpp,$(SRCDIR)))
TMP_SRCS     = $(C_SRCS) $(CXX_SRCS) $(S_SRCS)
VPATH        = $(SRCDIR)
SRCS         = $(filter-out $(EXCLUDES),$(TMP_SRCS))
OBJS         = $(addprefix $(OBJDIR)/, $(notdir $(addsuffix .o, $(basename $(SRCS)))))
DEPS         = $(OBJS:$(OBJDIR)/%.o=$(OBJDIR)/%.d)


# ------------------------------------------------------------------------------
# LINK : リンカー設定
# C++ が含まれる場合、$(CXX) を使用する。
# ------------------------------------------------------------------------------
ifeq ($(strip $(CXX_SRCS)),)
	LINK		= $(CC)
else
	LINK		= $(CXX)
endif


# ------------------------------------------------------------------------------
# ターゲットが ut.exe の場合の設定
#
#  1. DEBUG を常に有効に設定する。
#  2. SRCDIR に、../src を追加する。
#  3. INCLUDES に、../include を追加する。
#  4. DEFINE に -DUNITTEST -DDEBUG を追加する。
# ------------------------------------------------------------------------------
ifeq ($(strip $(TARGET)),ut.exe)
DEBUG        = 1
SRCDIR		+= ../src
INCLUDES	+= -I../include
DEFINE		+= -DUNITTEST -DDEBUG
endif


ifeq ($(strip $(DEBUG)),)
# ------------------------------------------------------------------------------
# DEBUG が無効な場合の設定
# CFLAGS, CXXFLAGS, LDFLAGS の OPTIMIZATION を有効にする
# ------------------------------------------------------------------------------
CFLAGS              += $(OPTIMIZATION)
CXXFLAGS            += $(OPTIMIZATION)

else
# ------------------------------------------------------------------------------
# DEBUG が有効な場合の設定
# CFLAGS, CXXFLAGS, LDFLAGS の DEBUG_OPTIONS を有効にする
# ------------------------------------------------------------------------------
DEFINE              += -DENABLED_MEMORY_MANAGE
CFLAGS              += $(DEBUG_OPTIONS)
CXXFLAGS            += $(DEBUG_OPTIONS)
LDFLAGS             += $(DEBUG_LDFLAGS)

endif

# ------------------------------------------------------------------------------
#  CFLAGS, CXXFLAGS, LDFLAGS 設定
# ------------------------------------------------------------------------------
CFLAGS              += $(INCLUDES)
CFLAGS              += $(C_VERSION)
CFLAGS              += $(C_WARNING_OPTIONS)
CFLAGS				+= $(DEFINE)
CFLAGS              += $(DEPENDS_OPTIONS)

CXXFLAGS            += $(INCLUDES)
CXXFLAGS            += $(CXX_VERSION)
CXXFLAGS            += $(CXX_WARNING_OPTIONS)
CXXFLAGS			+= $(DEFINE)
CXXFLAGS            += $(DEPENDS_OPTIONS)