blob: dceafdd9e26cb0a900bf60bc612ba2f096aed4f7 (
plain) (
tree)
|
|
# $Id$
# 定義基本初值
BBSHOME?= $(HOME)
BBSHOME?= /home/bbs
OS!= uname
OS_MAJOR_VER!= uname -r|cut -d . -f 1
OS_MINOR_VER!= uname -r|cut -d . -f 2
OSTYPE?= $(OS)
CC= gcc
CCACHE!= which ccache|sed -e 's/^.*\///'
PTT_CFLAGS= -Wall -pipe -DBBSHOME='"$(BBSHOME)"' -I../include
PTT_LDFLAGS= -pipe -Wall -L/usr/local/lib
PTT_LIBS= -lcrypt -lhz
# enable assert()
#PTT_CFLAGS+= -DNDEBUG
# FreeBSD特有的環境
CFLAGS_FreeBSD= -DHAVE_SETPROCTITLE -DFreeBSD -I/usr/local/include
LDFLAGS_FreeBSD=
LIBS_FreeBSD= -lkvm -liconv
# Linux特有的環境
# CFLAGS_linux= -DHAVE_DES_CRYPT -DLinux
CFLAGS_Linux=
LDFLAGS_Linux= -pipe -Wall
LIBS_Linux=
# SunOS特有的環境
CFLAGS_Solaris= -DSolaris -DHAVE_DES_CRYPT -I/usr/local/include
LDFLAGS_Solaris= -L/usr/local/lib -L/usr/lib/
LIBS_Solaris= -lnsl -lsocket -liconv -lkstat
OS_FLAGS= -D__OS_MAJOR_VERSION__=$(OS_MAJOR_VER) \
-D__OS_MINOR_VERSION__=$(OS_MINOR_VER)
# CFLAGS, LDFLAGS, LIBS 加入 OS 相關參數
PTT_CFLAGS+= $(CFLAGS_$(OSTYPE)) $(OS_FLAGS)
PTT_LDFLAGS+= $(LDFLAGS_$(OSTYPE))
PTT_LIBS+= $(LIBS_$(OSTYPE))
# 若有定義 PROFILING
.if defined(PROFILING)
PTT_CFLAGS+= -pg
PTT_LDFLAGS+= -pg
NO_OMITFP= yes
NO_FORK= yes
.endif
.if defined(USE_ICC)
CC= icc
CFLAGS= $(PTT_CFLAGS) -O1 -tpp6 -mcpu=pentiumpro -march=pentiumiii \
-ip -ipo
LDFLAGS+= -O1 -tpp6 -mcpu=pentiumpro -march=pentiumiii -ip -ipo \
$(PTT_LDFLAGS) $(PTT_LIBS)
.else
# 若有定義 GDB或 DEBUG, 則加入 -g , 否則用 -O
.if defined(GDB) || defined(DEBUG)
CFLAGS= -g $(PTT_CFLAGS)
LDFLAGS= -g $(PTT_LDFLAGS) $(PTT_LIBS)
.else
CFLAGS+= -Os -fstrength-reduce \
-fthread-jumps -fexpensive-optimizations \
$(PTT_CFLAGS) $(EXT_CFLAGS)
LDFLAGS+= -Os $(PTT_LDFLAGS) $(PTT_LIBS)
.if !defined(NO_OMITFP)
CFLAGS+= -fomit-frame-pointer
.endif
.endif
.endif
# 若有定義 DEBUG, 則在 CFLAGS內定義 DEBUG
.if defined(DEBUG)
CFLAGS+= -DDEBUG
.endif
# 若有定義 NO_FORK, 則在 CFLAGS內定義 NO_FORK
.if defined(NO_FORK)
CFLAGS+= -DNO_FORK
.endif
|