# Global rules for building dll unit tests     -*-Makefile-*-
#
# Each individual makefile should define the following variables:
# TESTDLL      : the dll to test
# CTESTS       : list of C test programs
# EXTRALIBS    : extra libraries to link in (optional)
# EXTRADEFS    : extra symbol definitions, like -DWINELIB (optional)
#
# plus all variables required by the global Make.rules.in
#

DLLFLAGS     = @DLLFLAGS@
DEFS         = -DWINE_STRICT_PROTOTYPES $(EXTRADEFS)

MODULE       = $(TESTDLL:%.dll=%)_test.exe
TESTRESULTS  = $(CTESTS:.c=.ok)
TESTPROGRAM  = $(MODULE)$(DLLEXT)
RUNTESTFLAGS = -q -P wine -M $(TESTDLL) -T $(TOPOBJDIR) -p $(TESTPROGRAM)

C_SRCS       = $(CTESTS)
ALL_LIBS     = $(IMPORTS:%=-l%) $(EXTRALIBS) $(LDFLAGS) $(LIBS)
EXTRA_OBJS   = testlist.o

CROSSTEST    = $(TESTDLL:%.dll=%)_crosstest.exe
MAKEDEPFLAGS = -xo -xcross.o

@MAKE_RULES@

all: $(TESTPROGRAM)

$(MODULE) $(MODULE).so: $(OBJS) Makefile.in
	$(WINEGCC) $(APPMODE) $(OBJS) -o $@ $(LIBPORT) $(ALL_LIBS)

.PHONY: check test testclean crosstest

# Rules for building test list

testlist.c: Makefile.in $(MAKECTESTS)
	$(MAKECTESTS) -o $@ $(CTESTS)

testlist.o: testlist.c $(TOPSRCDIR)/include/wine/test.h

# Rules for testing

check test:: $(TESTRESULTS)

$(TESTRESULTS): $(MODULE)$(DLLEXT) ../$(TESTDLL)$(DLLEXT)

# Rules for cross-compiling tests

crosstest:: @CROSSTEST@

$(CROSSTEST): $(CROSSOBJS) Makefile.in
	$(CROSSWINEGCC) $(CROSSOBJS) -o $@ $(ALL_LIBS)

# Rules for cleaning

testclean::
	$(RM) $(TESTRESULTS)

clean::
	$(RM) testlist.c $(MODULE) $(TESTRESULTS) $(CROSSTEST)
