CC=@CC@
@SET_MAKE@

top_builddir=../../..
top_srcdir=../../..
module_srcdir=..
srcdir=@srcdir@
VPATH=@srcdir@

include $(top_srcdir)/Make.rules

# Necessary redefinitions
INCLUDES=-I. -I.. -I$(module_srcdir)/include -I../../.. -I../../../include @INCLUDES@
TEST_CPPFLAGS=$(ADDL_CPPFLAGS) -DHAVE_CONFIG_H $(DEFAULT_PATHS) $(PLATFORM) $(INCLUDES)
TEST_LDFLAGS=-L$(top_srcdir)/lib @LIBDIRS@

EXEEXT=@EXEEXT@

TEST_API_DEPS=\
  $(top_srcdir)/lib/prbase.a \
  $(top_srcdir)/src/pool.o \
  $(top_srcdir)/src/privs.o \
  $(top_srcdir)/src/str.o \
  $(top_srcdir)/src/sets.o \
  $(top_srcdir)/src/table.o \
  $(top_srcdir)/src/netacl.o \
  $(top_srcdir)/src/class.o \
  $(top_srcdir)/src/event.o \
  $(top_srcdir)/src/timers.o \
  $(top_srcdir)/src/stash.o \
  $(top_srcdir)/src/modules.o \
  $(top_srcdir)/src/cmd.o \
  $(top_srcdir)/src/configdb.o \
  $(top_srcdir)/src/parser.o \
  $(top_srcdir)/src/regexp.o \
  $(top_srcdir)/src/fsio.o \
  $(top_srcdir)/src/netio.o \
  $(top_srcdir)/src/inet.o \
  $(top_srcdir)/src/netaddr.o \
  $(top_srcdir)/src/response.o \
  $(top_srcdir)/src/auth.o \
  $(top_srcdir)/src/env.o \
  $(top_srcdir)/src/trace.o \
  $(top_srcdir)/src/support.o \
  $(top_srcdir)/src/json.o \
  $(top_srcdir)/src/redis.o \
  $(top_srcdir)/src/error.o \
  $(module_srcdir)/lib/proxy/random.o \
  $(module_srcdir)/lib/proxy/db.o \
  $(module_srcdir)/lib/proxy/dns.o \
  $(module_srcdir)/lib/proxy/uri.o \
  $(module_srcdir)/lib/proxy/conn.o \
  $(module_srcdir)/lib/proxy/netio.o \
  $(module_srcdir)/lib/proxy/inet.o \
  $(module_srcdir)/lib/proxy/str.o \
  $(module_srcdir)/lib/proxy/tls.o \
  $(module_srcdir)/lib/proxy/tls/db.o \
  $(module_srcdir)/lib/proxy/tls/redis.o \
  $(module_srcdir)/lib/proxy/session.o \
  $(module_srcdir)/lib/proxy/reverse.o \
  $(module_srcdir)/lib/proxy/reverse/db.o \
  $(module_srcdir)/lib/proxy/reverse/redis.o \
  $(module_srcdir)/lib/proxy/forward.o \
  $(module_srcdir)/lib/proxy/ftp/conn.o \
  $(module_srcdir)/lib/proxy/ftp/ctrl.o \
  $(module_srcdir)/lib/proxy/ftp/data.o \
  $(module_srcdir)/lib/proxy/ftp/dirlist.o \
  $(module_srcdir)/lib/proxy/ftp/facts.o \
  $(module_srcdir)/lib/proxy/ftp/msg.o \
  $(module_srcdir)/lib/proxy/ftp/sess.o \
  $(module_srcdir)/lib/proxy/ftp/xfer.o

TEST_API_LIBS="-lcheck -lm @MODULE_LIBS@"

TEST_API_OBJS=\
  api/random.o \
  api/db.o \
  api/dns.o \
  api/uri.o \
  api/conn.o \
  api/netio.o \
  api/inet.o \
  api/str.o \
  api/tls.o \
  api/reverse.o \
  api/forward.o \
  api/session.o \
  api/ftp/msg.o \
  api/ftp/conn.o \
  api/ftp/ctrl.o \
  api/ftp/data.o \
  api/ftp/dirlist.o \
  api/ftp/facts.o \
  api/ftp/sess.o \
  api/ftp/xfer.o \
  api/stubs.o \
  api/tests.o

dummy:

api/.c.o:
	$(CC) $(CPPFLAGS) $(TEST_CPPFLAGS) $(CFLAGS) -c $<

api-tests$(EXEEXT): $(TEST_API_OBJS) $(TEST_API_DEPS)
	$(LIBTOOL) --mode=link --tag=CC $(CC) $(LDFLAGS) $(TEST_LDFLAGS) -o $@ $(TEST_API_DEPS) $(TEST_API_OBJS) $(TEST_API_LIBS) $(LIBS)
	./$@

clean:
	$(LIBTOOL) --mode=clean $(RM) *.o api/*.o api/*/*.o api-tests$(EXEEXT) api-tests.log
