##  $Id: Makefile 7727 2008-04-06 07:59:46Z iulius $

include ../Makefile.global

top		= ..
CFLAGS		= $(GCFLAGS) $(SSLINC)

ALL		= nnrpd

SOURCES		= article.c cache.c group.c commands.c line.c list.c misc.c \
		  newnews.c nnrpd.c perl.c perm.c post.c python.c \
		  sasl_config.c tls.c track.c

INCLUDES	= cache.h nnrpd.h post.h sasl_config.h tls.h

OBJECTS		= $(SOURCES:.c=.o)

INSTALLED	= $(D)$(PATHBIN)/nnrpd

all: $(ALL)

warnings:
	$(MAKE) COPT='$(WARNINGS)' all

install: all
	$(LI_XPUB) nnrpd $D$(PATHBIN)/nnrpd

clean:
	rm -f *.o $(ALL) nnrpdp profiled
	rm -rf .libs

clobber distclean: clean
	rm -f tags

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


##  Compilation rules.

NNRPDLIBS	= $(LIBHIST) $(LIBSTORAGE) $(LIBINN) $(EXTSTORAGELIBS) \
		  $(PERLLIB) $(PYTHONLIB) $(SSLLIB) $(LIBS)

perl.o:		perl.c		; $(CC) $(CFLAGS) $(PERLINC) -c perl.c
python.o:	python.c	; $(CC) $(CFLAGS) $(PYTHONINC) -c python.c

nnrpd: $(OBJECTS) $(LIBHIST) $(LIBSTORAGE) $(LIBINN)
	$(LIBLD) $(LDFLAGS) -o $@ $(OBJECTS) $(NNRPDLIBS)

$(LIBINN):	; (cd ../lib ; $(MAKE))
$(LIBSTORAGE):	; (cd ../storage ; $(MAKE))
$(LIBHIST):	; (cd ../history ; $(MAKE))


##  Profiling.  These rules have not been checked for a while and may need
##  some work.

profiled:	nnrpdp
	date >$@

nnrpdp:		$(SOURCES)
	rm -f $(OBJECTS)
	$(MAKEPROFILING) nnrpd
	mv nnrpd nnrpdp
	rm -f $(OBJECTS)


##  Dependencies.  Default list, below, is probably good enough.

depend:	$(SOURCES)
	$(MAKEDEPEND) '$(CFLAGS) $(PERLINC) $(PYTHONINC) $(TCLINC)' $(SOURCES)

# DO NOT DELETE THIS LINE -- make depend depends on it.
article.o: article.c ../include/config.h ../include/inn/defines.h \
  ../include/inn/system.h ../include/clibrary.h ../include/config.h \
  ../include/inn/innconf.h ../include/inn/defines.h \
  ../include/inn/messages.h ../include/inn/wire.h nnrpd.h \
  ../include/portable/socket.h ../include/config.h \
  ../include/portable/time.h ../include/inn/qio.h ../include/libinn.h \
  ../include/nntp.h ../include/paths.h ../include/storage.h \
  ../include/inn/vector.h ../include/inn/timer.h ../include/ov.h \
  ../include/storage.h ../include/inn/history.h tls.h cache.h
cache.o: cache.c ../include/config.h ../include/inn/defines.h \
  ../include/inn/system.h ../include/clibrary.h ../include/config.h \
  ../include/inn/innconf.h ../include/inn/defines.h ../include/inn/tst.h \
  ../include/inn/list.h ../include/libinn.h ../include/storage.h cache.h
group.o: group.c ../include/config.h ../include/inn/defines.h \
  ../include/inn/system.h ../include/clibrary.h ../include/config.h \
  ../include/inn/innconf.h ../include/inn/defines.h nnrpd.h \
  ../include/portable/socket.h ../include/config.h \
  ../include/portable/time.h ../include/inn/qio.h ../include/libinn.h \
  ../include/nntp.h ../include/paths.h ../include/storage.h \
  ../include/inn/vector.h ../include/inn/timer.h ../include/ov.h \
  ../include/storage.h ../include/inn/history.h
commands.o: commands.c ../include/config.h ../include/inn/defines.h \
  ../include/inn/system.h ../include/clibrary.h ../include/config.h \
  ../include/portable/wait.h ../include/config.h nnrpd.h \
  ../include/portable/socket.h ../include/portable/time.h \
  ../include/inn/qio.h ../include/inn/defines.h ../include/libinn.h \
  ../include/nntp.h ../include/paths.h ../include/storage.h \
  ../include/inn/vector.h ../include/inn/timer.h ../include/ov.h \
  ../include/storage.h ../include/inn/history.h ../include/inn/innconf.h \
  ../include/inn/messages.h
line.o: line.c ../include/config.h ../include/inn/defines.h \
  ../include/inn/system.h ../include/clibrary.h ../include/config.h \
  ../include/inn/messages.h ../include/inn/defines.h nnrpd.h \
  ../include/portable/socket.h ../include/config.h \
  ../include/portable/time.h ../include/inn/qio.h ../include/libinn.h \
  ../include/nntp.h ../include/paths.h ../include/storage.h \
  ../include/inn/vector.h ../include/inn/timer.h
list.o: list.c ../include/config.h ../include/inn/defines.h \
  ../include/inn/system.h ../include/clibrary.h ../include/config.h \
  nnrpd.h ../include/portable/socket.h ../include/config.h \
  ../include/portable/time.h ../include/inn/qio.h \
  ../include/inn/defines.h ../include/libinn.h ../include/nntp.h \
  ../include/paths.h ../include/storage.h ../include/inn/vector.h \
  ../include/inn/timer.h ../include/ov.h ../include/storage.h \
  ../include/inn/history.h ../include/inn/innconf.h \
  ../include/inn/messages.h
