Skip to content
This repository has been archived by the owner on Nov 25, 2019. It is now read-only.

Commit

Permalink
Add two more
Browse files Browse the repository at this point in the history
svn path=/trunk/olive/; revision=64818
  • Loading branch information
migueldeicaza committed Sep 3, 2006
1 parent 816c482 commit 223fb2a
Show file tree
Hide file tree
Showing 2 changed files with 210 additions and 0 deletions.
111 changes: 111 additions & 0 deletions Makefile
Original file line number Original file line 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"
99 changes: 99 additions & 0 deletions mkinstalldirs
Original file line number Original file line 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

0 comments on commit 223fb2a

Please sign in to comment.