%.exe: %.cil
- ilasm -out:$@ $<
+ ilasm2 -out:$@ $<
-compile-stamp: generate-stamp
- for i in *.il; do ilasm2 $$i; done
- for i in *.cs; do gmcs /unsafe $$i; done
+BatchCompiler.exe: BatchCompiler.cs
+ gmcs -r:../../../../mcs/class/lib/net_2_0/ilasm.exe BatchCompiler.cs
+
+compile-stamp: generate-stamp BatchCompiler.exe
+ for i in *.cs; do \
+ EXE="`echo $$i | cut -d. -f1`.exe"; \
+ if ! [ -f $$EXE ]; then \
+ gmcs /unsafe $$i; \
+ fi \
+ done
+ MONO_PATH=../../../../mcs/class/lib/net_2_0/ mono BatchCompiler.exe
touch compile-stamp
clean:
test: compile-stamp run-test
-run-test:
+run-test: compile-stamp
@for i in *.exe; do \
TEST=`echo $$i | cut -d '.' -f 1`; \
RES=99; \
then \
RES=3; \
fi; \
- if [ "$$FIRST" == "unverifiable" ]; \
+ if [ "$$FIRST" == "unverifiable" ] || [ "$FIRST" == "typeunverifiable" ]; \
then \
RES=2; \
fi; \
if [ $$R2 != 0 ]; then \
echo "$$TEST is type unverifiable but did not pass under non-strict check, got $${R2} but expected 0"; \
fi \
- else \
+ elif [ $RES != 99 ]; then \
../../metadata/pedump --verify error,warn,cls,code $$TEST.exe >/dev/null 2>/dev/null; \
R=$$?; \
if [ $$R != $$RES ]; then \