##  $Revision: 1.30 $
SHELL	= /bin/sh
MAKE	= make
LINT	= lint
DESTDIR	=
D	= $(DESTDIR)
##  =()<P	= @<P>@>()=
P	= 

##  =()<CC	= @<CC>@>()=
CC	= gcc
##  =()<DEFS	= @<DEFS>@>()=
DEFS	= -I../include
##  =()<CFLAGS	= @<CFLAGS>@>()=
CFLAGS	= $(DEFS) -g
##  =()<LDFLAGS	= @<LDFLAGS>@>()=
LDFLAGS	= 
##  =()<LINTFLAGS	= @<LINTFLAGS>@>()=
LINTFLAGS	= -b -h -z $(DEFS)
##  =()<LINTFILTER	= @<LINTFILTER>@>()=
LINTFILTER	= | sed -n -f ../sedf.sun
##  =()<CTAGS		= @<CTAGS>@>()=
CTAGS		= ctags -t -w

##  =()<NEWSBIN	=@<_PATH_NEWSBIN>@>()=
NEWSBIN	=/usr/news/bin
##  =()<INEWS	= @<_PATH_INEWS>@>()=
INEWS	= /usr/news/bin/inews
##  =()<RNEWS	= @<_PATH_RNEWS>@>()=
RNEWS	= /usr/news/bin/rnews
##  =()<RNEWSPROGS	= @<_PATH_RNEWSPROGS>@>()=
RNEWSPROGS	= /usr/news/bin/rnews.libexec
## =()<OWNER	= -O @<NEWSUSER>@ -G @<NEWSGROUP>@>()=
OWNER	= -O news -G news
## =()<ROWNER	= -O uucp -G @<NEWSGROUP>@>()=
ROWNER	= -O uucp -G news

##  =()<NNTPLIB	= @<NNTPLIB>@>()=
NNTPLIB	= 
##  =()<LIBS	= @<LIBS>@>()=
LIBS	= -lutil
LIBNEWS	= ../libinn.a
LINTLIB	= ../llib-linn.ln
## =()<LIBSNPRINTF = @<LIBSNPRINTF>@>()=
LIBSNPRINTF = 

SOURCES	= ctlinnd.c inews.c rnews.c

ALL	= inews rnews ctlinnd getlist innconfval decode encode

all:		$(ALL)
	date >$@

install:	$(INEWS) $(RNEWS) \
		$(D)$(NEWSBIN)/ctlinnd $(D)$(NEWSBIN)/getlist \
		$(D)$(NEWSBIN)/innconfval \
		$(D)$(RNEWSPROGS)/c7unbatch \
		$(D)$(RNEWSPROGS)/decode $(D)$(RNEWSPROGS)/encode

clobber clean:
	rm -f *.o $(ALL)
	rm -f all install lint profiled

