1 thisdir = class/System.Web
3 include ../../build/rules.make
5 LIBRARY = System.Web.dll
7 ifneq (1, $(FRAMEWORK_VERSION_MAJOR))
9 LIBRARY_USE_INTERMEDIATE_FILE = yes
11 # Because System.Web.dll and System.Web.Services.dll have a cyclic dependency, we need a two-pass build.
12 # 1st pass - build System.Web.dll without System.Web.Services.dll reference
13 # 2nd pass - build System.Web.dll with System.Web.Services.dll reference
15 WEBSERVICES_DEP := System.Web.Services.dll
16 WEBSERVICES_DEP_FILE := $(wildcard ../lib/$(PROFILE)/$(WEBSERVICES_DEP))
17 MONOWEB_DEP := Mono.Web.dll
18 MONOWEB_DEP_FILE := $(wildcard ../lib/$(PROFILE)/$(MONOWEB_DEP))
19 ifndef NO_SYSTEMCORE_DEP
20 SYSTEMCORE_DEP := System.Core.dll
21 SYSTEMCORE_DEP_FILE := $(wildcard ../lib/$(PROFILE)/$(SYSTEMCORE_DEP))
23 CYCLIC_DEPS := $(WEBSERVICES_DEP) $(MONOWEB_DEP)
24 CYCLIC_DEP_FILES := $(WEBSERVICES_DEP_FILE) $(MONOWEB_DEP_FILE)
28 resources/WebUIValidation.js
31 resources/folder.gif \
33 resources/computer.gif \
34 resources/arrow_minus.gif \
35 resources/arrow_noexpand.gif \
36 resources/arrow_plus.gif \
37 resources/arrow_up.gif \
38 resources/arrow_down.gif \
39 resources/box_full.gif \
40 resources/box_empty.gif \
41 resources/box_minus.gif \
42 resources/box_noexpand.gif \
43 resources/box_plus.gif \
44 resources/contact.gif \
45 resources/dot_empty.gif \
46 resources/dot_full.gif \
49 resources/star_empty.gif \
50 resources/star_full.gif \
51 resources/warning.gif \
52 resources/TreeView_noexpand.gif \
53 resources/TreeView_dash.gif \
54 resources/TreeView_dashminus.gif \
55 resources/TreeView_dashplus.gif \
56 resources/TreeView_i.gif \
57 resources/TreeView_l.gif \
58 resources/TreeView_lminus.gif \
59 resources/TreeView_lplus.gif \
60 resources/TreeView_minus.gif \
61 resources/TreeView_plus.gif \
62 resources/TreeView_r.gif \
63 resources/TreeView_rminus.gif \
64 resources/TreeView_rplus.gif \
65 resources/TreeView_t.gif \
66 resources/TreeView_tminus.gif \
67 resources/TreeView_tplus.gif \
68 resources/transparent.gif \
69 resources/webform.js \
70 resources/WebUIValidation_2.0.js \
71 System.Web.UI.WebControls/GridView.js \
72 System.Web.UI.WebControls/DetailsView.js \
73 System.Web.UI.WebControls/TreeView.js \
74 System.Web.UI.WebControls/Menu.js
76 OTHER_RES = $(RESOURCE_FILES_1)
77 TEST_RESOURCE_FILES = \
78 Test/mainsoft/NunitWeb/NunitWeb/Resources/Global.asax \
79 Test/mainsoft/NunitWeb/NunitWeb/Resources/My.ashx \
80 Test/mainsoft/NunitWeb/NunitWeb/Resources/My.master \
81 Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPage.aspx \
82 Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPage.aspx.cs \
83 Test/mainsoft/NunitWeb/NunitWeb/Resources/MyPageWithMaster.aspx \
84 Test/mainsoft/NunitWeb/NunitWeb/Resources/Web.mono.config \
85 Test/mainsoft/NunitWeb/NunitWeb/Resources/Web.mono.config.1.1 \
86 Test/mainsoft/NunitWeb/NunitWeb/Resources/sub_map_01.sitemap \
87 Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_01.sitemap \
88 Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_02.sitemap \
89 Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_03.sitemap \
90 Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_04.sitemap \
91 Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_05.sitemap \
92 Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_06.sitemap \
93 Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_07.sitemap \
94 Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_08.sitemap \
95 Test/mainsoft/NunitWeb/NunitWeb/Resources/test_map_09.sitemap \
96 Test/mainsoft/NunitWebResources/App_GlobalResources/Common.resx \
97 Test/mainsoft/NunitWebResources/App_GlobalResources/Common.fr-FR.resx \
98 Test/mainsoft/NunitWebResources/App_GlobalResources/Resource1.resx \
99 Test/mainsoft/NunitWebResources/App_Code/EnumConverterControl.cs \
100 Test/mainsoft/NunitWebResources/menuclass.aspx \
101 Test/mainsoft/NunitWebResources/FormView.aspx \
102 Test/mainsoft/NunitWebResources/PostBackMenuTest.aspx \
103 Test/mainsoft/NunitWebResources/PageWithStyleSheet.aspx \
104 Test/mainsoft/NunitWebResources/PageWithTheme.aspx \
105 Test/mainsoft/NunitWebResources/ResolveUrl.ascx \
106 Test/mainsoft/NunitWebResources/ResolveUrl.aspx \
107 Test/mainsoft/NunitWebResources/RunTimeSetTheme.aspx \
108 Test/mainsoft/NunitWebResources/ReadOnlyPropertyBind.aspx \
109 Test/mainsoft/NunitWebResources/ReadOnlyPropertyControl.ascx \
110 Test/mainsoft/NunitWebResources/Theme1.skin \
111 Test/mainsoft/NunitWebResources/Theme2.skin \
112 Test/mainsoft/NunitWebResources/UrlProperty.aspx \
113 Test/mainsoft/NunitWebResources/UrlProperty.ascx \
114 Test/mainsoft/NunitWebResources/UrlProperty.ascx.cs \
115 Test/mainsoft/NunitWebResources/Web.sitemap \
116 Test/mainsoft/NunitWebResources/WizardTest.skin \
117 Test/mainsoft/NunitWebResources/FooterTemplateTest.aspx \
118 Test/mainsoft/NunitWebResources/DataGrid.aspx \
119 Test/mainsoft/NunitWebResources/DetailsViewTemplates.aspx \
120 Test/mainsoft/NunitWebResources/DetailsViewDataActions.aspx \
121 Test/mainsoft/NunitWebResources/DetailsViewProperties1.aspx \
122 Test/mainsoft/NunitWebResources/Bluehills.jpg \
123 Test/mainsoft/NunitWebResources/FormViewTest1.aspx \
124 Test/mainsoft/NunitWebResources/FormViewInsertEditDelete.aspx \
125 Test/mainsoft/NunitWebResources/GridViewUpdate.aspx \
126 Test/mainsoft/NunitWebResources/XMLDataSourceTest.xml \
127 Test/mainsoft/NunitWebResources/XMLDataSourceTest.xsl \
128 Test/mainsoft/NunitWebResources/XMLDataSourceTest1.aspx \
129 Test/mainsoft/NunitWebResources/XMLDataSourceTest2.aspx \
130 Test/mainsoft/NunitWebResources/XMLDataSourceTest3.aspx \
131 Test/mainsoft/NunitWebResources/XMLDataSourceTest4.aspx \
132 Test/mainsoft/NunitWebResources/LoginViewTest1.aspx \
133 Test/mainsoft/NunitWebResources/WebControl.config \
134 Test/mainsoft/NunitWebResources/WebLogin.config \
135 Test/mainsoft/NunitWebResources/CallbackTest1.aspx \
136 Test/mainsoft/NunitWebResources/CallbackTest2.aspx \
137 Test/mainsoft/NunitWebResources/EventValidationTest2.aspx \
138 Test/mainsoft/NunitWebResources/EventValidationTest1.aspx \
139 Test/mainsoft/NunitWebResources/ClientScript.js \
140 Test/mainsoft/NunitWebResources/EvalTest.aspx \
141 Test/mainsoft/NunitWebResources/TemplateUserControl.ascx \
142 Test/mainsoft/NunitWebResources/WebMapping.config \
143 Test/mainsoft/NunitWebResources/Mapping.aspx \
144 Test/mainsoft/NunitWebResources/Mapping1.aspx \
145 Test/mainsoft/NunitWebResources/CrossPagePosting1.aspx \
146 Test/mainsoft/NunitWebResources/CrossPagePosting2.aspx \
147 Test/mainsoft/NunitWebResources/MyDerived.master \
148 Test/mainsoft/NunitWebResources/MyPageWithDerivedMaster.aspx \
149 Test/mainsoft/NunitWebResources/MasterTypeTest1.aspx \
150 Test/mainsoft/NunitWebResources/MasterTypeTest2.aspx \
151 Test/mainsoft/NunitWebResources/PageLifecycleTest.aspx \
152 Test/mainsoft/NunitWebResources/PageValidationTest.aspx \
153 Test/mainsoft/NunitWebResources/AsyncPage.aspx \
154 Test/mainsoft/NunitWebResources/PageCultureTest.aspx \
155 Test/mainsoft/NunitWebResources/adapters.browser \
156 Test/mainsoft/NunitWebResources/NoEventValidation.aspx \
157 Test/mainsoft/NunitWebResources/ListControlPage.aspx \
158 Test/mainsoft/NunitWebResources/TextBoxTestlPage.aspx \
159 Test/mainsoft/NunitWebResources/ClearErrorOnError.aspx \
160 Test/mainsoft/NunitWebResources/RedirectOnError.aspx \
161 Test/mainsoft/NunitWebResources/TestCapability.browser \
162 Test/mainsoft/NunitWebResources/PageWithAdapter.aspx \
163 Test/mainsoft/NunitWebResources/InvalidPropertyBind1.aspx \
164 Test/mainsoft/NunitWebResources/InvalidPropertyBind2.aspx \
165 Test/mainsoft/NunitWebResources/InvalidPropertyBind3.aspx \
166 Test/mainsoft/NunitWebResources/InvalidPropertyBind4.aspx \
167 Test/mainsoft/NunitWebResources/ValidPropertyBind1.aspx \
168 Test/mainsoft/NunitWebResources/ValidPropertyBind2.aspx \
169 Test/mainsoft/NunitWebResources/ValidPropertyBind3.aspx \
170 Test/mainsoft/NunitWebResources/ValidPropertyBind4.aspx \
171 Test/mainsoft/NunitWebResources/ValidPropertyBind5.aspx \
172 Test/mainsoft/NunitWebResources/ReadWritePropertyControl.ascx \
173 Test/mainsoft/MainsoftWebTest/nunitweb_config.xml \
174 Test/mainsoft/NunitWebResources/TemplateControlParsingTest.aspx \
175 Test/mainsoft/NunitWebResources/ContentPlaceHolderInTemplate.aspx \
176 Test/mainsoft/NunitWebResources/ContentPlaceHolderInTemplate.master \
177 Test/mainsoft/NunitWebResources/MissingMasterFile.aspx \
178 Test/mainsoft/NunitWebResources/CustomSectionEmptyCollection.aspx \
179 Test/mainsoft/NunitWebResources/NoDoubleOnInitOnRemoveAdd.aspx \
180 Test/mainsoft/NunitWebResources/NoDoubleOnInitOnRemoveAdd.aspx.cs \
181 Test/mainsoft/NunitWebResources/LoginDisplayRememberMe.aspx \
182 Test/mainsoft/NunitWebResources/NoBindForMethodsWithBindInName.aspx \
183 Test/mainsoft/NunitWebResources/LinkInHeadWithEmbeddedExpression.aspx \
184 Test/mainsoft/NunitWebResources/ExpressionInListControl.aspx \
185 Test/mainsoft/NunitWebResources/ServerSideControlsInScriptBlock.aspx \
186 Test/mainsoft/NunitWebResources/ServerControlInClientSideComment.aspx \
187 Test/mainsoft/NunitWebResources/PreprocessorDirectivesInMarkup.aspx \
188 Test/mainsoft/NunitWebResources/UnquotedAngleBrackets.aspx \
189 Test/mainsoft/NunitWebResources/FullTagsInText.aspx \
190 Test/mainsoft/NunitWebResources/TagsExpressionsAndCommentsInText.aspx \
191 Test/mainsoft/NunitWebResources/NewlineInCodeExpression.aspx \
192 Test/mainsoft/NunitWebResources/DuplicateControlsInClientComment.aspx \
193 Test/mainsoft/NunitWebResources/TagsNestedInClientTag.aspx \
194 Test/mainsoft/NunitWebResources/ConditionalClientComments.aspx \
195 Test/mainsoft/NunitWebResources/OneLetterIdentifierInCodeRender.aspx \
196 Test/mainsoft/NunitWebResources/GlobalResourcesLocalization.aspx \
197 Test/mainsoft/NunitWebResources/TableSections_Bug551666.aspx \
198 Test/mainsoft/NunitWebResources/TableSections_Bug551666.aspx.cs \
199 Test/mainsoft/NunitWebResources/NestedParserFileText.aspx \
200 Test/mainsoft/NunitWebResources/StateFormatter_CorrectConverter.aspx \
201 Test/mainsoft/NunitWebResources/StateFormatter_CollectionConverter.aspx \
202 Test/mainsoft/NunitWebResources/StateFormatter_CollectionConverter.aspx.cs \
203 Test/mainsoft/NunitWebResources/ChangePasswordContainer_FindControl.aspx \
204 Test/mainsoft/NunitWebResources/TagWithExpressionWithinAttribute.aspx \
205 Test/mainsoft/NunitWebResources/CheckBoxList_Bug377703_1.aspx \
206 Test/mainsoft/NunitWebResources/CheckBoxList_Bug377703_2.aspx \
207 Test/mainsoft/NunitWebResources/CheckBoxList_Bug578770.aspx \
208 Test/mainsoft/NunitWebResources/EnumConverter_Bug578586.aspx \
209 Test/mainsoft/NunitWebResources/ButtonColor_Bug325489.aspx \
210 Test/mainsoft/NunitWebResources/SqlDataSource_OnInit_Bug572781.aspx \
211 Test/mainsoft/NunitWebResources/FormViewPagerVisibility.aspx
213 RESX_DIST = resources/TranslationResources.resx
214 ifneq (1, $(FRAMEWORK_VERSION_MAJOR))
215 RESX_RES = $(RESX_DIST:.resx=.resources)
218 NUNIT_RESOURCE_FILES = $(TEST_RESOURCE_FILES)
219 ifneq (1, $(FRAMEWORK_VERSION_MAJOR))
220 OTHER_RES += $(RESOURCE_FILES_2)
221 OTHER_LIB_MCS_FLAGS = -d:INSIDE_SYSTEM_WEB -nowarn:618 -r:System.Configuration.dll -r:Mono.Data.Sqlite.dll
229 -r:System.Drawing.dll \
232 -r:System.EnterpriseServices.dll \
233 $(OTHER_LIB_MCS_FLAGS) \
234 $(RESX_RES:%=/resource:%) \
235 $(OTHER_RES:%=/resource:%)
237 ifneq ($(CYCLIC_DEPS:%=../lib/$(PROFILE)/%), $(CYCLIC_DEP_FILES))
238 NO_SIGN_ASSEMBLY = yes
240 all-local: System.Web/UplevelHelper.cs resources/TranslationResources.resources echo-warning echo-warning-systemcore
241 .PHONY: echo-warning echo-warning-systemcore
243 ifeq (, $(strip $(CYCLIC_DEP_FILES)))
245 @echo "** Warning: System.Web.dll built without parts that depend on: $(CYCLIC_DEPS)"
249 ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
250 ifndef SYSTEMCORE_DEP_FILE
251 echo-warning-systemcore:
252 @echo "** Warning: System.Web.dll built without parts that depend on $(SYSTEMCORE_DEP)"
256 TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -doc:$(test_lib:.dll=.xml) -nowarn:219,169,1591 $(NUNIT_RESOURCE_FILES:%=/resource:%) -r:SystemWebTestShim.dll
257 ifeq (net_2_0, $(PROFILE))
258 TEST_MCS_FLAGS += -r:System.Web.Extensions.dll
262 $(RESOURCE_FILES_2) \
263 $(RESOURCE_FILES_1) \
264 $(TEST_RESOURCE_FILES) \
265 UplevelHelperDefinitions.xml \
267 SQLiteProviders_DatabaseSchema.sql \
268 $(shell find Test/standalone-runner-support/ -name "*.cs" -type f -printf "'%p' ") \
269 $(shell find Test/standalone-tests/ -name "*.cs" -type f -printf "'%p' " -o -name "*.cs.in" -type f -printf "'%p' ") \
270 $(shell find Test/standalone/ -path '*/.svn' -prune -o -type f -printf "'%p' ") \
271 $(shell find Test/tools/ -path '*/.svn' -prune -o -type f -printf "'%p' ") \
272 System.Web_standalone_test.dll.sources \
273 standalone-runner-support.dll.sources \
276 BUILT_SOURCES = System.Web/UplevelHelper.cs
278 include ../../build/library.make
280 ifdef WEBSERVICES_DEP_FILE
281 LIB_MCS_FLAGS += -define:WEBSERVICES_DEP -r:$(WEBSERVICES_DEP)
282 $(build_lib): $(WEBSERVICES_DEP_FILE)
285 ifdef MONOWEB_DEP_FILE
286 LIB_MCS_FLAGS += -define:MONOWEB_DEP -r:$(MONOWEB_DEP)
287 $(build_lib): $(MONOWEB_DEP_FILE)
290 ifdef SYSTEMCORE_DEP_FILE
291 LIB_MCS_FLAGS += -define:SYSTEMCORE_DEP -r:$(SYSTEMCORE_DEP)
292 $(build_lib): $(SYSTEMCORE_DEP_FILE)
296 LIB_MCS_FLAGS += -define:DEBUG
300 LIB_MCS_FLAGS += -define:TRACE
304 LIB_MCS_FLAGS += -define:TRACE -define:MONO_TRACE
308 LIB_MCS_FLAGS += -define:PIPELINE_TIMER
312 LIB_MCS_FLAGS += -define:DEVEL
315 CLASSLIB_DIR = $(topdir)/class/lib/$(PROFILE)
317 STANDALONE_RUNNER_SUPPORT_MCS_FLAGS = $(LIB_MCS_FLAGS) $(PROFILE_MCS_FLAGS) -d:STANDALONE_TEST -debug:full -r:System.Web.dll -r:nunit.framework.dll
318 STANDALONE_RUNNER_SUPPORT_ASSEMBLY = $(CLASSLIB_DIR)/standalone-runner-support.dll
319 STANDALONE_RUNNER_SUPPORT_MAKEFRAG = $(depsdir)/$(PROFILE)_standalone-runner-support.dll.makefrag
321 STANDALONE_TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) $(PROFILE_MCS_FLAGS) -debug:full -r:$(STANDALONE_RUNNER_SUPPORT_ASSEMBLY) -r:System.Web.dll -r:nunit.framework.dll
322 STANDALONE_TEST_ASSEMBLY = System.Web_standalone_test_$(PROFILE).dll
323 STANDALONE_TEST_MAKEFRAG = $(depsdir)/$(STANDALONE_TEST_ASSEMBLY).makefrag
325 STANDALONE_TEST_RUNNER = Test/tools/standalone-runner.exe
326 RUN_STANDALONE = $(TEST_RUNTIME) $(STANDALONE_TEST_RUNNER)
328 $(build_lib): $(RESX_RES) $(RESOURCE_FILES_2) $(RESOURCE_FILES_1)
330 $(RESX_RES): %.resources: %.resx
331 $(RESGEN) `echo $< | $(PLATFORM_CHANGE_SEPARATOR_CMD)`
333 System.Web/UplevelHelper.cs: UplevelHelperDefinitions.xml
334 $(TEST_RUNTIME) $(topdir)/class/lib/$(BUILD_TOOLS_PROFILE)/culevel.exe -o $@ $^
337 $(TEST_RUNTIME) $(TEST_HARNESS) $(TEST_HARNESS_FLAGS) $(LOCAL_TEST_HARNESS_FLAGS) \
338 /output:TestResult-$(PROFILE).log /include:aaa /xml:TestResult-$(PROFILE).xml $(test_assemblies) || ok=false; \
339 (echo ''; cat TestResult-$(PROFILE).log) | sed '1,/^Tests run: /d'; \
343 $(TEST_RUNTIME) $(TEST_HARNESS) $(TEST_HARNESS_FLAGS) $(LOCAL_TEST_HARNESS_FLAGS) \
344 /output:TestResult-$(PROFILE).log /include:NunitWeb /xml:TestResult-$(PROFILE).xml $(test_assemblies) || ok=false; \
345 (echo ''; cat TestResult-$(PROFILE).log) | sed '1,/^Tests run: /d'; \
348 run-nunitweb-ondotnet: test
349 $(TEST_HARNESS) $(TEST_HARNESS_FLAGS) $(LOCAL_TEST_HARNESS_FLAGS) \
350 /output:TestResult-ondotnet-$(PROFILE).log /include:NunitWeb /xml:TestResult-ondotnet-$(PROFILE).xml $(test_assemblies) || ok=false; \
351 (echo ''; cat TestResult-ondotnet-$(PROFILE).log) | sed '1,/^Tests run: /d'; \
354 run-standalone-test: $(STANDALONE_TEST_MAKEFRAG) $(STANDALONE_RUNNER_SUPPORT_MAKEFRAG) $(STANDALONE_TEST_ASSEMBLY)
355 $(MAKE) -C Test/tools/ STANDALONE_SUPPORT_BUILT=1 standalone-runner.exe
356 $(RUN_STANDALONE) $(STANDALONE_TEST_ASSEMBLY)
358 standalone-runner-support: $(STANDALONE_RUNNER_SUPPORT_MAKEFRAG) $(STANDALONE_RUNNER_SUPPORT_ASSEMBLY)
360 $(STANDALONE_TEST_MAKEFRAG): System.Web_standalone_test.dll.sources
361 @echo Creating $@ ...
362 @sed 's,^,$(STANDALONE_TEST_ASSEMBLY): ,' $< > $@
364 $(STANDALONE_RUNNER_SUPPORT_MAKEFRAG): standalone-runner-support.dll.sources
365 @echo Creating $@ ...
366 @sed 's,^,$(STANDALONE_RUNNER_SUPPORT_ASSEMBLY): ,' $< > $@
368 include $(STANDALONE_TEST_MAKEFRAG)
369 include $(STANDALONE_RUNNER_SUPPORT_MAKEFRAG)
371 $(STANDALONE_TEST_ASSEMBLY): $(the_assembly) $(STANDALONE_RUNNER_SUPPORT_ASSEMBLY) Test/standalone-tests/Consts.cs
372 $(MCS) $(STANDALONE_TEST_MCS_FLAGS) -out:$@ -target:library @System.Web_standalone_test.dll.sources
374 $(STANDALONE_RUNNER_SUPPORT_ASSEMBLY):
375 $(MCS) $(STANDALONE_RUNNER_SUPPORT_MCS_FLAGS) -out:$(STANDALONE_RUNNER_SUPPORT_ASSEMBLY) -target:library @standalone-runner-support.dll.sources
377 Test/standalone-tests/Consts.cs: Test/standalone-tests/Consts.cs.in
378 @sed 's,@SystemWebClassDir@,$(shell pwd),' $< > $@