misc.o: misc.c ../include/config.h ../include/inn/defines.h \
  ../include/inn/system.h ../include/clibrary.h ../include/config.h \
  ../include/inn/innconf.h ../include/inn/defines.h nnrpd.h \
  ../include/portable/socket.h ../include/config.h \
  ../include/portable/time.h ../include/inn/qio.h ../include/libinn.h \
  ../include/nntp.h ../include/paths.h ../include/storage.h \
  ../include/inn/vector.h ../include/inn/timer.h tls.h sasl_config.h
newnews.o: newnews.c ../include/config.h ../include/inn/defines.h \
  ../include/inn/system.h ../include/clibrary.h ../include/config.h \
  ../include/inn/innconf.h ../include/inn/defines.h \
  ../include/inn/messages.h ../include/inn/wire.h nnrpd.h \
  ../include/portable/socket.h ../include/config.h \
  ../include/portable/time.h ../include/inn/qio.h ../include/libinn.h \
  ../include/nntp.h ../include/paths.h ../include/storage.h \
  ../include/inn/vector.h ../include/inn/timer.h ../include/ov.h \
  ../include/storage.h ../include/inn/history.h cache.h
nnrpd.o: nnrpd.c ../include/config.h ../include/inn/defines.h \
  ../include/inn/system.h ../include/clibrary.h ../include/config.h \
  ../include/portable/setproctitle.h ../include/config.h \
  ../include/portable/wait.h ../include/inn/innconf.h \
  ../include/inn/defines.h ../include/inn/messages.h ../include/libinn.h \
  ../include/ov.h ../include/storage.h ../include/inn/history.h nnrpd.h \
  ../include/portable/socket.h ../include/portable/time.h \
  ../include/inn/qio.h ../include/nntp.h ../include/storage.h \
  ../include/inn/vector.h ../include/inn/timer.h tls.h sasl_config.h
perl.o: perl.c ../include/config.h ../include/inn/defines.h \
  ../include/inn/system.h ../include/clibrary.h ../include/config.h \
  ../include/inn/innconf.h ../include/inn/defines.h nnrpd.h \
  ../include/portable/socket.h ../include/config.h \
  ../include/portable/time.h ../include/inn/qio.h ../include/libinn.h \
  ../include/nntp.h ../include/paths.h ../include/storage.h \
  ../include/inn/vector.h ../include/inn/timer.h post.h
perm.o: perm.c ../include/config.h ../include/inn/defines.h \
  ../include/inn/system.h ../include/clibrary.h ../include/config.h \
  ../include/portable/wait.h ../include/config.h ../include/conffile.h \
  ../include/inn/innconf.h ../include/inn/defines.h ../include/innperl.h \
  nnrpd.h ../include/portable/socket.h ../include/portable/time.h \
  ../include/inn/qio.h ../include/libinn.h ../include/nntp.h \
  ../include/paths.h ../include/storage.h ../include/inn/vector.h \
  ../include/inn/timer.h
post.o: post.c ../include/config.h ../include/inn/defines.h \
  ../include/inn/system.h ../include/clibrary.h ../include/config.h \
  ../include/inn/innconf.h ../include/inn/defines.h nnrpd.h \
  ../include/portable/socket.h ../include/config.h \
  ../include/portable/time.h ../include/inn/qio.h ../include/libinn.h \
  ../include/nntp.h ../include/paths.h ../include/storage.h \
  ../include/inn/vector.h ../include/inn/timer.h ../include/ov.h \
  ../include/storage.h ../include/inn/history.h post.h
python.o: python.c ../include/config.h ../include/inn/defines.h \
  ../include/inn/system.h ../include/clibrary.h ../include/config.h \
  ../include/inn/innconf.h ../include/inn/defines.h nnrpd.h \
  ../include/portable/socket.h ../include/config.h \
  ../include/portable/time.h ../include/inn/qio.h ../include/libinn.h \
  ../include/nntp.h ../include/paths.h ../include/storage.h \
  ../include/inn/vector.h ../include/inn/timer.h ../include/inn/hashtab.h
sasl_config.o: sasl_config.c ../include/config.h ../include/inn/defines.h \
  ../include/inn/system.h ../include/clibrary.h ../include/config.h \
  ../include/inn/innconf.h ../include/inn/defines.h nnrpd.h \
  ../include/portable/socket.h ../include/config.h \
  ../include/portable/time.h ../include/inn/qio.h ../include/libinn.h \
  ../include/nntp.h ../include/paths.h ../include/storage.h \
  ../include/inn/vector.h ../include/inn/timer.h sasl_config.h
tls.o: tls.c ../include/config.h ../include/inn/defines.h \
  ../include/inn/system.h nnrpd.h ../include/portable/socket.h \
  ../include/config.h ../include/portable/time.h ../include/inn/qio.h \
  ../include/inn/defines.h ../include/libinn.h ../include/config.h \
  ../include/nntp.h ../include/paths.h ../include/storage.h \
  ../include/inn/vector.h ../include/inn/timer.h tls.h sasl_config.h
track.o: track.c ../include/config.h ../include/inn/defines.h \
  ../include/inn/system.h ../include/clibrary.h ../include/config.h \
  ../include/inn/innconf.h ../include/inn/defines.h nnrpd.h \
  ../include/portable/socket.h ../include/config.h \
  ../include/portable/time.h ../include/inn/qio.h ../include/libinn.h \
  ../include/nntp.h ../include/paths.h ../include/storage.h \
  ../include/inn/vector.h ../include/inn/timer.h
