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

Makefile « tuner « tools « mcs - github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: fa5d0d025041e4914aae62de546c7ca1d03822ae (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
thisdir = tools/tuner
SUBDIRS =
include ../../build/rules.make

sn = $(topdir)/class/lib/net_1_1_bootstrap/sn.exe
SN = MONO_PATH="$(topdir)/class/lib/net_1_1_bootstrap$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME) $(RUNTIME_FLAGS) $(sn)
SNFLAGS = -q -R

LINKER = ../linker/monolinker.exe

TUNER_SOURCES = \
	Mono.Tuner/TunerAnnotations.cs	\
	Mono.Tuner/PrintStatus.cs	\
	Mono.Tuner/RemoveSerialization.cs	\
	Mono.Tuner/AdjustVisibility.cs	\
	Mono.Tuner/CheckVisibility.cs	\
	Mono.Tuner/InjectAttributes.cs

TUNER_DESCS =	\
	Descriptors/mscorlib.xml	\
	Descriptors/smcs.xml	\
	Descriptors/System.xml

TUNER_MASTERS =	\
	masterinfos/silverlight/mscorlib.info	\
	masterinfos/silverlight/System.info	\
	masterinfos/silverlight/System.Net.info	\
	masterinfos/silverlight/System.Core.info	\
	masterinfos/silverlight/System.Xml.info	\
	masterinfos/silverlight/System.Runtime.Serialization.info	\
	masterinfos/silverlight/System.ServiceModel.info	\
	masterinfos/silverlight/System.ServiceModel.Web.info	\
	masterinfos/silverlight/Mono.CompilerServices.SymbolWriter.info

LOCAL_MCS_FLAGS = -r:$(LINKER) -r:Mono.Cecil.dll

DISTFILES = README $(TUNER_SOURCES) $(TUNER_DESCS) $(TUNER_MASTERS)

WORKING_DIR = $(topdir)/class/lib/net_2_1_raw
OUTPUT_DIR = $(topdir)/class/lib/net_2_1

DLLFILES = \
	mscorlib.dll	\
	System.dll	\
	System.Net.dll	\
	System.Xml.dll	\
	System.Core.dll	\
	System.Runtime.Serialization.dll	\
	System.ServiceModel.dll	\
	System.ServiceModel.Web.dll	\
	Mono.CompilerServices.SymbolWriter.dll

FILES = smcs.exe $(DLLFILES)
WORKING_FILES = $(FILES:%=$(WORKING_DIR)/%)
OUTPUT_FILES = $(FILES:%=$(OUTPUT_DIR)/%)

ifneq (net_2_1, $(PROFILE))
all-local: Mono.Tuner.dll

install-local:

clean-local:
	rm -f *.dll *.mdb *.pdb

else
all-local: $(OUTPUT_FILES)

install-local: end-install

clean-local:
	rm -f $(OUTPUT_FILES) tune.stamp tune.stampt

endif

uninstall-local:

dist-local: dist-default

test-local run-test-local run-test-ondotnet-local:

TUNER_FLAGS = -d $(WORKING_DIR) -o $(OUTPUT_DIR)	\
	-l none		\
	-c link		\
	-a smcs		\
	-b true		\
	-g true		\
	-m display_internalized false

TUNER_STEPS = \
	Mono.Tuner.InjectAttributes,Mono.Tuner:OutputStep	\
	Mono.Tuner.AdjustVisibility,Mono.Tuner:OutputStep	\
	Mono.Tuner.PrintStatus,Mono.Tuner:OutputStep	\
	Mono.Tuner.RemoveSerialization,Mono.Tuner:OutputStep

ifdef CHECK_VISIBILITY
TUNER_STEPS += Mono.Tuner.CheckVisibility,Mono.Tuner
endif

$(OUTPUT_FILES): tune.stamp
	test -f $@ || { rm -f $<; $(MAKE) $<; }

tune.stamp: $(WORKING_FILES) $(OUTPUT_DIR)/.stamp
	touch $@t
	MONO_PATH=".$(PLATFORM_PATH_SEPARATOR)$(topdir)/class/lib/net_1_1$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME) $(RUNTIME_FLAGS) --debug $(LINKER) $(TUNER_FLAGS) $(TUNER_DESCS:%=-x %) $(TUNER_STEPS:%=-s %) $(TUNER_MASTERS:%=-i %)
	for i in $(DLLFILES); do $(SN) $(SNFLAGS) $(OUTPUT_DIR)/$$i $(topdir)/class/mono.snk; done
	mv $@t $@

gacutil = $(topdir)/class/lib/net_1_1_bootstrap/gacutil.exe
GACUTIL = MONO_PATH="$(topdir)/class/lib/net_1_1_bootstrap$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME) $(RUNTIME_FLAGS) $(gacutil) -bootstrap

TUNER_INSTALL_DIR = $(DESTDIR)$(mono_libdir)/mono/2.1

end-install: inst-mscorlib.dll inst-smcs.exe gac-System gac-System.Net gac-System.Xml gac-System.Core gac-System.Runtime.Serialization gac-System.ServiceModel gac-System.ServiceModel.Web gac-Mono.CompilerServices.SymbolWriter

inst-%: $(OUTPUT_DIR)/%
	$(MKINSTALLDIRS) $(TUNER_INSTALL_DIR)
	$(INSTALL_LIB) $(OUTPUT_DIR)/$* $(TUNER_INSTALL_DIR)/$*
	test ! -f $(OUTPUT_DIR)/$*.mdb || $(INSTALL_LIB) $(OUTPUT_DIR)/$*.mdb $(TUNER_INSTALL_DIR)/$*.mdb

gac-%: $(OUTPUT_DIR)/%.dll
	$(GACUTIL) /i $(OUTPUT_DIR)/$*.dll /f /root $(DESTDIR)$(mono_libdir) /package 2.1

Mono.Tuner.dll: $(TUNER_SOURCES)
	$(CSCOMPILE) /out:Mono.Tuner.dll /t:library $(TUNER_SOURCES)

retune:
	rm -f tune.stamp && $(MAKE) tune.stamp