]> Shamusworld >> Repos - rmac/blob - maketabs.bat
Fix a small buglet in the last patch. :-)
[rmac] / maketabs.bat
1 @echo off
2 REM Check for file dates and build .h files if needed
3
4 SET FILE1=68k.mch
5 SET FILE2=68ktab.h
6 if not exist %FILE2% GOTO BUILD
7 for /F %%i IN ('dir /b /OD %FILE1% %FILE2% ^| more +1') DO SET NEWEST=%%i
8 if %NEWEST%==%FILE1% GOTO BUILD
9
10 SET FILE1=direct.tab
11 SET FILE2=mntab.h
12 if not exist %FILE2% GOTO BUILD
13 for /F %%i IN ('dir /b /OD %FILE1% %FILE2% ^| more +1') DO SET NEWEST=%%i
14 if %NEWEST%==%FILE1% GOTO BUILD
15
16 SET FILE1=kw.tab
17 SET FILE2=kwtab.h
18 if not exist %FILE2% GOTO BUILD
19 for /F %%i IN ('dir /b /OD %FILE1% %FILE2% ^| more +1') DO SET NEWEST=%%i
20 if %NEWEST%==%FILE1% GOTO BUILD
21
22 SET FILE1=risc.tab
23 SET FILE2=risckw.h
24 if not exist %FILE2% GOTO BUILD
25 for /F %%i IN ('dir /b /OD %FILE1% %FILE2% ^| more +1') DO SET NEWEST=%%i
26 if %NEWEST%==%FILE1% GOTO BUILD
27
28 SET FILE1=dsp56k.mch
29 SET FILE2=dsp56ktab.h
30 if not exist %FILE2% GOTO BUILD
31 for /F %%i IN ('dir /b /OD %FILE1% %FILE2% ^| more +1') DO SET NEWEST=%%i
32 if %NEWEST%==%FILE1% GOTO BUILD
33
34 SET FILE1=6502.tab
35 SET FILE2=6502kw.h
36 if not exist %FILE2% GOTO BUILD
37 for /F %%i IN ('dir /b /OD %FILE1% %FILE2% ^| more +1') DO SET NEWEST=%%i
38 if %NEWEST%==%FILE1% GOTO BUILD
39
40 SET FILE1=op.tab
41 SET FILE2=opkw.h
42 if not exist %FILE2% GOTO BUILD
43 for /F %%i IN ('dir /b /OD %FILE1% %FILE2% ^| more +1') DO SET NEWEST=%%i
44 if %NEWEST%==%FILE1% GOTO BUILD
45
46 GOTO END
47
48 :BUILD
49
50 echo Generating files...
51
52 68kgen 68k.tab <68k.mch >68ktab.h
53 dsp56kgen dsp56k.tab <dsp56k.mch >dsp56ktab.h
54 type direct.tab 68k.tab | kwgen mn >mntab.h
55 kwgen kw <kw.tab >kwtab.h
56 kwgen mr <risc.tab >risckw.h
57 kwgen dsp <dsp56k.tab >dsp56kkw.h
58 kwgen mp <6502.tab >6502kw.h
59 kwgen mp <6502.tab >6502kw.h
60 kwgen mo <op.tab >opkw.h
61
62
63 rem touch files that include these header files so they'll recompile
64 echo Generating tables...
65 copy /b amode.c +,, >NUL
66 copy /b direct.c +,, >NUL
67 copy /b expr.c +,, >NUL
68 copy /b mach.c +,, >NUL
69 copy /b procln.c +,, >NUL
70 copy /b riscasm.c +,, >NUL
71 copy /b token.c +,, >NUL
72 copy /b dsp56k_mach.c +,, >NUL
73
74 :END
75
76 REM If eagen0.c is newer than eagen.c then "touch" eagen.c so that visual studio will recompile both.
77 REM Same for amode.c / parmode.h and mach.c / 68ktab.h
78
79 SET FILE1=eagen0.c
80 SET FILE2=eagen.c
81 for /F %%i IN ('dir /b /OD %FILE1% %FILE2% ^| more +1') DO SET NEWEST=%%i
82 if %NEWEST%==%FILE2% GOTO CHECK2
83 Echo touching eagen0.c...
84 copy /b eagen.c +,, >NUL
85
86 :CHECK2
87 SET FILE1=parmode.h
88 SET FILE2=amode.c
89 for /F %%i IN ('dir /b /OD %FILE1% %FILE2% ^| more +1') DO SET NEWEST=%%i
90 if %NEWEST%==%FILE2% GOTO CHECK3
91 Echo touching amode.c...
92 copy /b amode.c +,, >NUL
93
94 :CHECK3
95 SET FILE1=68ktab.h
96 SET FILE2=mach.c
97 for /F %%i IN ('dir /b /OD %FILE1% %FILE2% ^| more +1') DO SET NEWEST=%%i
98 if %NEWEST%==%FILE2% GOTO END
99 Echo touching mach.c...
100 copy /b mach.c +,, >NUL
101
102 :END
103