
#
# $Id: Makefile,v 1.14 2004/06/21 00:28:23 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
#
# Debian packaging likes this: OOP_BASE_DIR = /usr
#
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
#
# Debian packaging likes this: INSTALL_BASE_DIR = $(DESTDIR)/usr
#
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
INSTALL_MAN_DIR     = $(INSTALL_BASE_DIR)/share/man

PLATFORM=$(shell uname)

ifeq ($(PLATFORM),SunOS)
SOLARIS_LIBS = -lresolv -lnsl -lsocket
endif

CC      = gcc
CFLAGS  = -O2 -pipe -Wall -g -I../src -I$(OOP_INCLUDE_DIR)
LDFLAGS = -L../src -L$(OOP_LIB_DIR) $(SOLARIS_LDFLAGS)
LIBS = -lruli -loop $(SOLARIS_LIBS)

TARGETS = srvsearch sync_srvsearch smtpsearch sync_smtpsearch ruli-getaddrinfo
SHARED_OBJS = stdout_srv_list.o parse_options.o

.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)
	install -d $(INSTALL_BIN_DIR) $(INSTALL_MAN_DIR)/man1
	install -m 755 $(TARGETS) $(INSTALL_BIN_DIR)
	install -m 644 ../doc/man/*.1 $(INSTALL_MAN_DIR)/man1
	cd $(INSTALL_MAN_DIR)/man1 && ln -s srvsearch.1 smtpsearch.1
	cd $(INSTALL_MAN_DIR)/man1 && ln -s srvsearch.1 sync_srvsearch.1
	cd $(INSTALL_MAN_DIR)/man1 && ln -s srvsearch.1 sync_smtpsearch.1
	cd $(INSTALL_MAN_DIR)/man1 && ln -s srvsearch.1 ruli-getaddrinfo.1

srvsearch: srvsearch.o $(SHARED_OBJS)
	$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)

sync_srvsearch: sync_srvsearch.o $(SHARED_OBJS)
	$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)

smtpsearch: smtpsearch.o $(SHARED_OBJS)
	$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)

sync_smtpsearch: sync_smtpsearch.o $(SHARED_OBJS)
	$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)

ruli-getaddrinfo: ruli-getaddrinfo.o $(SHARED_OBJS)
	$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)

