2009-03-26 Rodrigo Kumpera <rkumpera@novell.com>
[mono.git] / mono / tests / metadata-verifier / Makefile
1 GLIB_CFLAGS=`pkg-config --cflags glib-2.0`
2 GLIB_LINK_FLAGS=`pkg-config --libs glib-2.0`
3
4 %.exe: %.il
5         ilasm2 -out:$@ $<
6
7 assembly-with-resource.exe: assembly-with-resource.cs
8         gmcs assembly-with-resource.cs -linkresource:Makefile -resource:simple-assembly.il
9
10 gen-md-tests: gen-md-tests.c
11         gcc $(GLIB_CFLAGS) $(GLIB_LINK_FLAGS) gen-md-tests.c -g -Wall -o gen-md-tests
12
13 header-tests.ok: gen-md-tests header-tests.md simple-assembly.exe
14         ./gen-md-tests header-tests.md
15         touch header-tests.ok
16
17 section-table-tests.ok: gen-md-tests section-table-tests.md simple-assembly.exe
18         ./gen-md-tests section-table-tests.md
19         touch section-table-tests.ok
20
21 data-directory-tests.ok: gen-md-tests data-directory-tests.md simple-assembly.exe
22         ./gen-md-tests data-directory-tests.md
23         touch data-directory-tests.ok
24
25 resources-tests.ok: gen-md-tests resources-tests.md assembly-with-resource.exe
26         ./gen-md-tests resources-tests.md
27         touch resources-tests.ok
28
29 cli-header-tests.ok: gen-md-tests cli-header-tests.md simple-assembly.exe
30         ./gen-md-tests cli-header-tests.md
31         touch cli-header-tests.ok
32
33 cli-metadata-tests.ok: gen-md-tests cli-metadata-tests.md simple-assembly.exe
34         ./gen-md-tests cli-metadata-tests.md
35         touch cli-metadata-tests.ok
36
37 cli-tables-tests.ok: gen-md-tests cli-tables-tests.md simple-assembly.exe
38         ./gen-md-tests cli-tables-tests.md
39         touch cli-tables-tests.ok
40
41 generate-stamp: header-tests.ok section-table-tests.ok data-directory-tests.ok resources-tests.ok cli-header-tests.ok cli-metadata-tests.ok cli-tables-tests.ok
42         touch generate-stamp
43
44 clean-stamps:
45         rm -f *.ok
46         rm -f generate-stamp
47
48 run-test: generate-stamp
49         @for i in *.exe; do \
50                 RES=99; \
51                 FIRST=`echo $$i | cut -d '-' -f 1`; \
52                 if [ "$$FIRST" == "invalid" ];  then \
53                         RES=1; \
54                 fi; \
55                 if [ "$$FIRST" == "valid" ]; then \
56                         RES=0; \
57                 fi; \
58                 if [ $$RES != 99 ]; then \
59                         ../../metadata/pedump --verify metadata $$i >/dev/null 2>/dev/null; \
60                         R=$$?; \
61                         if [ $$R != $$RES ]; then \
62                                 echo "$$i failed expected $$RES but got $$R"; \
63                         fi; \
64                 fi; \
65         done
66
67
68
69 check_with_peverify: generate-stamp
70         @for i in *.exe; do \
71                 RES=99; \
72                 FIRST=`echo $$i | cut -d '-' -f 1`; \
73                 if [ "$$FIRST" == "invalid" ];  then \
74                         RES=1; \
75                 fi; \
76                 if [ "$$FIRST" == "valid" ]; then \
77                         RES=0; \
78                 fi; \
79                 if [ $$RES != 99 ]; then \
80                         peverify $$i >/dev/null 2>/dev/null; \
81                         R=$$?; \
82                         if [ $$R != $$RES ]; then \
83                                 echo "$$i failed expected $$RES but got $$R"; \
84                         fi; \
85                 fi; \
86         done