TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR    = @srcdir@
VPATH     = @srcdir@
MODULE    = winetest.exe
APPMODE   = -mconsole
IMPORTS   = comctl32 user32 gdi32 wsock32 kernel32

C_SRCS = \
	gui.c \
	main.c \
	send.c \
	util.c

RC_SRCS = \
	winetest.rc

RC_BINSRC = winetest.rc
RC_BINARIES = wine.ico 

@MAKE_PROG_RULES@

# List of test executables (auto-generated by make_makefiles)

TESTBINS = \
	advapi32_test.exe \
	advpack_test.exe \
	cabinet_test.exe \
	comcat_test.exe \
	comctl32_test.exe \
	comdlg32_test.exe \
	crypt32_test.exe \
	d3d8_test.exe \
	d3d9_test.exe \
	ddraw_test.exe \
	dinput_test.exe \
	dnsapi_test.exe \
	dsound_test.exe \
	gdi32_test.exe \
	hlink_test.exe \
	infosoft_test.exe \
	iphlpapi_test.exe \
	itss_test.exe \
	kernel32_test.exe \
	localspl_test.exe \
	lz32_test.exe \
	mapi32_test.exe \
	mlang_test.exe \
	msacm32_test.exe \
	mscms_test.exe \
	mshtml_test.exe \
	msi_test.exe \
	msvcrt_test.exe \
	msvcrtd_test.exe \
	msxml3_test.exe \
	netapi32_test.exe \
	ntdll_test.exe \
	odbccp32_test.exe \
	ole32_test.exe \
	oleaut32_test.exe \
	psapi_test.exe \
	quartz_test.exe \
	riched20_test.exe \
	rpcrt4_test.exe \
	rsabase_test.exe \
	rsaenh_test.exe \
	secur32_test.exe \
	setupapi_test.exe \
	shdocvw_test.exe \
	shell32_test.exe \
	shlwapi_test.exe \
	urlmon_test.exe \
	user32_test.exe \
	usp10_test.exe \
	uxtheme_test.exe \
	version_test.exe \
	wininet_test.exe \
	winmm_test.exe \
	winspool.drv_test.exe \
	wintrust_test.exe \
	ws2_32_test.exe

advapi32_test.exe: $(DLLDIR)/advapi32/tests/advapi32_test.exe$(DLLEXT)
	cp $(DLLDIR)/advapi32/tests/advapi32_test.exe$(DLLEXT) $@ && $(STRIP) $@
advpack_test.exe: $(DLLDIR)/advpack/tests/advpack_test.exe$(DLLEXT)
	cp $(DLLDIR)/advpack/tests/advpack_test.exe$(DLLEXT) $@ && $(STRIP) $@
cabinet_test.exe: $(DLLDIR)/cabinet/tests/cabinet_test.exe$(DLLEXT)
	cp $(DLLDIR)/cabinet/tests/cabinet_test.exe$(DLLEXT) $@ && $(STRIP) $@
comcat_test.exe: $(DLLDIR)/comcat/tests/comcat_test.exe$(DLLEXT)
	cp $(DLLDIR)/comcat/tests/comcat_test.exe$(DLLEXT) $@ && $(STRIP) $@
comctl32_test.exe: $(DLLDIR)/comctl32/tests/comctl32_test.exe$(DLLEXT)
	cp $(DLLDIR)/comctl32/tests/comctl32_test.exe$(DLLEXT) $@ && $(STRIP) $@
comdlg32_test.exe: $(DLLDIR)/comdlg32/tests/comdlg32_test.exe$(DLLEXT)
	cp $(DLLDIR)/comdlg32/tests/comdlg32_test.exe$(DLLEXT) $@ && $(STRIP) $@
crypt32_test.exe: $(DLLDIR)/crypt32/tests/crypt32_test.exe$(DLLEXT)
	cp $(DLLDIR)/crypt32/tests/crypt32_test.exe$(DLLEXT) $@ && $(STRIP) $@
d3d8_test.exe: $(DLLDIR)/d3d8/tests/d3d8_test.exe$(DLLEXT)
	cp $(DLLDIR)/d3d8/tests/d3d8_test.exe$(DLLEXT) $@ && $(STRIP) $@
d3d9_test.exe: $(DLLDIR)/d3d9/tests/d3d9_test.exe$(DLLEXT)
	cp $(DLLDIR)/d3d9/tests/d3d9_test.exe$(DLLEXT) $@ && $(STRIP) $@
