# vim: ts=4 sw=4 sts=4 ################################################################################ ## ## コンパイル設定 ## # # DEBUG モード # # make DEBUG=1 にてコンパイルすることで、DEBUG モードでコンパイルします。 # TARGET=ut.exe の場合は、常に DEBUG モードでコンパイルします。 # # # OS指定 # OS = linux #OS = windows # # アーキテクチャ指定 # ARCH ?= #ARCH ?= aarch64 #ARCH ?= i686-w64-mingw32 # # クロスコンパイラ指定 # CROSS_COMPILE=$(ARCH)- # # コンパイラ # # CC = $(CROSS_COMPILE)gcc CXX = $(CROSS_COMPILE)g++ #CC = $(CROSS_COMPILE)clang #CXX = $(CROSS_COMPILE)clang++ #CC = $(CROSS_COMPILE)clang-16 #CXX = $(CROSS_COMPILE)clang++16 # # オプション設定 # ifeq ($(strip $(OS)),windows) LIBS ?= -liphlpapi -lws2_32 DEBUG_OPTIONS ?= else LIBS ?= -lpthread -lrt DEBUG_OPTIONS ?= -fstack-protector endif # # C/C++ 言語規格指定 # # 指定された言語規格に従ってコンパイルします。 # C_VERSION [-std=cXX|-std=gnuXX] (XX=89,90,99,11) # CXX_VERSION [-std=c++XX|-std=gnu++XX] (XX=03,11,14,17) # C_VERSION = -std=gnu11 CXX_VERSION = -std=gnu++17 # # 共通のインクルードパスを指定します。 # INCLUDES += -Iinclude INCLUDES += -I$(TOPDIR)/include # # 共通のライブラリパスを指定します。 # LDFLAGS += -Llib LDFLAGS += -L$(TOPDIR)/lib # # 共通でリンクするライブラリを指定します。 # LIBS += CFLAGS += -DKC_MEMORY_ENABLED=1 CXXFLAGS += -DKCPP_MEMORY_ENABLED=1 # ------------------------------------------------------------------------------ # TARGET 調整 # ------------------------------------------------------------------------------ ifeq ($(strip $(OS)),windows) ifeq ($(strip $(NAME)),$(strip $(TARGET))) TARGET = $(NAME).exe else ifeq ($(strip $(NAME)).so,$(strip $(TARGET))) TARGET = $(NAME).dll endif endif endif