[build] Change the way how mcs references are passed to compiler to always use full...
[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 TXT_RESOURCE_STRINGS = \
17         ../../../external/referencesource/System.Xml/System.Xml.txt \
18         ../../../external/referencesource/System.Data.SqlXml/System.Xml.Utils.txt
19
20 LIB_MCS_FLAGS = -nowarn:219,414,649,1717 -unsafe -d:ASYNC
21
22 ifeq (2.1, $(FRAMEWORK_VERSION))
23 LIB_MCS_FLAGS += -d:AGCLR -d:NET_2_1_HACK -d:DISABLE_XSLT_COMPILER -d:DISABLE_XSLT_SCRIPT,MONO_HYBRID_SYSTEM_XML -d:DISABLE_CAS_USE
24 endif
25
26 TEST_LIB_REFS = System.Data System.Core
27 TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:0618 -nowarn:219 -nowarn:169
28
29 ifneq (bare/,$(intermediate))
30 LIB_REFS += secxml/System 
31 ifndef MOBILE_PROFILE
32 LIB_REFS += System.Configuration
33 LIB_MCS_FLAGS += -d:CONFIGURATION_DEP
34 endif
35 else
36 LIB_REFS += $(intermediate)System
37 endif
38
39 nist_dom_files = \
40         ITest.cs readme.txt util.cs \
41         files/noDTDXMLfile.xml files/otherDoc.xml files/staff.dtd files/staff.html files/staff.xml
42
43 xmlfiles_files = \
44         nested-included.dtd literal-data.xml nested-dtd-test.dtd nested-dtd-test.xml simple.xml \
45         xsl/empty.xsl \
46         XsdValidation/1.xsd XsdValidation/2.xsd XsdValidation/3.xsd XsdValidation/4.xsd \
47         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
48
49 EXTRA_DISTFILES = \
50         $(wildcard System.Xml.Serialization/standalone_tests/*.cs) \
51         $(wildcard System.Xml.Serialization/standalone_tests/*.output) \
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         $(xmlfiles_files:%=Test/XmlFiles/%) \
65         $(nist_dom_files:%=Test/System.Xml/nist_dom/%)
66
67 include ../../build/library.make
68
69 ifeq (bare/,$(intermediate))
70 build-bare:
71 else
72 $(bare_libdir)/System.Xml.dll:
73         $(MAKE) intermediate=bare/ $(bare_libdir)/System.Xml.dll
74 endif
75
76 system_xml_library_deps :=                              \
77         $(bare_libdir)/System.dll                       \
78         $(bare_libdir)/System.Xml.dll
79
80 ifndef MOBILE_PROFILE
81 system_xml_library_deps += $(the_libdir_base)System.Configuration.dll
82 endif
83
84 artifacts = $(system_xml_library_deps)  \
85         $(the_libdir_base)System.Configuration.dll
86
87 .NOTPARALLEL: $(artifacts)
88
89 CLEAN_FILES = $(bare_libdir)/System.Xml.dll $(bare_libdir)/System.Xml.dll.pdb
90 $(the_libdir_base)System.Xml.dll: $(system_xml_library_deps) 
91 $(bare_libdir)/System.dll:
92         (cd ../System; $(MAKE) $@)
93 $(bare_libdir)/System.Xml.dll: $(bare_libdir)/System.dll 
94
95 $(the_libdir_base)System.Configuration.dll:
96         (cd ../System.Configuration; $(MAKE) $@)
97
98
99 ifndef intermediate
100 ifneq ($(PROFILE),basic)
101 csproj-local:
102         $(MAKE) csproj-local intermediate=bare/
103 endif
104 endif