ddraw_test.exe: $(DLLDIR)/ddraw/tests/ddraw_test.exe$(DLLEXT)
	cp $(DLLDIR)/ddraw/tests/ddraw_test.exe$(DLLEXT) $@ && $(STRIP) $@
dinput_test.exe: $(DLLDIR)/dinput/tests/dinput_test.exe$(DLLEXT)
	cp $(DLLDIR)/dinput/tests/dinput_test.exe$(DLLEXT) $@ && $(STRIP) $@
dnsapi_test.exe: $(DLLDIR)/dnsapi/tests/dnsapi_test.exe$(DLLEXT)
	cp $(DLLDIR)/dnsapi/tests/dnsapi_test.exe$(DLLEXT) $@ && $(STRIP) $@
dsound_test.exe: $(DLLDIR)/dsound/tests/dsound_test.exe$(DLLEXT)
	cp $(DLLDIR)/dsound/tests/dsound_test.exe$(DLLEXT) $@ && $(STRIP) $@
gdi32_test.exe: $(DLLDIR)/gdi32/tests/gdi32_test.exe$(DLLEXT)
	cp $(DLLDIR)/gdi32/tests/gdi32_test.exe$(DLLEXT) $@ && $(STRIP) $@
hlink_test.exe: $(DLLDIR)/hlink/tests/hlink_test.exe$(DLLEXT)
	cp $(DLLDIR)/hlink/tests/hlink_test.exe$(DLLEXT) $@ && $(STRIP) $@
infosoft_test.exe: $(DLLDIR)/infosoft/tests/infosoft_test.exe$(DLLEXT)
	cp $(DLLDIR)/infosoft/tests/infosoft_test.exe$(DLLEXT) $@ && $(STRIP) $@
iphlpapi_test.exe: $(DLLDIR)/iphlpapi/tests/iphlpapi_test.exe$(DLLEXT)
	cp $(DLLDIR)/iphlpapi/tests/iphlpapi_test.exe$(DLLEXT) $@ && $(STRIP) $@
itss_test.exe: $(DLLDIR)/itss/tests/itss_test.exe$(DLLEXT)
	cp $(DLLDIR)/itss/tests/itss_test.exe$(DLLEXT) $@ && $(STRIP) $@
kernel32_test.exe: $(DLLDIR)/kernel32/tests/kernel32_test.exe$(DLLEXT)
	cp $(DLLDIR)/kernel32/tests/kernel32_test.exe$(DLLEXT) $@ && $(STRIP) $@
localspl_test.exe: $(DLLDIR)/localspl/tests/localspl_test.exe$(DLLEXT)
	cp $(DLLDIR)/localspl/tests/localspl_test.exe$(DLLEXT) $@ && $(STRIP) $@
lz32_test.exe: $(DLLDIR)/lz32/tests/lz32_test.exe$(DLLEXT)
	cp $(DLLDIR)/lz32/tests/lz32_test.exe$(DLLEXT) $@ && $(STRIP) $@
mapi32_test.exe: $(DLLDIR)/mapi32/tests/mapi32_test.exe$(DLLEXT)
	cp $(DLLDIR)/mapi32/tests/mapi32_test.exe$(DLLEXT) $@ && $(STRIP) $@
mlang_test.exe: $(DLLDIR)/mlang/tests/mlang_test.exe$(DLLEXT)
	cp $(DLLDIR)/mlang/tests/mlang_test.exe$(DLLEXT) $@ && $(STRIP) $@
msacm32_test.exe: $(DLLDIR)/msacm32/tests/msacm32_test.exe$(DLLEXT)
	cp $(DLLDIR)/msacm32/tests/msacm32_test.exe$(DLLEXT) $@ && $(STRIP) $@
mscms_test.exe: $(DLLDIR)/mscms/tests/mscms_test.exe$(DLLEXT)
	cp $(DLLDIR)/mscms/tests/mscms_test.exe$(DLLEXT) $@ && $(STRIP) $@
mshtml_test.exe: $(DLLDIR)/mshtml/tests/mshtml_test.exe$(DLLEXT)
	cp $(DLLDIR)/mshtml/tests/mshtml_test.exe$(DLLEXT) $@ && $(STRIP) $@
msi_test.exe: $(DLLDIR)/msi/tests/msi_test.exe$(DLLEXT)
	cp $(DLLDIR)/msi/tests/msi_test.exe$(DLLEXT) $@ && $(STRIP) $@
