# ============================================================================== # Makefile for テストモジュール生成 # ============================================================================== # ★トップディレクトリ指定 # ============================================================================== TOPDIR=../../.. # ------------------------------------------------------------------------------ # 共通設定などの読み込み # ------------------------------------------------------------------------------ -include $(TOPDIR)/config/*.mk -include $(TOPDIR)/env.mk PROJECT_CONFIG=$(TOPDIR)/project-config # ============================================================================== # ★モジュール名, バージョン設定 # ============================================================================== TARGET_NAME=unittest MAJOR_VER=1 MINOR_VER=0 TARGET_TYPE=$(TARGET_OS)-execute #TARGET_TYPE=$(TARGET_OS)-static-library #TARGET_TYPE=$(TARGET_OS)-shared-library # ============================================================================== # 以下, あまり変更することは無いと思われる # ============================================================================== # ------------------------------------------------------------------------------ # ディレクトリ, ソース・オブジェクトファイル設定 # ------------------------------------------------------------------------------ SRCDIR = ../src TESTDIR = src OBJDIR = obj CSRCS = $(wildcard $(SRCDIR)/*.c) CSRCST = $(wildcard $(TESTDIR)/*.c) CXXSRCS = $(wildcard $(SRCDIR)/*.cpp) CXXSRCST = $(wildcard $(TESTDIR)/*.cpp) COBJS = $(CSRCS:$(SRCDIR)/%.c=$(OBJDIR)/%.o) COBJST = $(CSRCST:$(TESTDIR)/%.c=$(OBJDIR)/%.o) CXXOBJS = $(CXXSRCS:$(SRCDIR)/%.cpp=$(OBJDIR)/%.o) CXXOBJST = $(CXXSRCST:$(TESTDIR)/%.cpp=%(OBJDIR)/%.o) SRCS = $(CSRCS) $(CXXSRCS) $(CSRCST) $(CXXSRCST) OBJS = $(COBJS) $(CXXOBJS) $(COBJST) $(CXXOBJST) INCLUDES = -Iinclude CFLAGS = $(INCLUDES) CFLAGS += `$(PROJECT_CONFIG) --target=$(TARGET_OS) --prefix=$(TOPDIR) --cflags` CFLAGS += $(COM_CFLAGS_TEST) CXXFLAGS = $(INCLUDES) CXXFLAGS += `$(PROJECT_CONFIG) --target=$(TARGET_OS) --prefix=$(TOPDIR) --cxxflags` CXXFLAGS += $(COM_CXXFLAGS_TEST) LDFLAGS = `$(PROJECT_CONFIG) --target=$(TARGET_OS) --prefix=$(TOPDIR) --ldflags` LDFLAGS += $(COM_LDFLAGS_TEST) LIBS = `$(PROJECT_CONFIG) --target=$(TARGET_OS) --prefix=$(TOPDIR) --libs` LIBS += $(COM_LIBS_TEST) # ------------------------------------------------------------------------------ # target settings # ------------------------------------------------------------------------------ ifeq ($(TARGET_TYPE), OS_LINUX-execute) TARGET=$(TARGET_NAME) else ifeq ($(TARGET_TYPE), OS_LINUX-static-library) TARGET=lib$(TARGET_NAME).a else ifeq ($(TARGET_TYPE), OS_LINUX-shared-library) TARGET=lib$(TARGET_NAME).so.$(MAJOR_VER).$(MINOR_VER) else ifeq ($(TARGET_TYPE), OS_WINDOWS-execute) TARGET=$(TARGET_NAME).exe else ifeq ($(TARGET_TYPE), OS_WINDOWS-static-library) TARGET=$(TARGET_NAME).lib else ifeq ($(TARGET_TYPE), OS_WINDOWS-shared-library) TARGET=$(TARGET_NAME).dll endif # ------------------------------------------------------------------------------ # make rule # ------------------------------------------------------------------------------ all: $(TARGET) clean: $(RM) -f lib$(TARGET_NAME).a lib$(TARGET_NAME).so.* $(TARGET_NAME) $(RM) -f $(TARGET_NAME).dll $(TARGET_NAME).exe $(RM) -f $(OBJDIR)/*.o $(RM) -f $(DEPEND_FILE) $(RM) -f *~ */*~ *.bak */*.bak $(RM) -f ./$(TESTDIR)/unittest_main.cpp $(RM) -f ./$(COVREPORTDIR)/* -include $(TOPDIR)/config/*-com.rule -include $(TOPDIR)/config/o-c.rule -include $(TOPDIR)/config/*-cpp.rule -include $(TOPDIR)/config/*-test.rule -include $(DEPEND_FILE)