aboutsummaryrefslogtreecommitdiff
path: root/mpw-build.in
blob: c9ea70d508b3031d5451cbf4ae1fe253b4381fcf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# Top-level script fragment to build everything for MPW.

Set savedir "`Directory`"

#Set Echo 1

Set ThisScript "{0}"

Set objdir ":"

Set verify 0

Set BuildTarget "none"

# Parse arguments.

Loop
	Break If {#} == 0
		If "{BuildTarget}" =~ /none/
			Set BuildTarget "{1}"
		Else
			Echo Only one build target allowed, ignoring "{1}"
		End If
	Shift 1
End Loop

If {verify} == 1
	Echo "#" Doing "{ThisScript}" "{BuildTarget}" in "`Directory`" ... 
End If

If "`Exists Makefile`" != ""
	Echo "Set Echo 1" >{BuildTarget}.makeout
	Make -f Makefile {BuildTarget} >>{BuildTarget}.makeout
	{BuildTarget}.makeout
	Delete {BuildTarget}.makeout
Else If "{BuildTarget}" =~ /all/
	"{ThisScript}" all-gcc
	"{ThisScript}" all-ld
	"{ThisScript}" all-gdb
Else If "{BuildTarget}" =~ /all-binutils/
	"{ThisScript}" do-libiberty
	"{ThisScript}" do-bfd
	"{ThisScript}" do-opcodes
	"{ThisScript}" do-binutils
Else If "{BuildTarget}" =~ /all-gas/
	"{ThisScript}" do-libiberty
	"{ThisScript}" do-bfd
	"{ThisScript}" do-opcodes
	"{ThisScript}" do-gas
Else If "{BuildTarget}" =~ /all-gcc/
	"{ThisScript}" all-gas
	"{ThisScript}" all-binutils
	"{ThisScript}" do-gcc
Else If "{BuildTarget}" =~ /all-gdb/
	"{ThisScript}" do-libiberty
	"{ThisScript}" do-bfd
	"{ThisScript}" do-opcodes
	"{ThisScript}" do-gdb
Else If "{BuildTarget}" =~ /all-ld/
	"{ThisScript}" do-libiberty
	"{ThisScript}" do-bfd
	"{ThisScript}" do-opcodes
	"{ThisScript}" do-ld
Else If "{BuildTarget}" =~ /do-bfd/
	SetDirectory :bfd:
	::mpw-build all
Else If "{BuildTarget}" =~ /do-libiberty/
	SetDirectory :libiberty:
	::mpw-build all
Else If "{BuildTarget}" =~ /do-opcodes/
	SetDirectory :opcodes:
	::mpw-build all
Else If "{BuildTarget}" =~ /do-binutils/
	SetDirectory :binutils:
	::mpw-build all
Else If "{BuildTarget}" =~ /do-gas/
	SetDirectory :gas:
	::mpw-build all
Else If "{BuildTarget}" =~ /do-gcc/
	SetDirectory :gcc:
	::mpw-build all
Else If "{BuildTarget}" =~ /do-gdb/
	SetDirectory :gdb:
	::mpw-build all
Else If "{BuildTarget}" =~ /do-ld/
	SetDirectory :ld:
	::mpw-build all
Else If "{BuildTarget}" =~ /install/
	"{ThisScript}" install-binutils
	"{ThisScript}" install-gas
	"{ThisScript}" install-gcc
#	"{ThisScript}" install-gdb
	"{ThisScript}" install-ld
Else If "{BuildTarget}" =~ /install-binutils/
	SetDirectory :binutils:
	::mpw-build install
Else If "{BuildTarget}" =~ /install-gas/
	SetDirectory :gas:
	::mpw-build install
Else If "{BuildTarget}" =~ /install-gcc/
	SetDirectory :gcc:
	::mpw-build install
Else If "{BuildTarget}" =~ /install-gdb/
	SetDirectory :gdb:
	::mpw-build install
Else If "{BuildTarget}" =~ /install-ld/
	SetDirectory :ld:
	::mpw-build install
Else
End If

SetDirectory "{savedir}"