msvcrt_test.exe: $(DLLDIR)/msvcrt/tests/msvcrt_test.exe$(DLLEXT)
	cp $(DLLDIR)/msvcrt/tests/msvcrt_test.exe$(DLLEXT) $@ && $(STRIP) $@
msvcrtd_test.exe: $(DLLDIR)/msvcrtd/tests/msvcrtd_test.exe$(DLLEXT)
	cp $(DLLDIR)/msvcrtd/tests/msvcrtd_test.exe$(DLLEXT) $@ && $(STRIP) $@
msxml3_test.exe: $(DLLDIR)/msxml3/tests/msxml3_test.exe$(DLLEXT)
	cp $(DLLDIR)/msxml3/tests/msxml3_test.exe$(DLLEXT) $@ && $(STRIP) $@
netapi32_test.exe: $(DLLDIR)/netapi32/tests/netapi32_test.exe$(DLLEXT)
	cp $(DLLDIR)/netapi32/tests/netapi32_test.exe$(DLLEXT) $@ && $(STRIP) $@
ntdll_test.exe: $(DLLDIR)/ntdll/tests/ntdll_test.exe$(DLLEXT)
	cp $(DLLDIR)/ntdll/tests/ntdll_test.exe$(DLLEXT) $@ && $(STRIP) $@
odbccp32_test.exe: $(DLLDIR)/odbccp32/tests/odbccp32_test.exe$(DLLEXT)
	cp $(DLLDIR)/odbccp32/tests/odbccp32_test.exe$(DLLEXT) $@ && $(STRIP) $@
ole32_test.exe: $(DLLDIR)/ole32/tests/ole32_test.exe$(DLLEXT)
	cp $(DLLDIR)/ole32/tests/ole32_test.exe$(DLLEXT) $@ && $(STRIP) $@
oleaut32_test.exe: $(DLLDIR)/oleaut32/tests/oleaut32_test.exe$(DLLEXT)
	cp $(DLLDIR)/oleaut32/tests/oleaut32_test.exe$(DLLEXT) $@ && $(STRIP) $@
psapi_test.exe: $(DLLDIR)/psapi/tests/psapi_test.exe$(DLLEXT)
	cp $(DLLDIR)/psapi/tests/psapi_test.exe$(DLLEXT) $@ && $(STRIP) $@
quartz_test.exe: $(DLLDIR)/quartz/tests/quartz_test.exe$(DLLEXT)
	cp $(DLLDIR)/quartz/tests/quartz_test.exe$(DLLEXT) $@ && $(STRIP) $@
riched20_test.exe: $(DLLDIR)/riched20/tests/riched20_test.exe$(DLLEXT)
	cp $(DLLDIR)/riched20/tests/riched20_test.exe$(DLLEXT) $@ && $(STRIP) $@
rpcrt4_test.exe: $(DLLDIR)/rpcrt4/tests/rpcrt4_test.exe$(DLLEXT)
	cp $(DLLDIR)/rpcrt4/tests/rpcrt4_test.exe$(DLLEXT) $@ && $(STRIP) $@
rsabase_test.exe: $(DLLDIR)/rsabase/tests/rsabase_test.exe$(DLLEXT)
	cp $(DLLDIR)/rsabase/tests/rsabase_test.exe$(DLLEXT) $@ && $(STRIP) $@
rsaenh_test.exe: $(DLLDIR)/rsaenh/tests/rsaenh_test.exe$(DLLEXT)
	cp $(DLLDIR)/rsaenh/tests/rsaenh_test.exe$(DLLEXT) $@ && $(STRIP) $@
secur32_test.exe: $(DLLDIR)/secur32/tests/secur32_test.exe$(DLLEXT)
	cp $(DLLDIR)/secur32/tests/secur32_test.exe$(DLLEXT) $@ && $(STRIP) $@
setupapi_test.exe: $(DLLDIR)/setupapi/tests/setupapi_test.exe$(DLLEXT)
	cp $(DLLDIR)/setupapi/tests/setupapi_test.exe$(DLLEXT) $@ && $(STRIP) $@
shdocvw_test.exe: $(DLLDIR)/shdocvw/tests/shdocvw_test.exe$(DLLEXT)
	cp $(DLLDIR)/shdocvw/tests/shdocvw_test.exe$(DLLEXT) $@ && $(STRIP) $@
