Welcome to mirror list, hosted at ThFree Co, Russian Federation.

Makefile « System « class « mcs - github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 85236a2dc27e54b18320a6882d62ea018e7f7c00 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
thisdir = class/System
SUBDIRS =
include ../../build/rules.make
export __SECURITY_BOOTSTRAP_DB=$(topdir)/class/lib/$(PROFILE)

LIBRARY = System.dll

ifneq (2.1, $(FRAMEWORK_VERSION))
RESOURCE_FILES = \
	resources/Asterisk.wav	\
	resources/Beep.wav	\
	resources/Exclamation.wav	\
	resources/Hand.wav	\
	resources/Question.wav
endif

TEST_RESOURCES = \
	Test/System/test-uri-props.txt \
	Test/System/test-uri-props-manual.txt \
	Test/System/test-uri-relative-props.txt

TEST_MCS_FLAGS = -r:System.Drawing.dll -r:Mono.Security.dll -r:System.Data -r:System.Xml.dll -r:System.Core.dll -nowarn:618,672,219,67,169,612 \
	$(foreach f, $(TEST_RESOURCES), -resource:$(f),$(notdir $(f)))

REFERENCE_SOURCES_FLAGS = -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX
LIB_MCS_FLAGS = -nowarn:618 -d:CONFIGURATION_2_0 $(REFERENCE_SOURCES_FLAGS) -unsafe $(RESOURCE_FILES:%=-resource:%)
TEST_MCS_FLAGS += -r:System.Configuration
PROFILE_ANY_MOBILE := $(filter monotouch monotouch_runtime monodroid xammac mobile mobile_static, $(PROFILE))

RESOURCE_STRINGS = ../../../external/referencesource/System/System.txt

ifeq (2.1, $(FRAMEWORK_VERSION))
LIB_MCS_FLAGS += -d:INSIDE_SYSTEM
endif
ifeq (monotouch, $(subst _runtime,,$(PROFILE)))
LIB_MCS_FLAGS += -d:SECURITY_DEP
endif
ifeq (monodroid, $(PROFILE))
LIB_MCS_FLAGS += -d:SECURITY_DEP
endif
ifndef PROFILE_ANY_MOBILE
FINAL_MCS_FLAGS = -r:System.Configuration.dll -d:CONFIGURATION_DEP
endif

#
# Flags used to build the secxml version of System.
#
ifeq (secxml/, $(intermediate))
LOCAL_MCS_FLAGS = -lib:$(bare_libdir) 
LIB_MCS_FLAGS += -d:SECURITY_DEP -d:XML_DEP -r:PrebuiltSystem=$(bare_libdir)/System.dll -r:System.Xml.dll -r:MonoSecurity=Mono.Security.dll
endif

#
# Flags used to build the final version of System (when intermediate is not defined)
#
ifndef intermediate
LIB_MCS_FLAGS += -d:SECURITY_DEP -d:XML_DEP -r:PrebuiltSystem=$(secxml_libdir)/System.dll -r:System.Xml.dll -r:MonoSecurity=Mono.Security.dll $(FINAL_MCS_FLAGS)
endif

EXTRA_DISTFILES = \
	Test/test-config-file				\
	Test/test-config-file-net-2.0			\
	Test/System.Security.Cryptography.X509Certificates/pkits/ChangeLog	\
	Test/System.Security.Cryptography.X509Certificates/pkits/Makefile	\
	Test/System.Security.Cryptography.X509Certificates/pkits/README		\
	Test/System.Security.Cryptography.X509Certificates/pkits/x509build.cs	\
	$(RESOURCE_FILES)				\
	$(TEST_RESOURCES)

include ../../build/library.make

system_library_deps := \
	$(secxml_libdir)/System.dll 		\
	$(the_libdir_base)System.Xml.dll	\
	$(the_libdir_base)Mono.Security.dll	\
	$(bare_libdir)/System.dll

ifndef PROFILE_ANY_MOBILE
system_library_deps += $(the_libdir_base)System.Configuration.dll	
endif

artifacts = $(system_library_deps) 			\
	$(bare_libdir)/System.Xml.dll			\
	$(the_libdir_base)Mono.Security.dll		\
	$(the_libdir_base)System.Configuration.dll

.NOTPARALLEL: $(system_library_deps)

$(the_libdir_base)System.dll: $(system_library_deps) 

ifeq (bare/,$(intermediate))
build-bare:
else
$(bare_libdir)/System.dll:
	$(MAKE) intermediate=bare/ $(bare_libdir)/System.dll
endif

ifneq (secxml/,$(intermediate))
$(secxml_libdir)/System.dll: $(bare_libdir)/System.dll $(bare_libdir)/System.Xml.dll $(the_libdir_base)Mono.Security.dll $(bare_libdir)/System.dll
	$(MAKE) intermediate=secxml/ $(secxml_libdir)/System.dll
else
build-sec:
endif

$(the_libdir_base)System.Xml.dll:
	(cd ../System.XML; $(MAKE) $@)

$(bare_libdir)/System.Xml.dll:
	(cd ../System.XML; $(MAKE) $@)

$(the_libdir_base)Mono.Security.dll:
	(cd ../Mono.Security; $(MAKE))

$(the_libdir_base)System.Configuration.dll:
	(cd ../System.Configuration; $(MAKE))

$(build_lib): $(CYCLIC_DEP_FILES)

$(test_lib): $(test_lib).config $(TEST_RESOURCES)

$(test_lib).config: Test/test-config-file
	cp $< $@

CLEAN_FILES = $(test_lib).config $(bare_libdir)/System.dll $(secxml_libdir)/System.dll $(bare_libdir)/System.dll.mdb $(secxml_libdir)/System.dll.mdb

# Helper target to run the perl regex test suite
regex-check:
	$(MAKE) check FIXTURE=System.Text.RegularExpressions.PerlTest

#Debuging target
fresh: clean
	rm -rf ../../class/lib/$(PROFILE)/bare ../../class/lib/$(PROFILE)/bare/ $(system_library_deps)

ifndef intermediate
ifneq ($(PROFILE),basic)
csproj-local:
	$(MAKE) csproj-local intermediate=bare/
	$(MAKE) csproj-local intermediate=secxml/
endif
endif