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_dnlabels.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)

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

SRCS = $(LIBDNS_SRCS) $(RBLDNSD_SRCS)

all: rbldnsd

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

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

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

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

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_dnlabels.o: dns_dnlabels.c dns.h
rbldnsd.o: rbldnsd.c rbldnsd.h dns.h sstr.h mempool.h
rbldnsd_ip4set.o: rbldnsd_ip4set.c rbldnsd.h dns.h sstr.h
rbldnsd_ip4vset.o: rbldnsd_ip4vset.c rbldnsd.h dns.h sstr.h
rbldnsd_dnset.o: rbldnsd_dnset.c rbldnsd.h dns.h mempool.h sstr.h
rbldnsd_dnvset.o: rbldnsd_dnvset.c rbldnsd.h dns.h mempool.h sstr.h
sstr.o: sstr.c sstr.h
mempool.o: mempool.c mempool.h