shell32_test.exe: $(DLLDIR)/shell32/tests/shell32_test.exe$(DLLEXT)
	cp $(DLLDIR)/shell32/tests/shell32_test.exe$(DLLEXT) $@ && $(STRIP) $@
shlwapi_test.exe: $(DLLDIR)/shlwapi/tests/shlwapi_test.exe$(DLLEXT)
	cp $(DLLDIR)/shlwapi/tests/shlwapi_test.exe$(DLLEXT) $@ && $(STRIP) $@
urlmon_test.exe: $(DLLDIR)/urlmon/tests/urlmon_test.exe$(DLLEXT)
	cp $(DLLDIR)/urlmon/tests/urlmon_test.exe$(DLLEXT) $@ && $(STRIP) $@
user32_test.exe: $(DLLDIR)/user32/tests/user32_test.exe$(DLLEXT)
	cp $(DLLDIR)/user32/tests/user32_test.exe$(DLLEXT) $@ && $(STRIP) $@
usp10_test.exe: $(DLLDIR)/usp10/tests/usp10_test.exe$(DLLEXT)
	cp $(DLLDIR)/usp10/tests/usp10_test.exe$(DLLEXT) $@ && $(STRIP) $@
uxtheme_test.exe: $(DLLDIR)/uxtheme/tests/uxtheme_test.exe$(DLLEXT)
	cp $(DLLDIR)/uxtheme/tests/uxtheme_test.exe$(DLLEXT) $@ && $(STRIP) $@
version_test.exe: $(DLLDIR)/version/tests/version_test.exe$(DLLEXT)
	cp $(DLLDIR)/version/tests/version_test.exe$(DLLEXT) $@ && $(STRIP) $@
wininet_test.exe: $(DLLDIR)/wininet/tests/wininet_test.exe$(DLLEXT)
	cp $(DLLDIR)/wininet/tests/wininet_test.exe$(DLLEXT) $@ && $(STRIP) $@
winmm_test.exe: $(DLLDIR)/winmm/tests/winmm_test.exe$(DLLEXT)
	cp $(DLLDIR)/winmm/tests/winmm_test.exe$(DLLEXT) $@ && $(STRIP) $@
winspool.drv_test.exe: $(DLLDIR)/winspool.drv/tests/winspool.drv_test.exe$(DLLEXT)
	cp $(DLLDIR)/winspool.drv/tests/winspool.drv_test.exe$(DLLEXT) $@ && $(STRIP) $@
wintrust_test.exe: $(DLLDIR)/wintrust/tests/wintrust_test.exe$(DLLEXT)
	cp $(DLLDIR)/wintrust/tests/wintrust_test.exe$(DLLEXT) $@ && $(STRIP) $@
ws2_32_test.exe: $(DLLDIR)/ws2_32/tests/ws2_32_test.exe$(DLLEXT)
	cp $(DLLDIR)/ws2_32/tests/ws2_32_test.exe$(DLLEXT) $@ && $(STRIP) $@

# Special rules

winetest.res: $(TESTBINS)

clean::
	$(RM) tests.rc dist.res winetest-dist winetest-dist.exe $(TESTBINS)

# Rules for building distributable executable

.PHONY: dist

dist: winetest-dist.exe$(DLLEXT) winetest-dist$(EXEEXT)

winetest-dist.exe.so: $(OBJS) dist.res Makefile.in
	$(WINEGCC) -B$(TOOLSDIR)/tools/winebuild $(APPMODE) $(OBJS) dist.res -o $@ -L$(DLLDIR) $(DELAYIMPORTS:%=-Wb,-d%) $(ALL_LIBS)

winetest-dist: $(WINEWRAPPER)
	$(RM) $@ && $(LN_S) $(WINEWRAPPER) $@

winetest-dist.exe: $(OBJS) dist.res.o Makefile.in
	$(CC) $(APPMODE) $(OBJS) dist.res.o -o $@ $(DELAYIMPORTS:%=-l%) $(ALL_LIBS)

tests.rc: maketest Makefile.in
	$(SRCDIR)/maketest $(TOPSRCDIR) > $@ || ($(RM) $@ && exit 1)

dist.res: winetest.rc tests.rc build.id build.nfo tests.url $(TESTBINS) $(RC_BINARIES)

@DEPENDENCIES@  # everything below this line is overwritten by make depend