Fix to UriTemplate.Match to properly handle query parameters without a value. No...
[mono.git] / mcs / class / System.XML / Makefile
1 thisdir = class/System.XML
2 SUBDIRS = 
3 include ../../build/rules.make
4
5 LIBRARY = System.Xml.dll
6
7 lib_file := $(wildcard ../lib/$(PROFILE)/System.Xml.dll)
8 ifndef lib_file
9 USE_BOOT_COMPILE = yes
10 endif
11
12 ifdef USE_BOOT_COMPILE
13 LIBRARY_COMPILE = $(BOOT_COMPILE)
14 endif
15
16 PROFILE_ANY_MOBILE := $(filter monotouch monotouch_runtime monodroid xammac mobile mobile_static, $(PROFILE))
17
18 LIB_MCS_FLAGS = -r:$(corlib) -r:System.dll -nowarn:0618,0612,0642
19 ifeq (2.1, $(FRAMEWORK_VERSION))
20 LIB_MCS_FLAGS += -unsafe -d:AGCLR -d:NET_2_1_HACK
21 endif
22 TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:0618 -nowarn:219 -nowarn:169 -r:System.Data.dll -r:System.Core.dll
23
24 ifndef PROFILE_ANY_MOBILE
25 FINAL_MCS_FLAGS = -r:System.Configuration.dll -d:CONFIGURATION_DEP
26 endif
27
28 ifneq (bare/,$(intermediate))
29 LIB_MCS_FLAGS += $(FINAL_MCS_FLAGS)
30 endif
31
32 LOCAL_MCS_FLAGS += -lib:$(bare_libdir)
33
34 nist_dom_files = \
35         ChangeLog ITest.cs readme.txt util.cs \
36         fundamental/ChangeLog \
37         files/ChangeLog files/noDTDXMLfile.xml files/otherDoc.xml files/staff.dtd files/staff.html files/staff.xml
38
39 xmlfiles_files = \
40         ChangeLog nested-included.dtd literal-data.xml nested-dtd-test.dtd nested-dtd-test.xml simple.xml \
41         xsl/ChangeLog xsl/empty.xsl \
42         XsdValidation/ChangeLog XsdValidation/1.xsd XsdValidation/2.xsd XsdValidation/3.xsd XsdValidation/4.xsd \
43         xsd/ChangeLog xsd/1.xsd xsd/2.xsd xsd/3.xsd xsd/4.xsd xsd/5.xsd xsd/6.xsd xsd/xml.xsd xsd/81360.xsd xsd/81360inc1.xsd xsd/81360inc2.xsd
44
45 EXTRA_DISTFILES = \
46         System.Xml.Schema/BUGS-MS.txt   \
47         System.Xml.Schema/BUGS.txt      \
48         $(wildcard System.Xml.Serialization/standalone_tests/*.cs) \
49         $(wildcard System.Xml.Serialization/standalone_tests/*.output) \
50         System.Xml.XPath/Parser.jay     \
51         Test/ChangeLog                  \
52         Test/Microsoft.Test.csproj      \
53         Test/Mono.Test.csproj           \
54         Test/MonoMicro.Test.csproj      \
55         Test/XmlFiles/76102.xml         \
56         Test/XmlFiles/79683.dtd         \
57         Test/XmlFiles/496192.xml        \
58         Test/XmlFiles/*.xsd     \
59         $(wildcard Test/XmlFiles/xsd/*.xml) \
60         $(wildcard Test/XmlFiles/xsd/*.xsd) \
61         $(wildcard Test/XmlFiles/xsl/*.xml) \
62         $(wildcard Test/XmlFiles/xsl/*.xsl) \
63         Test/XmlFiles/xsl/current-in-select.ref \
64         Test/XmlFiles/xsl/ChangeLog \
65         $(xmlfiles_files:%=Test/XmlFiles/%) \
66         $(nist_dom_files:%=Test/System.Xml/nist_dom/%)
67
68 System.Xml.XPath/$(PROFILE)_Parser.cs: System.Xml.XPath/Parser.jay $(topdir)/jay/skeleton.cs
69         (cd System.Xml.XPath; $(topdir)/../jay/jay -ct < $(topdir)/../jay/skeleton.cs Parser.jay >> $(PROFILE)_Parser.cs)
70
71 Mono.Xml.Xsl/$(PROFILE)_PatternParser.jay: System.Xml.XPath/Parser.jay $(topdir)/jay/skeleton.cs
72         sed "s/\%start Expr/\%start Pattern/" $< >$@
73
74 Mono.Xml.Xsl/$(PROFILE)_PatternParser.cs: Mono.Xml.Xsl/$(PROFILE)_PatternParser.jay $(topdir)/jay/skeleton.cs
75         echo "#define XSLT_PATTERN" > $@
76         (cd Mono.Xml.Xsl; $(topdir)/../jay/jay -ct $(PROFILE)_PatternParser.jay < $(topdir)/../jay/skeleton.cs >> $(PROFILE)_PatternParser.cs)
77
78 Mono.Xml.Xsl/$(PROFILE)_PatternTokenizer.cs: System.Xml.XPath/Tokenizer.cs
79         echo "#define XSLT_PATTERN" > $@
80         cat $< >>$@
81
82 ifneq (moonlight_raw, $(PROFILE))
83 BUILT_SOURCES = System.Xml.XPath/$(PROFILE)_Parser.cs \
84         Mono.Xml.Xsl/$(PROFILE)_PatternParser.cs \
85         Mono.Xml.Xsl/$(PROFILE)_PatternTokenizer.cs
86
87 CLEAN_FILES = Test/XmlFiles/xsl/result.xml \
88         System.Xml.XPath/$(PROFILE)_Parser.cs \
89         Mono.Xml.Xsl/$(PROFILE)_PatternParser.cs \
90         Mono.Xml.Xsl/$(PROFILE)_PatternTokenizer.cs
91 endif
92
93 include ../../build/library.make
94
95 ifeq (bare/,$(intermediate))
96 build-bare:
97 else
98 $(bare_libdir)/System.Xml.dll:
99         $(MAKE) intermediate=bare/ $(bare_libdir)/System.Xml.dll
100 endif
101
102 system_xml_library_deps :=                              \
103         $(bare_libdir)/System.dll                       \
104         $(bare_libdir)/System.Xml.dll
105
106 ifndef PROFILE_ANY_MOBILE
107 system_xml_library_deps += $(the_libdir_base)System.Configuration.dll
108 endif
109
110 artifacts = $(system_xml_library_deps)  \
111         $(the_libdir_base)System.Configuration.dll
112
113 .NOTPARALLEL: $(artifacts)
114
115 CLEAN_FILES = $(bare_libdir)/System.Xml.dll $(bare_libdir)/System.Xml.dll.pdb
116 $(the_libdir_base)System.Xml.dll: $(system_xml_library_deps) 
117 $(bare_libdir)/System.dll:
118         (cd ../System; $(MAKE) $@)
119 $(bare_libdir)/System.Xml.dll: $(bare_libdir)/System.dll 
120
121 $(the_libdir_base)System.Configuration.dll:
122         (cd ../System.Configuration; $(MAKE) $@)
123
124
125 ifndef intermediate
126 ifneq ($(PROFILE),basic)
127 csproj-local:
128         $(MAKE) csproj-local intermediate=bare/
129 endif
130 endif