tags ctags:	$(SOURCES)
	$(CTAGS) $(SOURCES) ../lib/*.c ../include/*.h

inews:		$(P) inews.o $(LIBNEWS) $(LIBSNPRINTF)
	$(CC) $(LDFLAGS) -o $@ inews.o $(NNTPLIB) $(LIBNEWS) $(LIBSNPRINTF) $(LIBS)
rnews:		$(P) rnews.o $(LIBNEWS) $(LIBSNPRINTF)
	$(CC) $(LDFLAGS) -o $@ rnews.o $(NNTPLIB) $(LIBNEWS) $(LIBSNPRINTF) $(LIBS)
ctlinnd:	$(P) ctlinnd.o $(LIBNEWS) $(LIBSNPRINTF)
	$(CC) $(LDFLAGS) -o $@ ctlinnd.o $(LIBNEWS) $(LIBSNPRINTF) $(LIBS)
getlist:	$(P) getlist.o $(LIBNEWS) $(LIBSNPRINTF)
	$(CC) $(LDFLAGS) -o $@ getlist.o $(LIBNEWS) $(LIBSNPRINTF) $(LIBS)
innconfval:	$(P) innconfval.o $(LIBNEWS) $(LIBSNPRINTF)
	$(CC) $(LDFLAGS) -o $@ innconfval.o $(LIBNEWS) $(LIBSNPRINTF) $(LIBS)
decode:		$(P) decode.o $(LIBNEWS) $(LIBSNPRINTF)
	$(CC) $(LDFLAGS) -o $@ decode.o $(LIBNEWS) $(LIBSNPRINTF) $(LIBS)
encode:		$(P) encode.o $(LIBNEWS) $(LIBSNPRINTF)
	$(CC) $(LDFLAGS) -o $@ encode.o $(LIBNEWS) $(LIBSNPRINTF) $(LIBS)

##  Not normally built.
feedone:		feedone.o $(LIBNEWS) $(LIBSNPRINTF)
	$(CC) $(LDFLAGS) -o $@ feedone.o $(LIBNEWS) $(LIBSNPRINTF) $(LIBS)
sys2nf:		sys2nf.o $(LIBNEWS) $(LIBSNPRINTF)
	$(CC) $(LDFLAGS) -o $@ sys2nf.o $(LIBNEWS) $(LIBSNPRINTF) $(LIBS)


lint:		$(ALL)
	@rm -f lint
	-$(LINT) $(LINTFLAGS) inews.c      $(LINTLIB) $(LINTFILTER)  >lint
	-$(LINT) $(LINTFLAGS) rnews.c      $(LINTLIB) $(LINTFILTER) >>lint
	-$(LINT) $(LINTFLAGS) ctlinnd.c    $(LINTLIB) $(LINTFILTER) >>lint
	-$(LINT) $(LINTFLAGS) innconfval.c $(LINTLIB) $(LINTFILTER) >>lint
	-$(LINT) $(LINTFLAGS) getlist.c    $(LINTLIB) $(LINTFILTER) >>lint
	-$(LINT) $(LINTFLAGS) decode.c     $(LINTLIB) $(LINTFILTER) >>lint
	-$(LINT) $(LINTFLAGS) encode.c     $(LINTLIB) $(LINTFILTER) >>lint

$(LIBNEWS) $(LINTLIB):
	(cd ../lib ; $(MAKE) install)

../libsnprintf.a:
	(cd ../snprintf ; $(MAKE) install)

profiled:
	cp /dev/null profiled

##
.SUFFIXES: .c .src
.c.src:
	#load $(CFLAGS) $<

##  Low-level install actions.
$(D)$(INEWS):		inews
	$(SHELL) ../installit.sh $(OWNER) -m 02555 -b .OLD $? $@
$(D)$(RNEWS):		rnews
	$(SHELL) ../installit.sh $(ROWNER) -m 06550 -b .OLD $? $@
$(D)$(NEWSBIN)/ctlinnd:	ctlinnd
	$(SHELL) ../installit.sh $(OWNER) -m  0550 -b .OLD $? $@
$(D)$(NEWSBIN)/getlist:	getlist
	$(SHELL) ../installit.sh $(OWNER) -m  0555 -b .OLD $? $@
$(D)$(NEWSBIN)/innconfval:	innconfval
	$(SHELL) ../installit.sh $(OWNER) -m  0555 -b .OLD $? $@
$(D)$(RNEWSPROGS)/c7unbatch:	c7unbatch.sh
	$(SHELL) ../installit.sh $(OWNER) -m  0555 -b .OLD $? $@
$(D)$(RNEWSPROGS)/decode:		decode
	$(SHELL) ../installit.sh $(OWNER) -m  0555 -b .OLD $? $@
$(D)$(RNEWSPROGS)/encode:		encode
	$(SHELL) ../installit.sh $(OWNER) -m  0555 -b .OLD $? $@

##  Dependencies.  Default list, below, is probably good enough.
depend:		Makefile $(SOURCES)
	makedepend $(DEFS) $(SOURCES)

# DO NOT DELETE THIS LINE -- make depend depends on it.
ctlinnd.o:	../include/clibrary.h
ctlinnd.o:	../include/configdata.h
ctlinnd.o:	../include/inndcomm.h
ctlinnd.o:	../include/libinn.h
ctlinnd.o:	../include/macros.h
ctlinnd.o:	../include/paths.h
decode.o:	../include/clibrary.h
decode.o:	../include/configdata.h
encode.o:	../include/clibrary.h
encode.o:	../include/configdata.h
getlist:	../include/clibrary.h
getlist:	../include/configdata.h
getlist:	../include/libinn.h
getlist:	../include/macros.h
getlist:	../include/paths.h
getlist:	../include/qio.h
inews.o:	../include/clibrary.h
inews.o:	../include/configdata.h
inews.o:	../include/libinn.h
inews.o:	../include/macros.h
inews.o:	../include/nntp.h
inews.o:	../include/paths.h
innconfval.o:	../include/clibrary.h
innconfval.o:	../include/configdata.h
innconfval.o:	../include/libinn.h
innconfval.o:	../include/macros.h
rnews.o:	../include/clibrary.h
rnews.o:	../include/configdata.h
rnews.o:	../include/libinn.h
rnews.o:	../include/logging.h
rnews.o:	../include/macros.h
rnews.o:	../include/mydir.h
rnews.o:	../include/nntp.h
rnews.o:	../include/paths.h
