This repository has been archived by the owner on Nov 25, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
2 changed files
with
210 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
thisdir := . | ||
|
||
SUBDIRS := build class nunit20 | ||
|
||
net_3_0_SUBDIRS := build class nunit20 | ||
|
||
include build/rules.make | ||
|
||
all-recursive $(STD_TARGETS:=-recursive): platform-check profile-check | ||
|
||
.PHONY: all-local $(STD_TARGETS:=-local) | ||
all-local $(STD_TARGETS:=-local): | ||
@: | ||
|
||
# fun specialty targets | ||
|
||
PROFILES = default net_2_0 | ||
|
||
.PHONY: all-profiles $(STD_TARGETS:=-profiles) | ||
all-profiles $(STD_TARGETS:=-profiles): %-profiles: profiles-do--% | ||
@: | ||
|
||
profiles-do--%: | ||
$(MAKE) $(PROFILES:%=profile-do--%--$*) | ||
|
||
# The % below looks like profile-name--target-name | ||
profile-do--%: | ||
$(MAKE) PROFILE=$(subst --, ,$*) | ||
|
||
# We don't want to run the tests in parallel. We want behaviour like -k. | ||
profiles-do--run-test: | ||
ret=:; $(foreach p,$(PROFILES), { $(MAKE) PROFILE=$(p) run-test || ret=false; }; ) $$ret | ||
|
||
# Orchestrate the bootstrap here. | ||
_boot_ = all clean install | ||
$(_boot_:%=profile-do--net_2_0--%): profile-do--net_2_0--%: profile-do--net_2_0_bootstrap--% | ||
$(_boot_:%=profile-do--net_2_0_bootstrap--%): profile-do--net_2_0_bootstrap--%: profile-do--default--% | ||
$(_boot_:%=profile-do--default--%): profile-do--default--%: profile-do--net_1_1_bootstrap--% | ||
$(_boot_:%=profile-do--net_1_1_bootstrap--%): profile-do--net_1_1_bootstrap--%: profile-do--basic--% | ||
|
||
testcorlib: | ||
@cd class/corlib && $(MAKE) test run-test | ||
|
||
compiler-tests: | ||
$(MAKE) TEST_SUBDIRS="tests errors" run-test-profiles | ||
|
||
test-installed-compiler: | ||
$(MAKE) TEST_SUBDIRS="tests errors" PROFILE=default TEST_RUNTIME=mono MCS=mcs run-test | ||
$(MAKE) TEST_SUBDIRS="tests errors" PROFILE=net_2_0 TEST_RUNTIME=mono MCS=gmcs run-test | ||
|
||
package := infocard | ||
|
||
dist-local: dist-default | ||
|
||
dist-pre: | ||
rm -rf $(package) | ||
mkdir $(package) | ||
|
||
dist-tarball: dist-pre | ||
$(MAKE) distdir='$(package)' dist-recursive | ||
tar cvzf $(package).tar.gz $(package) | ||
|
||
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: dist-tarball | ||
rm -rf InstallTest Distcheck-MCS ; \ | ||
mkdir InstallTest ; \ | ||
destdir=`cd InstallTest && pwd` ; \ | ||
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" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
#! /bin/sh | ||
# mkinstalldirs --- make directory hierarchy | ||
# Author: Noah Friedman <friedman@prep.ai.mit.edu> | ||
# Created: 1993-05-16 | ||
# Public domain | ||
|
||
errstatus=0 | ||
dirmode="" | ||
|
||
usage="\ | ||
Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." | ||
|
||
# process command line arguments | ||
while test $# -gt 0 ; do | ||
case "${1}" in | ||
-h | --help | --h* ) # -h for help | ||
echo "${usage}" 1>&2; exit 0 ;; | ||
-m ) # -m PERM arg | ||
shift | ||
test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; } | ||
dirmode="${1}" | ||
shift ;; | ||
-- ) shift; break ;; # stop option processing | ||
-* ) echo "${usage}" 1>&2; exit 1 ;; # unknown option | ||
* ) break ;; # first non-opt arg | ||
esac | ||
done | ||
|
||
for file | ||
do | ||
if test -d "$file"; then | ||
shift | ||
else | ||
break | ||
fi | ||
done | ||
|
||
case $# in | ||
0) exit 0 ;; | ||
esac | ||
|
||
case $dirmode in | ||
'') | ||
if mkdir -p -- . 2>/dev/null; then | ||
echo "mkdir -p -- $*" | ||
exec mkdir -p -- "$@" | ||
fi ;; | ||
*) | ||
if mkdir -m "$dirmode" -p -- . 2>/dev/null; then | ||
echo "mkdir -m $dirmode -p -- $*" | ||
exec mkdir -m "$dirmode" -p -- "$@" | ||
fi ;; | ||
esac | ||
|
||
for file | ||
do | ||
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` | ||
shift | ||
|
||
pathcomp= | ||
for d | ||
do | ||
pathcomp="$pathcomp$d" | ||
case "$pathcomp" in | ||
-* ) pathcomp=./$pathcomp ;; | ||
esac | ||
|
||
if test ! -d "$pathcomp"; then | ||
echo "mkdir $pathcomp" | ||
|
||
mkdir "$pathcomp" || lasterr=$? | ||
|
||
if test ! -d "$pathcomp"; then | ||
errstatus=$lasterr | ||
else | ||
if test ! -z "$dirmode"; then | ||
echo "chmod $dirmode $pathcomp" | ||
|
||
lasterr="" | ||
chmod "$dirmode" "$pathcomp" || lasterr=$? | ||
|
||
if test ! -z "$lasterr"; then | ||
errstatus=$lasterr | ||
fi | ||
fi | ||
fi | ||
fi | ||
|
||
pathcomp="$pathcomp/" | ||
done | ||
done | ||
|
||
exit $errstatus | ||
|
||
# Local Variables: | ||
# mode: shell-script | ||
# sh-indentation: 3 | ||
# End: | ||
# mkinstalldirs ends here |