#
# $Id: Makefile,v 1.16 2004/05/19 23:09:11 evertonm Exp $
#

#
# OOP_INCLUDE_DIR points the location of
# Liboop headers in your system
#
# OOP_LIB_DIR points the location of
# Liboop libraries in your system
#
OOP_BASE_DIR    = /usr/local/oop
OOP_INCLUDE_DIR = $(OOP_BASE_DIR)/include
OOP_LIB_DIR     = $(OOP_BASE_DIR)/lib

#
# INSTALL_BASE_DIR indicates where RULI
# is to be installed in your system
#
INSTALL_BASE_DIR    = ../install/ruli
INSTALL_INCLUDE_DIR = $(INSTALL_BASE_DIR)/include
INSTALL_LIB_DIR     = $(INSTALL_BASE_DIR)/lib
INSTALL_BIN_DIR     = $(INSTALL_BASE_DIR)/bin

#SOLARIS_LDFLAGS = -lresolv -lnsl -R$(OOP_LIB_DIR) -R$(INSTALL_LIB_DIR)

CC      = gcc
CFLAGS  = -O2 -pipe -Wall -g -I$(INSTALL_INCLUDE_DIR) -I$(OOP_INCLUDE_DIR) \
          -I../src

LDFLAGS = -L$(INSTALL_LIB_DIR) -L$(OOP_LIB_DIR) -lruli -loop $(SOLARIS_LDFLAGS) \
          -L../src

TARGETS = list resolve hostsolver srvsolver syncsolver addrsolver \
	srvsolver2 addrsolver2 addrsolver3 rand cycle_res cycle_res2

.PHONY: default
default: $(TARGETS)

.PHONY: clean
clean:
	rm -f *~ .*~ *.o $(TARGETS)

.PHONY: build
build: clean default

.PHONY: strip
strip: $(TARGETS)
	strip $(TARGETS)

.PHONY: install
install: $(TARGETS)
	[ -d $(INSTALL_BIN_DIR) ] || mkdir -p $(INSTALL_BIN_DIR) || exit
	cp $(TARGETS) $(INSTALL_BIN_DIR)

resolve: resolve.o trivial_conf_handler.o
	$(CC) $(LDFLAGS) -o $@ $^

hostsolver: hostsolver.o stdin_domains.o trivial_conf_handler.o
	$(CC) $(LDFLAGS) -o $@ $^

srvsolver: srvsolver.o stdin_domains.o stdout_srv_list.o trivial_conf_handler.o
	$(CC) $(LDFLAGS) -o $@ $^

srvsolver2: srvsolver2.o stdout_srv_list.o trivial_conf_handler.o
	$(CC) $(LDFLAGS) -o $@ $^

syncsolver: syncsolver.o stdout_srv_list.o
	$(CC) $(LDFLAGS) -o $@ $^

addrsolver: addrsolver.o trivial_conf_handler.o
	$(CC) $(LDFLAGS) -o $@ $^

addrsolver2: addrsolver2.o trivial_conf_handler.o
	$(CC) $(LDFLAGS) -o $@ $^

addrsolver3: addrsolver3.o trivial_conf_handler.o
	$(CC) $(LDFLAGS) -o $@ $^

cycle_res: cycle_res.o trivial_conf_handler.o
	$(CC) $(LDFLAGS) -o $@ $^

cycle_res2: cycle_res2.o trivial_conf_handler.o
	$(CC) $(LDFLAGS) -o $@ $^


