O	= .o
X	=
L	=
CC	= gcc -O2
MV	= mv
RM	= rm -f
DEBUG_FLAGS = -ggdb
DEFINES = -DTN3270 -Dlinux -Dunix -DUSE_TERMIO -DTERMCAP -DKLUDGELINEMODE -DNO_URGENT -DDIAGNOSTICS
AR	= ar
AR1	= cr
AR2     =
AR3     =
INCLUDES= -I . -I.. -I../.. -I/usr/include/bsd/bsd.h -I/usr/include/bsd
# INCLUDES = -I. -I.. -I../bsd/bsd.h -I../bsd
OPTIMIZE = -O
OPTIMIZE = ${DEBUG_FLAGS}
CFLAGS	= $(OPTIMIZE) $(INCLUDES) $(DEFINES)

# Names for the terminal libraries...
LIBCURSES	= -lcurses
LIBTERM		= -ltermcap

# The source files...
ALLH =	telextrn.h config.h

MSMAIN = ascii/mset.c

ALLC =

ALLO	= mset$O

ALLHC=	${ALLH} ${ALLC}

ALLSOURCE =	${ALLHC} makefile README \
		mset.1 tn3270.1 map3270.5

SYS	= sys_curses

# The places where the various components live...

SUBDIR =	api ascii ctlr general ${SYS} telnet
EXTRADIR =	arpa tools utilities

# The libraries we use.  The order here is important.
# syslib.a and ctlrlib.a should come first, then the rest.
SUBLIB =	${SYS}/syslib.a ctlr/ctlrlib.a \
		ascii/asciilib.a general/generallib.a \
		../libtelnet/libtelnet.a /usr/lib/libbsd.a

.s.o:
	/lib/cpp -E $< | as -o $@

.c.obj:
	${CC} ${CFLAGS} -c $<

all: support tn3270$X mset$X

support:
	@for i in ${SUBDIR}; do (cd $$i; echo "Making tn3270/"$$i:; make); done

tn3270$X:	telnet/telprog.o ${SUBLIB} api/apilib.a
	${CC} ${CFLAGS} -o tn3270 telnet/telprog.o \
		$L ${SUBLIB} api/apilib.a $(LIBCURSES) $(LIBTERM)

mset$X:	mset$O ascii/map3270$O
	${CC} ${CFLAGS} -o mset mset$O ascii/map3270$O $L api/apilib.a

mset$O:	$(MSMAIN)
	$(CC) $(CFLAGS) -c $(MSMAIN)

clean:
	@echo "Cleaning tn3270..."
	@for i in $(ALLO) core errs makefile.bak; \
			do (${RM} $$i); done
	@for i in ${SUBDIR} ${EXTRADIR}; \
			do (cd $$i; make ${MFLAGS} clean); done


