#
# Makefile for Minicom - fill in your system
#

# Take these flags for Mark Williams' Coherent
LFLAGS	= -s
#CFLAGS	= -D_V7			 # use this for Coherent 3.x
#CFLAGS	= -D_SYSV -VPSTR	 # and that for stock Coherent 4.0
CFLAGS	= -D_SYSV -VPSTR -DCOH42 # and that for Coherent 4.0.1r68 up to 4.2
LIBS	= -lterm
CC	= cc
O	= o
chmem	= /bin/true

# Where to install things (must be the same as in "config.h")
BINDIR	= /usr/local/bin
ETCDIR	= /usr/local/lib/minicom

# Nothing should have to change beneath this line

SRCS	= minicom.c vt100.c config.c help.c updown.c \
	  fastsystem.c dial.c window.c wkeys.c ipc.c main.c \
	  keyserv.c windiv.c script.c sysdep1.c sysdep2.c rwconf.c

HDRS	= minicom.h window.h keyserv.h charmap.h config.h \
	  configsym.h patchlevel.h

OTHERS  = Makefile Install Readme Todo unixlogin saralogin scriptdemo \
	  Manual.scr Manual.mnc Readme.rzsz Readme.Coh minicom.users \
	  mc History

MOBJS	= minicom.$(O) vt100.$(O) config.$(O) help.$(O) updown.$(O) \
	  fastsystem.$(O) dial.$(O) window.$(O) wkeys.$(O) ipc.$(O) \
	  windiv.$(O) sysdep1.$(O) sysdep2.$(O) rwconf.$(O) main.$(O)

KOBJS	= keyserv.$(O) wkeys.$(O) sysdep2.$(O)

SOBJS	= script.$(O)

all:		minicom keyserv runscript
		@echo "all done"

minicom:	$(MOBJS)
		$(CC) $(LFLAGS) -o minicom $(MOBJS) $(LIBS)
		@$(chmem) =40000 minicom

keyserv:	$(KOBJS)
		$(CC) -o keyserv $(LFLAGS) $(KOBJS) $(LIBS)
		@$(chmem) =8000 keyserv

runscript:	$(SOBJS)
		$(CC) -o runscript $(LFLAGS) $(SOBJS)
		@$(chmem) =8192 runscript 

script.$(O):	script.c

keyserv.$(O):	keyserv.c $(HDRS)

minicom.$(O):	minicom.c $(HDRS)

main.$(O):	main.c $(HDRS)

windiv.$(O):	windiv.c $(HDRS)

vt100.$(O):	vt100.c $(HDRS)

config.$(O):	config.c $(HDRS)

fastsystem.$(O): fastsystem.c $(HDRS)

dial.$(O):	dial.c $(HDRS)

help.$(O):	help.c $(HDRS)

updown.$(O):	updown.c $(HDRS)

window.$(O):	window.c $(HDRS)

wkeys.$(O):	wkeys.c $(HDRS)

ipc.$(O):	ipc.c $(HDRS)

sysdep1.$(O):	sysdep1.c $(HDRS)

sysdep2.$(O):	sysdep2.c $(HDRS)

rwconf.$(O):	rwconf.c $(HDRS)

shar:
		@echo Creating shar archive..
		@shar $(SRCS) $(HDRS) $(OTHERS) > minicom.sh
		@echo Compressing..
		@rm -f minicom.sh.Z
		@compress -b13 minicom.sh
		@rm -f minicom.sh

tar:
		@echo Creating tar archive..
		@tar cvf minicom.tar $(SRCS) $(HDRS) $(OTHERS)
		@echo Compressing..
		@rm -f minicom.tar.Z
		@compress -b13 minicom.tar
		@rm -f minicom.tar

lzh:
		@echo Creating lharc archive..
		@rm -f minicom.lzh
		@lharc a minicom.lzh $(SRCS) $(HDRS) $(OTHERS)

$(BINDIR)/minicom: minicom
		@echo Installing minicom in $(BINDIR)
		@cp minicom $(BINDIR)
		@chown root $(BINDIR)/minicom
		@chgrp bin $(BINDIR)/minicom
		@chmod 4755 $(BINDIR)/minicom

$(BINDIR)/runscript: runscript
		@echo Installing runscript in $(BINDIR)
		@cp runscript $(BINDIR)/runscript
		@chown bin $(BINDIR)/runscript
		@chgrp bin $(BINDIR)/runscript
		@chmod 755 $(BINDIR)/runscript

$(ETCDIR)/keyserv: keyserv
		@echo Installing keyserv in $(ETCDIR)
		@cp keyserv $(ETCDIR)
		@chown bin $(ETCDIR)/keyserv
		@chgrp bin $(ETCDIR)/keyserv
		@chmod 755 $(ETCDIR)/keyserv

install:	$(BINDIR)/minicom $(BINDIR)/runscript $(ETCDIR)/keyserv
		@echo Minicom has been installed.
		@echo You must now run \"minicom -s\" to adapt minicom to
		@echo your system.
		@echo You may also want to create a \"minicom.users\" file \
in $(ETCDIR).

clean:
		rm -f *.$(O) minicom keyserv runscript
