CC = cc
CFLAGS = -O
LD = $(CC)
LDFLAGS =
AR = ar
ARFLAGS = rv
RANLIB = :

SOCKET_LIBS = `[ -f /usr/lib/libsocket.so ] && echo -lsocket -lnsl || :`

LIBDNS_SRCS = dns_ptodn.c dns_dntop.c dns_dntol.c dns_dnlen.c dns_dnlabels.c dns_dnreverse.c
LIBDNS_HDRS = dns.h
LIBDNS_MANS =
LIBDNS_MISC =
LIBDNS_OBJS = $(LIBDNS_SRCS:.c=.o)
LIBDNS_LIB  = libdns.a
LIBDNS_LIBD = $(LIBDNS_LIB)
LIBDNS_LIBF = $(LIBDNS_LIB)

LIBIP4_SRCS = ip4addr.c ip4cidr.c ip4atos.c
LIBIP4_HDRS = ip4addr.h
LIBIP4_MANS =
LIBIP4_MISC =
LIBIP4_OBJS = $(LIBIP4_SRCS:.c=.o)
LIBIP4_LIB  = libip4addr.a
LIBIP4_LIBD = $(LIBIP4_LIB)
LIBIP4_LIBF = $(LIBIP4_LIB)

RBLDNSD_SRCS = rbldnsd.c \
  rbldnsd_ip4set.c rbldnsd_ip4vset.c \
  rbldnsd_dnset.c rbldnsd_dnvset.c \
  rbldnsd_util.c \
  mempool.c
RBLDNSD_HDRS = rbldnsd.h mempool.h
RBLDNSD_MANS = rbldnsd.8
RBLDNSD_MISC =
RBLDNSD_OBJS = $(RBLDNSD_SRCS:.c=.o)
RBLDNSD_LIBS = $(SOCKET_LIBS)

SRCS = $(LIBDNS_SRCS) $(LIBIP4_SRCS) $(RBLDNSD_SRCS)
HDRS = $(LIBDNS_HDRS) $(LIBIP4_HDRS) $(RBLDNSD_HDRS)
MANS = $(LIBDNS_MANS) $(RBLDNSD_MANS)
DISTFILES = $(SRCS) $(HDRS) $(MANS) Makefile CHANGES
VERSION = 0.74pre2
VERSION_DATE = 2003-03-30

all: rbldnsd

rbldnsd: $(RBLDNSD_OBJS) $(LIBDNS_LIBD) $(LIBIP4_LIBD)
	$(LD) $(LDFLAGS) -o $@ $(RBLDNSD_OBJS) $(LIBDNS_LIBF) $(LIBIP4_LIBF) $(RBLDNSD_LIBS)

$(LIBDNS_LIB): $(LIBDNS_OBJS)
	-rm -f $@
	$(AR) $(ARFLAGS) $@ $(LIBDNS_OBJS)
	$(RANLIB) $@

$(LIBIP4_LIB): $(LIBIP4_OBJS)
	-rm -f $@
	$(AR) $(ARFLAGS) $@ $(LIBIP4_OBJS)
	$(RANLIB) $@

.c.o:
	$(CC) $(CFLAGS) -c $<

rbldnsd.o: rbldnsd.c
	$(CC) $(CFLAGS) -DVERSION='"$(VERSION) $(VERSION_DATE)"' -c rbldnsd.c

clean:
	-rm -f *.o *~ core $(LIBDNS_LIB)

base = rbldnsd-$(VERSION)
dist: $(base).tar.gz
$(base).tar.gz: $(DISTFILES)
	rm -rf $(base)
	mkdir $(base)
	ln $(DISTFILES) $(base)/
	tar cfz $@ $(base)
	rm -rf $(base)

depend dep deps: $(SRCS)
	@echo Generating deps for:
	@echo \ $(SRCS)
	@sed '/^# depend/q' Makefile > Makefile.tmp
	@$(CC) $(CFLAGS) -MM $(SRCS) >> Makefile.tmp
	@if cmp Makefile.tmp Makefile ; then \
	  echo Makefile unchanged; \
	  rm -f Makefile.tmp; \
	else \
	  echo Updating Makfile; \
	  mv -f Makefile.tmp Makefile ; \
	fi

# depend
dns_ptodn.o: dns_ptodn.c dns.h
dns_dntop.o: dns_dntop.c dns.h
dns_dntol.o: dns_dntol.c dns.h
dns_dnlen.o: dns_dnlen.c dns.h
dns_dnlabels.o: dns_dnlabels.c dns.h
dns_dnreverse.o: dns_dnreverse.c dns.h
ip4addr.o: ip4addr.c ip4addr.h
ip4cidr.o: ip4cidr.c ip4addr.h
ip4atos.o: ip4atos.c ip4addr.h
rbldnsd.o: rbldnsd.c rbldnsd.h ip4addr.h dns.h mempool.h
rbldnsd_ip4set.o: rbldnsd_ip4set.c rbldnsd.h ip4addr.h dns.h
rbldnsd_ip4vset.o: rbldnsd_ip4vset.c rbldnsd.h ip4addr.h dns.h \
 mempool.h
rbldnsd_dnset.o: rbldnsd_dnset.c rbldnsd.h ip4addr.h dns.h mempool.h
rbldnsd_dnvset.o: rbldnsd_dnvset.c rbldnsd.h ip4addr.h dns.h mempool.h
rbldnsd_util.o: rbldnsd_util.c rbldnsd.h ip4addr.h
mempool.o: mempool.c mempool.h
