blob: 3d8978be03e1497c2e5ff9f06575391980313434 (
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
|
thisdir := .
SUBDIRS := build jay mcs monoresgen class mbas nunit20 ilasm tools tests errors docs
OVERRIDE_BARE_TARGETS = hells yeah
include build/rules.make
# Define these ourselves to that the platform checks come first
#all: platform-check profile-check all-recursive #all-local
.PHONY: all clean all-profiles clean-profiles install uninstall test run-test testcorlib
all: platform-check profile-check all-recursive
install: platform-check profile-check install-recursive #install-local
uninstall: platform-check profile-check uninstall-recursive #uninstall-local
test: platform-check profile-check test-recursive #test-local
run-test: run-test-recursive #run-test-local
run-test-ondotnet: run-test-ondotnet-recursive # run-test-ondotnet-local
clean: clean-recursive #clean-local
# fun specialty targets
all-profiles:
$(MAKE) PROFILE=default all
$(MAKE) PROFILE=net_2_0 all
clean-profiles:
$(MAKE) PROFILE=default clean
$(MAKE) PROFILE=net_2_0 clean
testcorlib:
@cd class/corlib && $(MAKE) test run-test
# Disting. We need to override $(distdir) here.
package := mcs-$(VERSION)
top_distdir = $(dots)/$(package)
distdir = $(top_distdir)
export package
DISTFILES = \
AUTHORS \
ChangeLog \
COPYING \
COPYING.LIB \
INSTALL.txt \
LICENSE \
LICENSE.GPL \
LICENSE.LGPL \
Makefile \
mkinstalldirs \
MIT.X11 \
MonoIcon.png \
README \
ScalableMonoIcon.svg \
winexe.in
dist-pre:
rm -rf $(package)
dist-post:
tar cvzf $(package).tar.gz $(package)
dist-local: dist-default
dist-tarball: dist-pre dist-recursive dist-post
dist: dist-tarball
rm -rf $(package)
# the egrep -v is kind of a hack (to get rid of the makefrags)
# but otherwise we have to make dist then make clean which
# is sort of not kosher. And it breaks with DIST_ONLY_SUBDIRS.
#
# We need to set prefix on make so class/System/Makefile can find
# the installed System.Xml to build properly
distcheck:
rm -rf InstallTest Distcheck-MCS ; \
mkdir InstallTest ; \
destdir=`cd InstallTest && pwd` ; \
$(MAKE) dist-tarball || exit 1 ; \
mv $(package) Distcheck-MCS ; \
(cd Distcheck-MCS && \
$(MAKE) prefix=$(prefix) && $(MAKE) test && $(MAKE) install DESTDIR="$$destdir" && \
$(MAKE) clean && $(MAKE) dist || exit 1) || exit 1 ; \
mv Distcheck-MCS $(package) ; \
tar tzf $(package)/$(package).tar.gz |sed -e 's,/$$,,' |sort >distdist.list ; \
rm $(package)/$(package).tar.gz ; \
tar tzf $(package).tar.gz |sed -e 's,/$$,,' |sort >before.list ; \
find $(package) |egrep -v '(makefrag|response)' |sed -e 's,/$$,,' |sort >after.list ; \
cmp before.list after.list || exit 1 ; \
cmp before.list distdist.list || exit 1 ; \
rm -f before.list after.list distdist.list ; \
rm -rf $(package) InstallTest
monocharge:
chargedir=monocharge-`date -u +%Y%m%d` ; \
mkdir "$$chargedir" ; \
DESTDIR=`cd "$$chargedir" && pwd` ; \
$(MAKE) install DESTDIR="$$DESTDIR" || exit 1 ; \
tar cvzf "$$chargedir".tgz "$$chargedir" ; \
rm -rf "$$chargedir"
# A bare-bones monocharge.
monocharge-lite:
chargedir=monocharge-lite-`date -u +%Y%m%d` ; \
mkdir "$$chargedir" ; \
DESTDIR=`cd "$$chargedir" && pwd` ; \
$(MAKE) -C mcs install DESTDIR="$$DESTDIR" || exit 1; \
$(MAKE) -C class/corlib install DESTDIR="$$DESTDIR" || exit 1; \
$(MAKE) -C class/System install DESTDIR="$$DESTDIR" || exit 1; \
$(MAKE) -C class/System.XML install DESTDIR="$$DESTDIR" || exit 1; \
$(MAKE) -C class/Mono.CSharp.Debugger install DESTDIR="$$DESTDIR" || exit 1; \
tar cvzf "$$chargedir".tgz "$$chargedir" ; \
rm -rf "$$chargedir"
|