# Makefile for rpncalc - a rudimentary emulation of a HP28S
#
# $Id: Makefile,v 1.7 1996/09/14 15:54:08 david Rel $
# $Log: Makefile,v $
# Revision 1.7  1996/09/14 15:54:08  david
# New debian source format; removed $(DEBIAN) variable.
#
# Revision 1.6  1996/09/13 20:21:29  david
# lclint additions
#
# Revision 1.5  1996/08/14 21:18:33  david
# Fix for unexecutable /usr/man, /usr/man/man1
#
# Revision 1.4  1996/07/13 20:48:22  david
# Passing $(DEFS) to the compilation line for objects,
# since some function (getline etc) have moved.
#
# Revision 1.3  1996/05/09 20:54:52  david
# link against ncurses, not against termcap!
#
# Revision 1.1  1996/02/24 17:25:05  david
# Uses now MANTEMPL instead of MAN. This is nicer and cleaner.
#
# Revision 1.0  1995/12/31 20:05:34  david
# Initial revision
#

RM      = rm -f
CC      = gcc

LINT	= lclint
LINTOPTS= -exitarg -unrecog -realcompare -predboolint -boolops +boolint\
 -nullassign +charintliteral -mustfree

DEFS	= -DHAVE_READLINE
CFLAGS  = -O2 -Wall
LIBS    = -lm
#if defined(HAVE_READLINE)
LIBS	+= -lreadline -lncurses
#endif
LDFLAGS =

BIN     = rpncalc
MAN     = $(BIN).1
MANTEMPL= $(BIN).1.sed
SRCS    = cmds.c stack.c utils.c
OBJS	= cmds.o stack.o utils.o
HEADER  = $(BIN).h cmds.h utils.h

prefix  = /usr
BINDIR  = $(prefix)/bin
MANDIR  = $(prefix)/man/man1

all:	rpncalc

source:	$(SRCS) $(HEADER) $(MAN)
# implicit rules.

$(BIN).c:
debian.rules:
	co -kv $@

$(MAN): 
	co -kk $(MANTEMPL)
	sed "s/\\\$$Date\\\$$/`date +'%B %d, %Y'`/g" $(MANTEMPL) > $(MAN)
	-rm $(MANTEMPL)
	chmod 644 $(MAN)

.c.o:	$(HEADER) $(SRCS) $(OBJS)
	$(CC) $(CFLAGS) $(DEFS) -c -o $@ $<

rpncalc:	$(HEADER) $(SRCS) $(OBJS) $(BIN).c $(MAN)
	$(CC) $(CFLAGS) $(LDFLAGS) $(DEFS) -o $(BIN) $(BIN).c $(OBJS) $(LIBS)

clean:
	$(RM) *.o *~ *.bak \#*\# errors core* a.out TAGS

distclean:	clean
	$(RM) $(BIN)

realclean:	distclean
	-rcsclean
	-$(RM) cmds.* rpncalc.*

install: 	$(MAN) $(BIN)
	install -d -g root -o root -m 755 $(BINDIR)
	install    -g root -o root -m 755 -s $(BIN) $(BINDIR)
	install -d -g root -o root -m 755 $(MANDIR)
	install    -g root -o root -m 644 $(MAN) $(MANDIR)

lint:	$(SRCS) $(BIN).c
	$(LINT) $(LINTOPTS) $^
