# ------------------------------------------------------ #
# maple/Makefile ( NTHU CS MapleBBS Ver 2.36.sob) #
# ------------------------------------------------------ #
# target : Makefile for MapleBBS main programs #
# create : 95/03/29 #
# update : 96/09/12 #
# ------------------------------------------------------ #
BBSHOME = /home/bbs
# ------------------------------------------------------
# NetBSD, 386BSD, FreeBSD
# ------------------------------------------------------
#OS_DEF = -DNETBSD -DBSD44 -DTWO_LONGJMP_ARGS
#CC = gcc
#CFLAGS = -O2
#LIBS = -ltermcap -lcrypt -lcompat
#LIBSYBBSD = -lkvm -lutil -lcrypt
# ------------------------------------------------------
# Linux : please remove -lrpcsvc in 'bbsrf' section
# ------------------------------------------------------
OS_DEF = -DLINUX -DTWO_LONGJMP_ARGS
CC = gcc
CFLAGS = -O6 -s -pipe -fomit-frame-pointer -I/usr/include/bsd
LIBS = -ltermcap -lbsd
# ------------------------------------------------------
# SunOS 4.1.x
# ------------------------------------------------------
#OS_DEF = -DSunOS -DTWO_LONGJMP_ARGS
#CC = gcc
#CFLAGS = -O6 -s -pipe -fomit-frame-pointer -fstrength-reduce
#LIBS = -ltermcap
#LIBSYBBSD = -lkvm
# ------------------------------------------------------ #
# 下列的 make rules 不需修改 #
# ------------------------------------------------------ #
EXE = bbs
BIN = $(EXE) bbsrf xchatd
ALL = $(BIN) in.ybbsd in.zbbsd
HDR = bbs.h config.h global.h kaede.h modes.h perm.h struct.h
SRC = admin.c announce.c bbs.c board.c cache.c chat.c edit.c friend.c indict.c\
io.c kaede.c mail.c main.c menu.c more.c name.c read.c record.c\
register.c screen.c stuff.c talk.c term.c user.c vote.c xyz.c \
lovepaper.c ipreg.c cal.c
OBJ = admin.o announce.o bbs.o board.o cache.o chat.o edit.o friend.o\
io.o kaede.o mail.o main.o menu.o more.o name.o read.o record.o indict.o\
register.o screen.o stuff.o talk.o term.o user.o vote.o xyz.o \
lovepaper.o ipreg.o cal.o
#gmalloc.o
ETC = Makefile $(HDR)
.SUFFIXES: .o .c .ln
.c.o: ; $(CC) $(CFLAGS) $(OS_DEF) -c $*.c
.c.ln: ; lint -abhi $*.c
all: $(ALL)
$(EXE): $(OBJ) $(ETC)
$(CC) -o $(EXE) $(CFLAGS) $(OBJ) $(LIBS)
lint: $(LNFILES)
lint -abh $(LNFILES)
xchatd: xchatd.c
$(CC) -o xchatd $(OS_DEF) $(CFLAGS) xchatd.c
bbsrf: bbsrf.c
$(CC) $(CFLAGS) -o bbsrf $(OS_DEF) bbsrf.c #-lrpcsvc
in.ybbsd: in.ybbsd.c
$(CC) $(CFLAGS) -o in.ybbsd $(OS_DEF) in.ybbsd.c $(LIBSYBBSD)
in.zbbsd: in.zbbsd.c
$(CC) $(CFLAGS) -o in.zbbsd $(OS_DEF) in.zbbsd.c $(LIBSYBBSD)
newbbs: $(EXE)
mv -f $(BBSHOME)/bin/bbs $(BBSHOME)/bin/bbs.old
cp bbs $(BBSHOME)/bin
update: $(ALL)
# mv -f $(BBSHOME)/bin/bbs $(BBSHOME)/bin/bbs.old
# mv -f $(BBSHOME)/bin/bbsrf $(BBSHOME)/bin/bbsrf.old
# mv -f $(BBSHOME)/bin/xchatd $(BBSHOME)/bin/xchatd.old
# mv -f $(BBSHOME)/bin/in.ybbsd $(BBSHOME)/bin/in.ybbsd.old
# mv -f $(BBSHOME)/bin/in.zbbsd $(BBSHOME)/bin/in.zbbsd.old
rm $(BBSHOME)/bin/$(EXE)
cp $(ALL) $(BBSHOME)/bin
clean: /tmp
rm -fr $(GARBAGE) $(OBJ) $(ALL) $(LNFILES) *~