blob: 85e695f03ac6750c67a523c872861f0d74975651 (
plain) (
tree)
|
|
# $Id: Makefile,v 1.17 2003/01/19 16:02:25 kcwu Exp $
# 訂義基本初值
BBSHOME?= $(HOME)
BBSHOME?= /home/bbs
OSTYPE?= FreeBSD
CC?= gcc
CFLAGS+= -Wall -W -pipe -DBBSHOME='"$(BBSHOME)"' -I../include
LDFLAGS+= -pipe -Wall
LIBS+= -lcrypt
# 在 CFLAGS內加入定義 COMPILE_TIME
CFLAGS+= "-DCOMPILE_TIME=\"`date`\""
# 稍後再 enable assert()
CFLAGS+= -DNDEBUG
# FreeBSD特有的環境
CFLAGS_FreeBSD= -DHAVE_SETPROCTITLE -DFreeBSD
LDFLAGS_FreeBSD=
LIBS_FreeBSD= -lkvm
# Linux特有的環境
CFLAGS_linux= -DHAVE_DES_CRYPT -DLinux
LDFLAGS_linux= -pipe -Wall
LIBS_linux=
# CFLAGS, LDFLAGS, LIBS 加入 OS 相關參數
CFLAGS+= $(CFLAGS_$(OSTYPE))
LDFLAGS+= $(LDFLAGS_$(OSTYPE))
LIBS+= $(LIBS_$(OSTYPE))
# 若有定義 GDB或 DEBUG, 則加入 -g , 否則用 -O
.if defined(GDB) || defined(DEBUG)
CFLAGS+= -g
FDFLAGS+= -g
.else
CFLAGS+= -Os
LDFLAGS+= -O
.endif
# 若有定義 DEBUG, 則在 CFLAGS內定義 DEBUG
.if defined(DEBUG)
CFLAGS+= -DDEBUG
.endif
# 若有定義 NO_FORK, 則在 CFLAGS內定義 NO_FORK
.if defined(NO_FORK)
CFLAGS+= -DNO_FORK
.endif
PROG= mbbsd
OBJS= admin.o announce.o args.o bbs.o board.o cache.o cal.o card.o\
chat.o chc_draw.o chc_net.o chc_play.o chc_rule.o chicken.o dark.o\
edit.o friend.o gamble.o gomo.o gomo1.o guess.o indict.o io.o\
kaede.o lovepaper.o mail.o mbbsd.o menu.o more.o name.o osdep.o\
othello.o page.o read.o record.o register.o screen.o stuff.o\
talk.o term.o topsong.o user.o vice.o vote.o xyz.o\
voteboard.o syspost.o var.o toolkit.o passwd.o\
calendar.o
.SUFFIXES: .c .o
.c.o: ../include/var.h
$(CC) $(CFLAGS) -c $*.c
all: $(PROG)
$(PROG): $(OBJS)
$(CC) $(LDFLAGS) -o $(PROG) $(OBJS) $(LIBS)
../include/var.h: var.c
perl ../util/parsevar.pl < var.c > ../include/var.h
test: $(PROG)
killall -9 testmbbsd || true
cp mbbsd testmbbsd
./testmbbsd 9000
rm -f testmbbsd
install: $(PROG)
install -d $(BBSHOME)/bin/
install -c -m 755 $(PROG) $(BBSHOME)/bin/
mv $(BBSHOME)/bin/mbbsd $(BBSHOME)/bin/mbbsd.`date '+%m%d%H'`
ln -sv $(BBSHOME)/bin/mbbsd.`date '+%m%d%H'` $(BBSHOME)/bin/mbbsd
clean:
rm -f $(OBJS) $(PROG)
|