
include ../Makefile.config
include ../Makefile.rules

LIBRARIES = libcatalog.a
PROGRAMS = catalog_server catalog_query catalog_update
SOURCES = catalog_query.c catalog_update.c list.c hash_table.c hash_cache.c domain_name_cache.c domain_name.c link.c datagram.c debug.c rotating_file.c stringtools.c
EXTRA_HEADERS = macros.h

OBJECTS = ${SOURCES:%.c=%.o}
HEADERS = ${SOURCES:%.c=%.h} ${EXTRA_HEADERS}

all: ${LIBRARIES} $(PROGRAMS)

catalog_server: catalog_server.o libcatalog.a
	${LD} $^ ${LDFLAGS} -o $@

catalog_query: catalog_query_tool.o libcatalog.a
	${LD} $^ ${LDFLAGS} -o $@         

catalog_update: catalog_update_tool.o libcatalog.a
	${LD} $^ ${LDFLAGS} -o $@          

libcatalog.a: ${OBJECTS}
	${AR} ${ARFLAGS} rv $@ $^

clean:
	rm -f core *~ *.o *.so ${PROGRAMS} ${LIBRARIES}

install: all
	mkdir -p ${INSTALL_DIR}
	mkdir -p ${INSTALL_DIR}/bin
	mkdir -p ${INSTALL_DIR}/lib
	mkdir -p ${INSTALL_DIR}/include
	mkdir -p ${INSTALL_DIR}/etc
	for file in ${PROGRAMS} ; do cp $$file ${INSTALL_DIR}/bin ; done
	for file in ${LIBRARIES} ; do cp $$file ${INSTALL_DIR}/lib ; done
	for file in ${HEADERS} ; do cp $$file ${INSTALL_DIR}/include ; done
