Newer
Older
libkcpp / config.mk
#  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