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/event.o \
  $(top_srcdir)/src/timers.o \
  $(top_srcdir)/src/stash.o \
  $(top_srcdir)/src/modules.o \
  $(top_srcdir)/src/configdb.o \
  $(top_srcdir)/src/parser.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/error.o \
  $(module_srcdir)/lib/prometheus/db.o \
  $(module_srcdir)/lib/prometheus/http.o \
  $(module_srcdir)/lib/prometheus/metric.o \
  $(module_srcdir)/lib/prometheus/metric/db.o \
  $(module_srcdir)/lib/prometheus/registry.o \
  $(module_srcdir)/lib/prometheus/text.o

TEST_API_LIBS=-lcheck -lm @MODULE_LIBS@

TEST_API_OBJS=\
  api/db.o \
  api/metric.o \
  api/metric/db.o \
  api/text.o \
  api/registry.o \
  api/http.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
