Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

70 lines (47 sloc) 2.023 kb
# Global rules for building dll unit tests -*-Makefile-*-
#
# Each individual makefile should define the following variables:
# TESTDLL : the dll to test
# C_SRCS : 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 -DWINE_NO_NAMELESS_EXTENSION -DWIDL_C_INLINE_WRAPPERS $(EXTRADEFS)
MODULE = $(TESTDLL:%.dll=%)_test.exe
TESTRESULTS = $(C_SRCS:.c=.ok)
TESTPROGRAM = $(MODULE)$(DLLEXT)
WINETEST_EXE = $(TESTDLL:%.dll=%)_test-stripped.exe$(DLLEXT)
WINETEST_RES = $(top_builddir)/programs/winetest/$(TESTDLL:%.dll=%)_test.res
RUNTESTFLAGS = -q -P wine -M $(TESTDLL) -T $(top_builddir) -p $(TESTPROGRAM)
ALL_LIBS = $(IMPORTS:%=-l%) $(EXTRALIBS) $(LDFLAGS) $(LIBS)
EXTRA_OBJS = testlist.o
CROSSTEST = $(TESTDLL:%.dll=%)_crosstest.exe
MAKEDEPFLAGS = -xo -xcross.o
@MAKE_RULES@
all: $(TESTPROGRAM) $(WINETEST_RES)
$(MODULE) $(MODULE).so: $(OBJS) Makefile.in
$(WINEGCC) $(APPMODE) $(OBJS) -o $@ $(LIBPORT) $(ALL_LIBS)
$(WINETEST_EXE): $(OBJS) Makefile.in
$(WINEGCC) -s -Wb,-F,$(MODULE) $(APPMODE) $(OBJS) -o $@ $(LIBPORT) $(ALL_LIBS)
$(WINETEST_RES): $(WINETEST_EXE)
echo "$(MODULE) TESTRES \"$(WINETEST_EXE)\"" | $(LDPATH) $(WRC) $(RCFLAGS) -o $@
.PHONY: check test testclean crosstest
# Rules for building test list
testlist.c: Makefile.in $(MAKECTESTS)
$(MAKECTESTS) -o $@ $(C_SRCS)
testlist.o testlist.cross.o: testlist.c $(top_srcdir)/include/wine/test.h
# Rules for testing
check test: $(TESTRESULTS)
$(TESTRESULTS): $(MODULE)$(DLLEXT) ../$(TESTDLL)$(DLLEXT)
# Rules for cross-compiling tests
crosstest: @CROSSTEST_DISABLE@ $(CROSSTEST)
$(CROSSTEST): $(CROSSOBJS) Makefile.in
$(CROSSWINEGCC) $(CROSSOBJS) -o $@ $(ALL_LIBS)
# Rules for cleaning
testclean::
$(RM) $(TESTRESULTS)
clean::
$(RM) testlist.c $(MODULE) $(TESTRESULTS) $(CROSSTEST)
Jump to Line
Something went wrong with that request. Please try again.