3 SUBDIRS
:= build jay mcs monoresgen class mbas nunit20 ilasm tools tests errors docs
5 # 'gmcs' is specially built by rules inside class/corlib.
6 DIST_ONLY_SUBDIRS
:= gmcs
9 SUBDIRS
:= $(TEST_SUBDIRS
)
12 ifndef NO_SIGN_ASSEMBLIES
13 OVERRIDE_TARGET_ALL
= yes
16 include build
/rules.make
18 all-recursive
$(STD_TARGETS
:=-recursive
): platform-check profile-check
20 # Used only if OVERRIDE_TARGET_ALL is defined
22 $(MAKE
) NO_SIGN_ASSEMBLY
=yes
all.real
25 .PHONY
: all-local
$(STD_TARGETS
:=-local
)
26 all-local
$(STD_TARGETS
:=-local
):
29 # fun specialty targets
31 PROFILES
= default net_2_0
33 .PHONY
: all-profiles
$(STD_TARGETS
:=-profiles
)
34 all-profiles
$(STD_TARGETS
:=-profiles
):
35 $(MAKE
) $(PROFILES
:%=profile-do--
%--$(@
:-profiles
=))
37 # The % below looks like profile-name--target-name
39 $(MAKE
) PROFILE
=$(subst --, ,$*)
41 # Ensure these don't run in parallel, for now.
42 profile-do--net_2_0--all
: profile-do--default--all
43 profile-do--net_2_0--run-test
: profile-do--default--run-test
46 @cd class
/corlib
&& $(MAKE
) test run-test
49 $(MAKE
) TEST_SUBDIRS
="tests errors" run-test-profiles
51 test-installed-compiler
:
52 $(MAKE
) TEST_SUBDIRS
="tests errors" PROFILE
=default TEST_RUNTIME
=mono MCS
=mcs run-test
53 $(MAKE
) TEST_SUBDIRS
="tests errors" PROFILE
=net_2_0 TEST_RUNTIME
=mono MCS
=gmcs run-test
55 # Disting. We need to override $(distdir) here.
57 package
:= mcs-
$(VERSION
)
58 top_distdir
= $(dots
)/$(package
)
59 distdir
= $(top_distdir
)
76 ScalableMonoIcon.svg \
80 dist-local
: dist-default
81 dist-recursive
: dist-pre
87 dist-tarball
: dist-recursive
88 tar cvzf
$(package
).
tar.gz
$(package
)
93 # the egrep -v is kind of a hack (to get rid of the makefrags)
94 # but otherwise we have to make dist then make clean which
95 # is sort of not kosher. And it breaks with DIST_ONLY_SUBDIRS.
97 # We need to set prefix on make so class/System/Makefile can find
98 # the installed System.Xml to build properly
100 distcheck
: dist-tarball
101 rm -rf InstallTest Distcheck-MCS
; \
102 mkdir InstallTest
; \
103 destdir
=`cd InstallTest && pwd` ; \
104 mv
$(package
) Distcheck-MCS
; \
105 (cd Distcheck-MCS
&& \
106 $(MAKE
) prefix=$(prefix) && $(MAKE
) test && $(MAKE
) install DESTDIR
="$$destdir" && \
107 $(MAKE
) clean && $(MAKE
) dist || exit
1) || exit
1 ; \
108 mv Distcheck-MCS
$(package
) ; \
109 tar tzf
$(package
)/$(package
).
tar.gz |sed
-e
's,/$$,,' |
sort >distdist.list
; \
110 rm $(package
)/$(package
).
tar.gz
; \
111 tar tzf
$(package
).
tar.gz |sed
-e
's,/$$,,' |
sort >before.list
; \
112 find
$(package
) |egrep
-v
'(makefrag|response)' |sed
-e
's,/$$,,' |
sort >after.list
; \
113 cmp before.list after.list || exit
1 ; \
114 cmp before.list distdist.list || exit
1 ; \
115 rm -f before.list after.list distdist.list
; \
116 rm -rf
$(package
) InstallTest
119 chargedir
=monocharge-
`date -u +%Y%m%d` ; \
120 mkdir
"$$chargedir" ; \
121 DESTDIR
=`cd "$$chargedir" && pwd` ; \
122 $(MAKE
) install DESTDIR
="$$DESTDIR" || exit
1 ; \
123 tar cvzf
"$$chargedir".tgz
"$$chargedir" ; \
126 # A bare-bones monocharge.
129 chargedir
=monocharge-lite-
`date -u +%Y%m%d` ; \
130 mkdir
"$$chargedir" ; \
131 DESTDIR
=`cd "$$chargedir" && pwd` ; \
132 $(MAKE
) -C mcs
install DESTDIR
="$$DESTDIR" || exit
1; \
133 $(MAKE
) -C class
/corlib
install DESTDIR
="$$DESTDIR" || exit
1; \
134 $(MAKE
) -C class
/System
install DESTDIR
="$$DESTDIR" || exit
1; \
135 $(MAKE
) -C class
/System.XML
install DESTDIR
="$$DESTDIR" || exit
1; \
136 $(MAKE
) -C class
/Mono.CSharp.Debugger
install DESTDIR
="$$DESTDIR" || exit
1; \
137 tar cvzf
"$$chargedir".tgz
"$$chargedir" ; \