BINS:=cdbdump cdbget cdbmake cdbstats cdbtest
LIBS:=libfreecdb.a libfreecdbmake.a
MAN1:=cdbget.1 cdbstats.1 cdbtest.1 cdbdump.1 cdbmake.1
MAN3:=cdb_hash.3 cdb_seek.3
MANS:=$(MAN1) $(MAN3)

SOURCES:=cdb_hash.c cdbdump.c cdbmake_add.c cdbstats.c cdb_seek.c \
	cdbget.c cdbmake_hash.c cdbtest.c cdb_unpack.c \
	cdbmake.c cdbmake_pack.c

FILES:=$(BINS) $(LIBS) $(MANS)

DESTDIR:=
MANDIR:=$(DESTDIR)/usr/share/man
MAN1DIR:=$(MANDIR)/man1
MAN3DIR:=$(MANDIR)/man3
LIBDIR:=$(DESTDIR)/usr/lib
BINDIR:=$(DESTDIR)/usr/bin
INCDIR:=$(DESTDIR)/usr/include

CFLAGS:=-Wall -O2

all: $(FILES)

clean:
	rm -f $(FILES) *.d *.o

install-dirs:
	install -d -m0755 $(MAN1DIR) $(MAN3DIR) $(LIBDIR) $(BINDIR) \
		$(INCDIR)

install:
	install -m0755 $(BINS) $(BINDIR)
	install -m0644 $(MAN1) $(MAN1DIR)
	install -m0644 $(MAN3) $(MAN3DIR)
	install -m0644 $(LIBS) $(LIBDIR)
	install -m0644 freecdb.h freecdbmake.h $(INCDIR)

cdbdump: cdbdump.o cdb_unpack.o

cdbget: cdbget.o cdb_seek.o cdb_hash.o cdb_unpack.o

cdbmake: cdbmake.o cdbmake_add.o cdbmake_hash.o cdbmake_pack.o

cdbstats: cdbstats.o cdb_unpack.o

cdbtest: cdbtest.o cdb_unpack.o cdb_seek.o cdb_hash.o

libfreecdb.a: libfreecdb.a(cdb_hash.o cdb_unpack.o cdb_seek.o)
	ranlib libfreecdb.a

libfreecdbmake.a: libfreecdbmake.a(cdbmake_pack.o cdbmake_hash.o \
	cdbmake_add.o)
	ranlib libfreecdbmake.a

%.1: %.pod
	pod2man --section=1 --center=' ' --release=' ' $^ >$@.tmp
	mv $@.tmp $@

%.3: %.pod
	pod2man --section=3 --center=' ' --release=' ' $^ >$@.tmp
	mv $@.tmp $@

include $(SOURCES:.c=.d)

%.d: %.c
	@echo "Dependencies for $<"
	@set -e; $(CC) -MM $(CPPFLAGS) $< \
		| sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \
		[ -s $@ ] || rm -f $@
