#	Copyright (c) 1990 by Carrick Sean Casey.
#	For copying and distribution information, see the file COPYING.

#	Makefile for "icb", the ICB teleconferencing system client.

#	NOTE: This file should not be changed. Changes should be made
#	to "config" in the directory above. 

LIBS = ../lmurgil.a ../ltcl.a  ../lreadline.a
#PMAKE = &

SRC = \
	c_hclear.c \
	c_hdel.c \
	c_help.c \
	c_hush.c \
	c_log.c \
	c_quit.c \
	c_rand.c \
	c_replay.c \
	c_shell.c \
	c_time.c \
	c_usage.c \
	c_version.c \
	cute.c \
	defprocs.c \
	dispatch.c \
	oset.c \
	getline.c \
	getswitch.c \
	globals.c \
	helpdata.c \
	history.c \
	ipcf.c \
	main.c \
	msgs.c \
	parse.c \
	print.c \
	readlineinit.c \
	register.c \
	s_admin.c \
	s_beep.c \
	s_bump.c \
	s_chpw.c \
	s_group.c \
	s_motd.c \
	s_open.c \
	s_person.c \
	s_register.c \
	s_send.c \
	s_user.c \
	s_version.c \
	s_who.c \
	send.c \
	serverlist.c \
	signals.c \
	strccmp.c \
	strings.c \
	strlist.c \
	tcl.c \
	unix.c \
	usage.c 

OBJ = \
	c_hclear.o \
	c_hdel.o \
	c_help.o \
	c_hush.o \
	c_log.o \
	c_quit.o \
	c_rand.o \
	c_replay.o \
	c_shell.o \
	c_time.o \
	c_usage.o \
	c_version.o \
	cute.o \
	defprocs.o \
	dispatch.o \
	oset.o \
	getline.o \
	getswitch.o \
	globals.o \
	helpdata.o \
	history.o \
	ipcf.o \
	main.o \
	msgs.o \
	parse.o \
	print.o \
	readlineinit.o \
	register.o \
	s_admin.o \
	s_beep.o \
	s_bump.o \
	s_chpw.o \
	s_group.o \
	s_motd.o \
	s_open.o \
	s_person.o \
	s_register.o \
	s_send.o \
	s_user.o \
	s_version.o \
	s_who.o \
	send.o \
	serverlist.o \
	signals.o \
	strccmp.o \
	strings.o \
	strlist.o \
	tcl.o \
	unix.o \
	usage.o

HELP = \
	help/groups \
	help/hush \
	help/input \
	help/intro \
	help/options \
	help/primitives \
	help/rules \
	help/tcl \
	help/variables

default: icb

icb: ${PMAKE} $(OBJ) $(LIBS)

icb: ${PMAKE} $(OBJ)
	$(CC) $(CFLAGS) -o icb $(OBJ) $(LIBS) $(OTHERLIBS) 

main.o: main.c ../config
	$(CC) $(CFLAGS) -c -DDEFAULTHOST=\"${DEFAULTHOST}\" \
	-DDEFAULTPORT=${DEFAULTPORT} main.c

serverlist.o: serverlist.c ../config
	$(CC) $(CFLAGS) -c -DDEFAULTHOST=\"${DEFAULTHOST}\" \
	-DDEFAULTPORT=${DEFAULTPORT} -DSERVERLIST=\"${SERVERLIST}\" serverlist.c

getline.o: getline.c ../readline/readline.h
	$(CC) $(CFLAGS) -c -I../readline -I.. getline.c

readlineinit.o: readlineinit.c ../readline/readline.h
	$(CC) $(CFLAGS) -c -I../readline -I.. readlineinit.c

signals.o: signals.c icb.h ../protocol.h ../tcl/tcl.h ../readline/readline.h
	$(CC) $(CFLAGS) -c -I../readline -I.. signals.c

#helpdata.c: perl/makehelp.pl $(HELP)
#	perl perl/makehelp.pl $(HELP) > helpdata.c
#
#defprocs.c: perl/makedefs.pl bindings
#	perl perl/makedefs.pl bindings > tmp
#	mv tmp defprocs.c
#
#protos.h:
#	cproto $(CFLAGS) $(SRC) | sort | perl ../support/fixprotos.pl > tmp
#	mv tmp protos.h

funcs.h: protos.h
	sed -e 's/(.*)/()/' protos.h > tmp
	mv -f tmp funcs.h

install: $(BINDIR)/icb $(LIBDIR)/icbserverdb

$(LIBDIR)/icbserverdb: ../icbserverdb
	-mkdir $(LIBDIR)
	cp ../icbserverdb $(LIBDIR)/icbserverdb

$(BINDIR)/icb: icb
	-mkdir $(BINDIR)
	-rm -f $(BINDIR)/icb
	cp icb $(BINDIR)/icb
	chmod 755 $(BINDIR)/icb

