Module: wine Branch: master Commit: 70251170268826185ce52c8fa2522640cab0522e URL: http://source.winehq.org/git/wine.git/?a=commit;h=70251170268826185ce52c8fa2...
Author: Alexandre Julliard julliard@winehq.org Date: Wed Oct 9 12:16:45 2013 +0200
makefiles: Move the testing rules to the global Make.rules file.
---
Make.rules.in | 33 ++++++++++++++++++++++++++++++++- Maketest.rules.in | 51 +++++---------------------------------------------- 2 files changed, 37 insertions(+), 47 deletions(-)
diff --git a/Make.rules.in b/Make.rules.in index 7cd84e6..72d7e00 100644 --- a/Make.rules.in +++ b/Make.rules.in @@ -18,16 +18,21 @@ DEFS = -D__WINESRC__ $(EXTRADEFS) ALLCFLAGS = $(INCLUDES) $(DEFS) $(DLLFLAGS) $(EXTRACFLAGS) $(CPPFLAGS) $(CFLAGS) $(MODCFLAGS) IDLFLAGS = $(INCLUDES) $(DEFS) $(EXTRAIDLFLAGS) RCFLAGS = --nostdinc $(PORCFLAGS) $(TARGETFLAGS) $(INCLUDES) $(DEFS) $(EXTRARCFLAGS) +RUNTESTFLAGS = -q -P wine -T $(top_builddir) $(TESTDLL:%=-M %) $(TESTMODULE:%=-p %@DLLEXT@)
IDL_GEN_C_SRCS = $(IDL_C_SRCS:.idl=_c.c) $(IDL_I_SRCS:.idl=_i.c) \ $(IDL_P_SRCS:.idl=_p.c) $(IDL_S_SRCS:.idl=_s.c) IDL_GEN_HEADERS = $(IDL_H_SRCS:.idl=.h) $(IDL_C_SRCS:.idl=.h) $(IDL_I_SRCS:.idl=.h) \ $(IDL_P_SRCS:.idl=.h) $(IDL_S_SRCS:.idl=.h)
+TESTMODULE_STRIPPED = $(TESTMODULE:%.exe=%-stripped.exe@DLLEXT@) +CROSSTESTMODULE = $(TESTMODULE:%_test.exe=%_crosstest.exe) + CLEAN_FILES = *.o *.a *.so *.mo *.res *.fake *.ok *.tab.[ch] *.yy.c CLEAN_TARGETS = $(MODULE) $(IMPORTLIB:%=lib%.@IMPLIBEXT@) $(IDL_GEN_C_SRCS) $(IDL_GEN_HEADERS) \ $(IDL_TLB_SRCS:.idl=.tlb) $(IDL_P_SRCS:.idl=_p.c dlldata.c) \ - $(PO_SRCS:.rc=.res rsrc.pot) $(MC_SRCS:.mc=.res msg.pot) $(XTEMPLATE_SRCS:.x=.h) + $(PO_SRCS:.rc=.res rsrc.pot) $(MC_SRCS:.mc=.res msg.pot) $(XTEMPLATE_SRCS:.x=.h) \ + $(TESTMODULE:%=% testlist.c) $(CROSSTESTMODULE)
OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o) $(LEX_SRCS:.l=.yy.o) $(IDL_GEN_C_SRCS:.c=.o) $(OBJC_SRCS:.m=.o) \ $(IDL_R_SRCS:.idl=_r.res) $(IDL_TLB_RES) $(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.res) $(EXTRA_OBJS) @@ -153,6 +158,32 @@ depend: dummy
.PHONY: depend
+# Rules for tests + +$(TESTMODULE) $(TESTMODULE:%=%.so): $(OBJS) Makefile.in + $(WINEGCC) $(APPMODE) $(OBJS) -o $@ $(IMPORTS:%=-l%) $(LDFLAGS) $(LIBS) + +$(TESTMODULE_STRIPPED): $(OBJS) Makefile.in + $(WINEGCC) -s -Wb,-F,$(TESTMODULE) $(APPMODE) $(OBJS) -o $@ $(IMPORTS:%=-l%) $(LDFLAGS) $(LIBS) + +$(CROSSTESTMODULE): $(CROSSOBJS) Makefile.in + $(CROSSWINEGCC) $(CROSSOBJS) -o $@ $(IMPORTS:%=-l%) $(LDFLAGS) $(LIBS) + +$(WINETEST_RES): $(TESTMODULE_STRIPPED) + echo "$(TESTMODULE) TESTRES "$(TESTMODULE_STRIPPED)"" | $(WRC) $(RCFLAGS) -o $@ + +testlist.c: Makefile.in $(MAKECTESTS) + $(MAKECTESTS) -o $@ $(C_SRCS) + +testlist.o testlist.cross.o: testlist.c $(top_srcdir)/include/wine/test.h + +$(C_SRCS:.c=.ok): $(TESTMODULE:%=%@DLLEXT@) $(TESTDLL:%=../%@DLLEXT@) + +testclean:: + $(RM) *.ok + +.PHONY: check test testclean + # Rules for man pages
MANPAGES = $(MANPAGE) $(EXTRA_MANPAGES) diff --git a/Maketest.rules.in b/Maketest.rules.in index f77c7c7..f6d80e5 100644 --- a/Maketest.rules.in +++ b/Maketest.rules.in @@ -10,57 +10,16 @@
DLLFLAGS = @DLLFLAGS@ TESTMODULE = $(TESTDLL:%.dll=%)_test.exe -TESTRESULTS = $(C_SRCS:.c=.ok) -TESTPROGRAM = $(TESTMODULE)$(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%) $(LDFLAGS) $(LIBS) EXTRA_OBJS = testlist.o - -CROSSTEST = $(TESTDLL:%.dll=%)_crosstest.exe MAKEDEPFLAGS = -xo -xcross.o
-@MAKE_RULES@ - -all: $(TESTPROGRAM) $(WINETEST_RES) - -$(TESTMODULE) $(TESTMODULE).so: $(OBJS) Makefile.in - $(WINEGCC) $(APPMODE) $(OBJS) -o $@ $(ALL_LIBS) - -$(WINETEST_EXE): $(OBJS) Makefile.in - $(WINEGCC) -s -Wb,-F,$(TESTMODULE) $(APPMODE) $(OBJS) -o $@ $(ALL_LIBS) - -$(WINETEST_RES): $(WINETEST_EXE) - echo "$(TESTMODULE) TESTRES "$(WINETEST_EXE)"" | $(WRC) $(RCFLAGS) -o $@ - -.PHONY: check test testclean crosstest - -# Rules for building test list +all: $(TESTMODULE)$(DLLEXT) $(WINETEST_RES)
-testlist.c: Makefile.in $(MAKECTESTS) - $(MAKECTESTS) -o $@ $(C_SRCS) +check test: $(C_SRCS:.c=.ok)
-testlist.o testlist.cross.o: testlist.c $(top_srcdir)/include/wine/test.h +crosstest: @CROSSTEST_DISABLE@ $(TESTDLL:%.dll=%)_crosstest.exe
-# Rules for testing +.PHONY: check test crosstest
-check test: $(TESTRESULTS) - -$(TESTRESULTS): $(TESTMODULE)$(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 $(TESTMODULE) $(TESTRESULTS) $(CROSSTEST) +@MAKE_RULES@