#	NETMAJ - network mahjongg -
#	Copyright (C) 1994, 1995 Koji Suzuki (suz@d2.bs1.fc.nec.co.jp)
#
#	NETMAJ is free software; you can redistribute it and/or modify it
#	under the terms of the GNU General Public License as published by
#	the Free Software Foundation; either version 2 of the License, or
#	(at your option) any later version.
#
#	NETMAJ is distributed in the hope that it will be useful, but
#	WITHOUT ANY WARRANTY; without even the implied warranty of
#	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#	See the GNU General Public License for more details.
#
#	You should have received a copy of the GNU General Public License
#	along with this program; if not, write to the Free Software
#	Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# $Id: Makefile,v 1.25 1995/06/06 20:52:36 suz Exp $

VERSION=1
REVISION=2
INTERNAL_REVISION=1
ARCFILE=netmaj-$(VERSION).$(REVISION).$(INTERNAL_REVISION).tar.gz

SHELL=/bin/sh
# Install Directory
LIBDIR=/usr/local/lib/netmaj
BINDIR=/usr/local/bin
PERL=/usr/local/bin/perl

STD_CFLAGS=-I. -Ilib -DNETMAJ_LIB=\"$(LIBDIR)\" 

# for 386BSD
CC=cc
OS_CFLAGS= -O -DUSE_SGTTY -DUSE_FWOPEN -DUSE_TERMCAP
RANLIB=ranlib
LIBS= -lss
CURSES= -lcurses -ltermcap
LDFLAGS =  -Llib

# for linux
#CC=cc
#OS_CFLAGS= -O -DUSE_TERMIOS -DUSE_TERMCAP -DDEF_OPTARG
#RANLIB=ranlib
#LIBS = -lss 
#CURSES= lib/libcurses.a -ltermcap
#LDFLAGS =  -Llib 

# for nec ews
#CC=/usr/abiccs/bin/cc
#OS_CFLAGS = -O -DSYSV -DSVR4 -DUSE_TERMIOS -DUSE_TERMINFO -D_ENDWIN_INCURSES
#RANLIB=echo
#LIBS = -lss -lsocket -lnsl
#CURSES= -lcurses -ltermcap
#LDFLAGS =  -Llib 

# for Solaris
#CC=cc
#OS_CFLAGS = -O -DSYSV -DSVR4 -DUSE_TERMIOS -DUSE_TERMINFO -D_ENDWIN_INCURSES \
#	-DUSE_RAND
#RANLIB=echo
#LIBS = -lss -lsocket -lnsl
#CURSES= -lcurses -ltermcap
#LDFLAGS =  -Llib 

# for nec ews (SVR2)
#CC=cc
#OS_CFLAGS = -O -DSYSV -DSVR4 -DUSE_TERMIO \
#	-DNO_U_LONG -DUSE_TERMCAP -DDEF_OPTARG -DNO_STDLIB
#RANLIB=echo
#LIBS = -lss 
#CURSES= -lcurses -ltermcap
#LDFLAGS =  -Llib 

# for SunOS 4.x
#CC=cc 
#OS_CFLAGS= -O -DDEF_OPTARG -DUSE_SGTTY -DUSE_TERMCAP
#RANLIB=ranlib
#LIBS= -Llib -lss
#CURSES= -lcurses -ltermcap
#LDFLAGS =

# for HP-UX 9.x
#CC=cc 
#OS_CFLAGS= -O -DSYSV -DUSE_TERMIOS -DUSE_TERMINFO
#RANLIB=echo
#LIBS= -lss
#CURSES= -lcurses -ltermcap
#LDFLAGS =  -Llib

# for AIX 3.x
#CC=cc 
#OS_CFLAGS= -O -DSYSV -DOLD_SELECT -DUSE_TERMIOS -DUSE_TERMCAP
#RANLIB=echo
#LIBS= -lss
#CURSES= -lcurses -ltermcap
#LDFLAGS =  -Llib

CFLAGS=$(STD_CFLAGS) $(OS_CFLAGS)

STR_DEF=pai_str.o 
STR_NEC=nec_str.o 
STR_ASC=asc_str.o 
OBJS_LIB=global.o mt.o rv.o hand.o ahand.o result.o log.o cvt.o pf.o \
		game.o analize.o $(STR_DEF)
OBJS_SERVER=server.o
OBJS_CLIENT=client.o cui.o 
OBJS_AUTO  =auto.o 
OBJS_STAND  =stand.o 
OBJS_PLVIEW  = plview.o cui.o 
OBJS_NETMAJ1 =netmaj1.o cui.o 

all: libs server auto client server_kill stand netmaj1 plview x

