#
# This is the makefile for the demo files distributed with CDK.
#

#
# Change these as needed.
#
ROOTDIR	= /export/local
INCDIR	= -I/usr/include/ncurses -I$(ROOTDIR)/include
LIBDIR	= -L$(ROOTDIR)/lib
LIBS	= -lcdk -lcurses -lm
BINS	= fileview rolodex command clock stopSign \
		appointment vinstall serial keycheck
CFLAGS	= -g -Wall -DNCURSES
CC	= gcc

#
# If you have Sybase installed on your system, try making
# syb. It's an interface to Sybase.
#
SYBROOT		= /export/sybase
SYBINCDIR	= -I$(SYBROOT)/include
SYBLIBDIR	= -L$(SYBROOT)/lib
SYBLIBS		= -lnsl -lsybdb

default: all
all: $(BINS)

#
# Basic file selector/file viewer combination.
#
fileview: fileview.c
	$(CC) $(CFLAGS) $(INCDIR) $? -o $@ $(LIBDIR) $(LIBS)

#
# A fairly robust rolodex.
#
rolodex: rolodex.c
	$(CC) $(CFLAGS) $(INCDIR) $? -o $@ $(LIBDIR) $(LIBS) -I.

#
# A basic command interface with command history.
#
command: command.c
	$(CC) $(CFLAGS) $(INCDIR) $? -o $@ $(LIBDIR) $(LIBS)

#
# A simple little clock.
#
clock: clock.c
	$(CC) $(CFLAGS) $(INCDIR) $? -o $@ $(LIBDIR) $(LIBS)

#
# A simple demo I wrote after a couple of pints. :)
#
stopSign: stopSign.c
	$(CC) $(CFLAGS) $(INCDIR) $? -o $@ $(LIBDIR) $(LIBS)

#
# A basic appointment book/date keeper.
#
appointment: appointment.c
	$(CC) $(CFLAGS) $(INCDIR) $? -o $@ $(LIBDIR) $(LIBS)

#
# This probes the serial port.
#
serial: serial.c
	$(CC) $(CFLAGS) $(INCDIR) $? -o $@ $(LIBDIR) $(LIBS)

#
# This prints out the keys ASCII and Octal values.
#
keycheck: keycheck.c
	$(CC) $(CFLAGS) $(INCDIR) $? -o $@ $(LIBDIR) $(LIBS)

#
# CDK based installer.
#
vinstall: vinstall.c
	$(CC) $(CFLAGS) $(INCDIR) $? -o $@ $(LIBDIR) $(LIBS)

#
# A Sybase interface.
#
syb: syb.c
	$(CC) $(CFLAGS) -o $@ $? $(INCDIR) $(SYBINCDIR) $(LIBDIR) $(SYBLIBDIR) $(LIBS) $(SYBLIBS)

clean::
	$(RM) core *.o $(BINS) syb
