-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.cmd
92 lines (91 loc) · 2.83 KB
/
build.cmd
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
@echo off
echo ---------------- Build Windows Oberon compiler and system -----------------
echo.
::
::
rd /s /q build.win 2>NUL
md build.win >NUL 2>NUL
cd build.win
copy ..\knowngood\ORP.Compile.exe >NUL 2>NUL
copy ..\knowngood\Link.PE.exe >NUL 2>NUL
::
::
:: goto outercorebuild
:: fc ..\src\Link.Mod ..\knowngood\Link.Mod >NUL && goto noprebuild
goto noprebuild
::
::
echo.
echo ---------- Build prebuild linker with new link and old winhost -----------
echo.
::
::
copy /Y ..\knowngood\*.mod >NUL
copy /Y ..\src\Link.mod >NUL
ORP.Compile Win.Host.Mod/s Kernel.Mod/s Files.Mod/s Modules.Mod/s ~ || goto end
ORP.Compile Fonts.Mod/s Texts.Mod/s Link.Mod/s ~ || goto end
Link.PE Link || goto end
move /Y Link.exe Link.PE.exe >NUL
::
::
:noprebuild
echo.
echo ----------- Build with known good compiler and updated linker ------------
echo.
::
copy /Y ..\src\*.mod >NUL
::
ORP.Compile Win.Host.Mod/s Kernel.Mod/s Files.Mod/s Modules.Mod/s ~ || goto end
ORP.Compile Fonts.Mod/s Texts.Mod/s Link.Mod/s ORS.Mod/s ~ || goto end
ORP.Compile ORB.Mod/s X64.Mod/s Listing.Mod/s ORG.Mod/s ORP.Mod/s ~ || goto end
Link.PE ORP.Compile Link.PE || goto end
::
::
echo.
echo --------------- Rebuild compiler with newly built compiler ---------------
echo.
::
::
ORP.Compile Win.Host.Mod/s Kernel.Mod/s Files.Mod/s Modules.Mod/s ~ || goto end
ORP.Compile Fonts.Mod/s Texts.Mod/s Link.Mod/s ORS.Mod/s ~ || goto end
ORP.Compile ORB.Mod/s X64.Mod/s Listing.Mod/s ORG.Mod/s ORP.Mod/s ~ || goto end
Link.PE ORP.Compile Link.PE || goto end
goto oberonbuild
::
::
:outercorebuild
echo.
echo --------------------------- Build outer core -----------------------------
echo.
::
copy /Y ..\src\*.mod >NUL
::copy /Y ..\win\*.mod >NUL
::
ORP.Compile Win.Host.Mod/s Kernel.Mod/s Files.Mod/s Modules.Mod/s ~ || goto end
ORP.Compile Fonts.Mod/s Texts.Mod/s ~ || goto end
::
::
:oberonbuild
echo.
echo -------------------------- Build Oberon system ---------------------------
echo.
::
::
ORP.Compile FileDir.Mod/s Win.Gui.Mod/s Input.Mod/s Display.Mod/s ~ || goto end
ORP.Compile Viewers.Mod/s Oberon.Mod/s MenuViewers.Mod/s ~ || goto end
ORP.Compile TextFrames.Mod/s Edit.Mod/s System.Mod/s ~ || goto end
copy /Y ..\*.png >NUL 2>NUL
Link.PE Oberon+System || goto end
::Link.PE Oberon+System+ORP+Link || goto end
echo.
echo --------------------------- Run Oberon system ----------------------------
echo.
::
::
copy /Y ..\Win.System.Tool System.Tool>NUL 2>NUL
copy /Y ..\fnt\*.Fnt >NUL 2>NUL
Oberon
::
::
:end
cd ..