libnetmaj.a: $(OBJS_LIB)
	ar ruc libnetmaj.a $(OBJS_LIB)
	$(RANLIB) libnetmaj.a

server_kill: server_kill.o 
	$(CC) -o server_kill server_kill.o $(LDFLAGS) $(LIBS)

server: $(OBJS_SERVER) libnetmaj.a
	$(CC) -o server $(OBJS_SERVER) libnetmaj.a $(LDFLAGS) $(LIBS)

stand: $(OBJS_STAND) libnetmaj.a
	$(CC) -o stand $(OBJS_STAND) libnetmaj.a $(LDFLAGS) 

netmaj1: $(OBJS_NETMAJ1) libnetmaj.a $(OBJS_COMMON) 
	$(CC) -o netmaj1 $(OBJS_NETMAJ1) libnetmaj.a $(OBJS_COMMON) $(LDFLAGS) \
	 $(LIBS) $(CURSES) 

plview: $(OBJS_PLVIEW) libnetmaj.a
	$(CC) -o plview $(OBJS_PLVIEW) libnetmaj.a $(LDFLAGS) $(CURSES) $(LIBS)

auto: $(OBJS_AUTO) libnetmaj.a
	$(CC) -o auto $(OBJS_AUTO) libnetmaj.a $(LDFLAGS) $(LIBS)

client: $(OBJS_CLIENT) libnetmaj.a
	$(CC) -o client $(OBJS_CLIENT) libnetmaj.a $(LDFLAGS) $(LIBS) $(CURSES) 

libs:
	(cd lib; make CC="$(CC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)")

x:
	-if test -d xui; then \
	(cd xui; make CC="$(CC)" OS_CFLAGS="$(OS_CFLAGS)" \
	RANLIB="$(RANLIB)" LIBS="$(LIBS)" LIBDIR="$(LIBDIR) \
	BINDIR="$(BINDIR)" \
	"); fi

netmaj: netmaj.in Makefile
	sed -e "s|LIBDIR|$(LIBDIR)|" < netmaj.in | \
	sed -e "s|BINDIR|$(BINDIR)|" > netmaj
	chmod 755 netmaj

player_info: player_info.in Makefile
	sed -e "s|LIBDIR|$(LIBDIR)|" player_info.in |\
	sed -e "s|PERL|$(PERL)|"  > player_info
	chmod 755 player_info

install: netmaj player_info
	-if test -d ${BINDIR}; then \
		mkdir ${BINDIR}; fi
	-if test ! -d ${LIBDIR}; then \
		mkdir ${LIBDIR}; fi
	-./server_kill
	cp server client auto server_kill player_info $(LIBDIR)
	cp netmaj.hlp $(LIBDIR)
	cp netmaj netmaj1 plview $(BINDIR)
	-if test -d xui; then \
	(cd xui; make install CC="$(CC)" OS_CFLAGS="$(OS_CFLAGS)" \
	RANLIB="$(RANLIB)" LIBS="$(LIBS)" LIBDIR="$(LIBDIR)" \
	BINDIR="$(BINDIR)" \
	); fi


install-pf:
	cp *.pf $(LIBDIR)
	-if test -d xui; then \
	(cd xui; make install-pf CC="$(CC)" OS_CFLAGS="$(OS_CFLAGS)" \
	RANLIB="$(RANLIB)" LIBS="$(LIBS)" LIBDIR="$(LIBDIR)" \
	BINDIR="$(BINDIR)" \
	); fi

clean:
	rm -f *.o core* a.out server auto client server_kill netmaj player_info
	(cd lib; make clean)
	-if test -d xui; then \
	(cd xui; make clean); fi
	

tar:
	(cd ..; tar -zcvf netmaj/$(ARCFILE) `cat netmaj/FILES`)

shar: 
	rm -f netmaj.??
	(shar -b -L55 -onetmaj $(ARCFILE))

global.o : global.c pai.h global.h comm.h
mt.o : mt.c pai.h global.h comm.h 
rv.o : rv.c pai.h global.h
hand.o : hand.c pai.h global.h 
ahand.o : ahand.c pai.h ahand.h global.h 
result.o : result.c pai.h global.h 
log.o : log.c pai.h global.h 
cvt.o : cvt.c pai.h global.h 
pf.o : pf.c pai.h global.h 
game.o : game.c pai.h global.h
analize.o : analize.c pai.h ahand.h global.h 
pai_str.o : pai_str.c 
server.o : server.c pai.h global.h 
client.o : client.c pai.h global.h 
cui.o : cui.c pai.h global.h 
auto.o : auto.c pai.h global.h
stand.o : stand.c pai.h global.h
plview.o : plview.c pai.h global.h 
netmaj1.o : netmaj1.c pai.h global.h 
