SNVERSION= 3.8
UPDATED= 21DEC2002

#  You might need to say where the ncurses or curses include files are.
CFLAGS=-I/usr/include/ncurses -g
# CFLAGS=
CC=gcc
EXEC= statnet
EXECD= statnetd
OBJECTS= curs.o getservent.o set_null.o services.o \
    stat_delta.o stat_ntoh.c tally_delta.o tally_label.o \
    tally_ntoh.c win_show_stat.o
OBJECTSD= getservent.o itstime.o set_null.o services.o \
    tally_init.o tally.o
DOCS= README statnet.lsm statnet.1
LIBS= -lncurses
INSTALLDIR=/usr/sbin
CFLAGS+= -DSNVERSION=$(SNVERSION)

all:	$(EXEC) $(EXECD) $(DOCS)

statnet:	statnet.o $(OBJECTS) Makefile
		$(CC) -o $(EXEC) $(CFLAGS) statnet.o $(OBJECTS) $(LIBS)

statnetd:	statnetd.o $(OBJECTSD) Makefile
		$(CC) -o $(EXECD) $(CFLAGS) statnetd.o $(OBJECTSD) $(LIBS)

install:	$(EXEC) $(EXECD)
	chmod a-w  $(EXEC) $(EXECD)
	chmod a+rx $(EXEC) $(EXECD)
	chown root.root $(EXEC) $(EXECD)
	mv $(EXEC) $(INSTALLDIR)/$(EXEC)
	mv $(EXECD) $(INSTALLDIR)/$(EXECD)

README:	Makefile README.proto
	m4 --prefix-builtins -D__SNVERSION__=$(SNVERSION) -D__UPDATED__=$(UPDATED) README.proto > README

statnet.lsm:	Makefile statnet.lsm.proto $(subst VV,$(SNVERSION),statnet-VV.tgz)
	-rm -f statnet.lsm
	m4 --prefix-builtins \
		-D__SNVERSION__=$(SNVERSION) \
		-D__UPDATED__=$(UPDATED) \
		-D__TARSIZE__=$(firstword $(shell du -s statnet-*[0-9].tgz) ) \
		statnet.lsm.proto > statnet.lsm

statnet.1:	Makefile statnet.1.proto
	m4 --prefix-builtins -D__SNVERSION__=$(SNVERSION) -D__UPDATED__=$(UPDATED) statnet.1.proto > statnet.1

shar:
	shar README CHANGES INSTALL Makefile services *.h *.c *.lsm *.proto >statnet.shar

tar: $(subst VV,$(SNVERSION),statnet-VV.tgz)

$(subst VV,$(SNVERSION),statnet-VV.tgz): $(EXEC) $(EXECD) README statnet.1
	-rm -f statnet*tar.gz statnet*.tgz
	-tar cvzf $(subst VV,$(SNVERSION),statnet-VV.tgz) $(EXEC) $(EXECD) README CHANGES INSTALL Makefile services *.h *.c *.lsm *.proto
	-tar cvzf $(subst VV,$(SNVERSION),statnet-VV_src.tgz) README CHANGES INSTALL Makefile services *.h *.c *.lsm *.proto

clean:
	-rm -f *.o $(EXEC) $(EXECD) statnet.shar statnet*.tgz

.PHONY:	all install shar tar clean

curs.o:		Makefile curs.c curs.h
getservent.o:   Makefile getservent.c inetprivate.h
itstime.o:	Makefile itstime.c stat.h
services.o:	Makefile services.c stat.h
set_null.o:	Makefile set_null.c stat.h
stat_delta.o:	Makefile stat_delta.c stat.h
statnet.o:	Makefile statnet.c curs.h stat.h
statnetd.o: 	Makefile statnetd.c stat.h
tally.o:	Makefile tally.c stat.h
tally_delta.o:	Makefile tally_delta.c stat.h
tally_init.o:	Makefile tally_init.c stat.h
tally_label.o:	Makefile tally_label.c stat.h
win_show_stat.o: 	Makefile win_show_stat.c curs.h stat.h

rpm: rpm.spec $(DOCS) $(subst VV,$(SNVERSION),statnet-VV.tgz)

rpm.spec:	Makefile rpm.spec.proto
	m4 --prefix-builtins -D__SNVERSION__=$(SNVERSION) -D__UPDATED__=$(UPDATED) rpm.spec.proto > rpm.spec