lint:
	lint $(LFLAGS) -DDEFAULTHOST=\"${DEFAULTHOST}\" \
		-DDEFAULTPORT=${DEFAULTPORT} $(SRC)

cxref:
	cxref -c $(CFLAGS) $(SRC)

dstrip:
	cp Make Make.bak
	perl ../tools/dstrip.pl < Make > Make.o
	mv Make.o Make

clean:
	rm -f *.o icb Make.bak core tags

saber_src:
	#load $(SRC)

depend:
	$(MAKEDEPEND) $(DEPENDFLAGS) $(SRC)

# DO NOT DELETE THIS LINE -- make depend depends on it.

c_hclear.o: icb.h ../protocol.h ../tcl/tcl.h
c_hclear.o: funcs.h externs.h
c_help.o: icb.h ../protocol.h ../tcl/tcl.h
c_help.o: funcs.h externs.h
c_hush.o: icb.h ../protocol.h ../tcl/tcl.h
c_hush.o: funcs.h externs.h
c_log.o: icb.h ../protocol.h ../tcl/tcl.h
c_log.o: funcs.h externs.h 
c_quit.o: icb.h ../protocol.h ../tcl/tcl.h
c_quit.o: funcs.h externs.h
c_rand.o: icb.h ../protocol.h ../tcl/tcl.h
c_rand.o: funcs.h externs.h
c_replay.o: icb.h ../protocol.h ../tcl/tcl.h
c_replay.o: funcs.h externs.h
c_shell.o: icb.h ../protocol.h ../tcl/tcl.h
c_shell.o: funcs.h externs.h 
c_time.o: icb.h ../protocol.h ../tcl/tcl.h
c_time.o: funcs.h externs.h 
c_usage.o: icb.h ../protocol.h ../tcl/tcl.h
c_usage.o: funcs.h externs.h
cute.o: icb.h ../protocol.h ../tcl/tcl.h
cute.o: funcs.h externs.h
dispatch.o: icb.h ../protocol.h ../tcl/tcl.h
dispatch.o: funcs.h externs.h
oset.o: icb.h ../protocol.h ../tcl/tcl.h
oset.o: funcs.h externs.h
getline.o: icb.h ../protocol.h ../tcl/tcl.h
getline.o: funcs.h externs.h 
globals.o: icb.h ../protocol.h ../tcl/tcl.h ../version.h
globals.o: funcs.h ../murgil/ipcf.h
history.o: icb.h ../protocol.h ../tcl/tcl.h
history.o: funcs.h externs.h
ipcf.o: icb.h ../protocol.h ../tcl/tcl.h
ipcf.o: funcs.h externs.h
main.o: icb.h ../protocol.h ../tcl/tcl.h
main.o: funcs.h externs.h 
msgs.o: icb.h ../protocol.h ../tcl/tcl.h
msgs.o: funcs.h externs.h ../version.h
parse.o: icb.h ../protocol.h ../tcl/tcl.h
parse.o: funcs.h externs.h
print.o: icb.h ../protocol.h ../tcl/tcl.h
print.o: funcs.h externs.h
s_admin.o: icb.h ../protocol.h ../tcl/tcl.h
s_admin.o: funcs.h externs.h
s_beep.o: icb.h ../protocol.h ../tcl/tcl.h
s_beep.o: funcs.h externs.h
s_group.o: icb.h ../protocol.h ../tcl/tcl.h
s_group.o: funcs.h externs.h
s_motd.o: icb.h ../protocol.h ../tcl/tcl.h
s_motd.o: funcs.h externs.h
s_person.o: icb.h ../protocol.h ../tcl/tcl.h
s_person.o: funcs.h externs.h
s_send.o: icb.h ../protocol.h ../tcl/tcl.h
s_send.o: funcs.h externs.h
s_user.o: icb.h ../protocol.h ../tcl/tcl.h
s_user.o: funcs.h externs.h
s_version.o: icb.h ../protocol.h ../tcl/tcl.h
s_version.o: funcs.h externs.h
s_who.o: icb.h ../protocol.h ../tcl/tcl.h
s_who.o: funcs.h externs.h
send.o: icb.h ../protocol.h ../tcl/tcl.h
send.o: funcs.h externs.h
strings.o: icb.h ../protocol.h ../tcl/tcl.h
strings.o: funcs.h externs.h 
strlist.o: icb.h ../protocol.h ../tcl/tcl.h
strlist.o: funcs.h
tcl.o: icb.h ../protocol.h ../tcl/tcl.h
tcl.o: funcs.h externs.h 
unix.o: icb.h ../protocol.h ../tcl/tcl.h
unix.o: funcs.h externs.h 
usage.o: icb.h ../protocol.h ../tcl/tcl.h
usage.o: funcs.h externs.h
