mirror of
https://github.com/david-schmidt/gsport.git
synced 2024-09-27 08:54:30 +00:00
Replace perl scripts with rexx for building size and inst header files under OS/2
This commit is contained in:
parent
b6ebec20a6
commit
cf73dc4d8b
@ -1,5 +1,7 @@
|
||||
# GSport OS/2 makefile
|
||||
|
||||
TARGET = gsport.exe
|
||||
|
||||
OBJECTS1 = dirport.obj adb.obj clock.obj dis.obj engine_c.obj scc.obj \
|
||||
iwm.obj joystick_driver.obj moremem.obj paddles.obj \
|
||||
sim65816.obj smartport.obj sound.obj \
|
||||
@ -17,20 +19,36 @@ OBJECTS1 = dirport.obj adb.obj clock.obj dis.obj engine_c.obj scc.obj \
|
||||
@echo " Compile::C++ Compiler "
|
||||
icc.exe /DTCPV40HDRS /DBSD_SELECT /Dinline= /I..\.. /Ss /Q /Ti /Gm /G4 /Ft- /C %s
|
||||
|
||||
gsport.exe: $(OBJECTS1)
|
||||
$(TARGET): $(OBJECTS1)
|
||||
@echo " Link::Linker "
|
||||
icc.exe @<<
|
||||
/B" /de /pmtype:pm /st:196608 "
|
||||
/Fegsport.exe
|
||||
/Fe$(TARGET)
|
||||
so32dll.lib
|
||||
tcp32dll.lib
|
||||
$(OBJECTS1)
|
||||
<<
|
||||
rc gsportos2.rc gsport.exe
|
||||
rc gsportos2.rc $(TARGET)
|
||||
echo done
|
||||
|
||||
clean:
|
||||
- rm $(OBJECTS1)
|
||||
- rm $(TARGET)
|
||||
- rm gsportos2.res
|
||||
- rm ../../size_s.h
|
||||
- rm ../../size_c.h
|
||||
- rm ../../8size_s.h
|
||||
- rm ../../16size_s.h
|
||||
- rm ../../8inst_s.h
|
||||
- rm ../../8inst_c.h
|
||||
- rm ../../16inst_s.h
|
||||
- rm ../../16inst_c.h
|
||||
|
||||
../../size_c.h:
|
||||
call make_size.cmd
|
||||
|
||||
../../8inst_c.h:
|
||||
call make_inst.cmd
|
||||
|
||||
# dependency stuff
|
||||
dirport.obj: src/dirport.c src/dirport.h
|
||||
|
76
src/arch/os2/make_inst.cmd
Normal file
76
src/arch/os2/make_inst.cmd
Normal file
@ -0,0 +1,76 @@
|
||||
/*
|
||||
|
||||
make_inst.cmd:
|
||||
|
||||
Translation of the make_inst perl script and makefile to rexx for OS/2
|
||||
|
||||
8inst_s.h: instable.h
|
||||
$(PERL) make_inst s 8 instable.h > 8inst_s.h
|
||||
|
||||
16inst_s.h: instable.h
|
||||
$(PERL) make_inst s 16 instable.h > 16inst_s.h
|
||||
|
||||
8inst_c.h: instable.h
|
||||
$(PERL) make_inst c 8 instable.h > 8inst_c.h
|
||||
|
||||
16inst_c.h: instable.h
|
||||
$(PERL) make_inst c 16 instable.h > 16inst_c.h
|
||||
|
||||
*/
|
||||
|
||||
count = 0;
|
||||
|
||||
FileNameIn = "..\..\instable.h"
|
||||
FileNameOut8s = "..\..\8inst_s.h"
|
||||
FileNameOut8c = "..\..\8inst_c.h"
|
||||
FileNameOut16s = "..\..\16inst_s.h"
|
||||
FileNameOut16c = "..\..\16inst_c.h"
|
||||
|
||||
DEL FileNameOut8s
|
||||
DEL FileNameOut8c
|
||||
DEL FileNameOut16s
|
||||
DEL FileNameOut16c
|
||||
crud = STREAM(FileNameIn,"C","open read")
|
||||
crud = STREAM(FileNameOut8s,"C","open write")
|
||||
crud = STREAM(FileNameOut8c,"C","open write")
|
||||
crud = STREAM(FileNameOut16s,"C","open write")
|
||||
crud = STREAM(FileNameOut16c,"C","open write")
|
||||
|
||||
Do while (STREAM(FileNameIn,"S") = "READY")
|
||||
line = LINEIN(FileNameIn);
|
||||
|
||||
SymPos = POS("_SYM",line)
|
||||
if (SymPos > 0) Then
|
||||
Do
|
||||
if POS("inst",line) > 0 Then
|
||||
Do
|
||||
if (count > 0) Then
|
||||
Do
|
||||
crud = LINEOUT(FileNameOut8c," break;");
|
||||
crud = LINEOUT(FileNameOut16c," break;");
|
||||
End
|
||||
newline = "case 0x"SUBSTR(line,SymPos-2,2)": "SUBSTR(line,SymPos+4)
|
||||
crud = LINEOUT(FileNameOut8c, newline);
|
||||
crud = LINEOUT(FileNameOut16c, newline);
|
||||
count = count + 1;
|
||||
End
|
||||
Else
|
||||
Do
|
||||
crud = LINEOUT(FileNameOut8s,SUBSTR(line,1,SymPos)" . "8" . "SUBSTR(line,SymPos+4));
|
||||
crud = LINEOUT(FileNameOut16s,SUBSTR(line,1,SymPos)" . "16" . "SUBSTR(line,SymPos+4));
|
||||
End
|
||||
End
|
||||
Else
|
||||
Do
|
||||
crud = LINEOUT(FileNameOut8c,line);
|
||||
crud = LINEOUT(FileNameOut8s,line);
|
||||
crud = LINEOUT(FileNameOut16c,line);
|
||||
crud = LINEOUT(FileNameOut16s,line);
|
||||
End
|
||||
End
|
||||
say "Lines read: "Count
|
||||
crud = STREAM(FileNameIn,"C","close")
|
||||
crud = STREAM(FileNameOut8s,"C","close")
|
||||
crud = STREAM(FileNameOut8c,"C","close")
|
||||
crud = STREAM(FileNameOut16s,"C","close")
|
||||
crud = STREAM(FileNameOut16c,"C","close")
|
71
src/arch/os2/make_size.cmd
Normal file
71
src/arch/os2/make_size.cmd
Normal file
@ -0,0 +1,71 @@
|
||||
/*
|
||||
|
||||
make_inst.cmd:
|
||||
|
||||
Translation of the make_size perl script and makefile to rexx for OS/2
|
||||
|
||||
size_c.h: size_tab.h
|
||||
$(PERL) make_size c size_tab.h > size_c.h
|
||||
|
||||
size_s.h: size_tab.h
|
||||
$(PERL) make_size s size_tab.h > size_s.h
|
||||
|
||||
8size_s.h: size_tab.h
|
||||
$(PERL) make_size 8 size_tab.h > 8size_s.h
|
||||
|
||||
16size_s.h: size_tab.h
|
||||
$(PERL) make_size 16 size_tab.h > 16size_s.h
|
||||
|
||||
*/
|
||||
|
||||
FileNameIn = "..\..\size_tab.h"
|
||||
FileNameOuts = "..\..\size_s.h"
|
||||
FileNameOutc = "..\..\size_c.h"
|
||||
FileNameOut8 = "..\..\8size_s.h"
|
||||
FileNameOut16 = "..\..\16size_s.h"
|
||||
|
||||
DEL FileNameOuts
|
||||
DEL FileNameOutc
|
||||
DEL FileNameOut8
|
||||
DEL FileNameOut16
|
||||
crud = STREAM(FileNameIn,"C","open read")
|
||||
crud = STREAM(FileNameOuts,"C","open write")
|
||||
crud = STREAM(FileNameOutc,"C","open write")
|
||||
crud = STREAM(FileNameOut8,"C","open write")
|
||||
crud = STREAM(FileNameOut16,"C","open write")
|
||||
|
||||
Do while (STREAM(FileNameIn,"S") = "READY")
|
||||
line = LINEIN(FileNameIn);
|
||||
|
||||
SymPos = POS("_SYM",line)
|
||||
if (SymPos > 0) Then
|
||||
Do
|
||||
newline = " .byte 0x"SUBSTR(line,SymPos+5,1)", /* "SUBSTR(line,SymPos-2,2)" */ "SUBSTR(line,SymPos+6)
|
||||
crud = LINEOUT(FileNameOuts, newline);
|
||||
newline = " 0x"SUBSTR(line,SymPos+5,1)", /* "SUBSTR(line,SymPos-2,2)" */ "SUBSTR(line,SymPos+6)
|
||||
crud = LINEOUT(FileNameOutc, newline);
|
||||
newline = " .word inst"SUBSTR(line,SymPos-2,2)" . 8 . /*"SUBSTR(line,SymPos+5,1)"*/ "SUBSTR(line,SymPos+6)
|
||||
crud = LINEOUT(FileNameOut8, newline);
|
||||
newline = " .word inst"SUBSTR(line,SymPos-2,2)" . 16 . /*"SUBSTR(line,SymPos+5,1)"*/ "SUBSTR(line,SymPos+6)
|
||||
crud = LINEOUT(FileNameOut16, newline);
|
||||
End
|
||||
Else if (POS(".block",line) > 0) Then
|
||||
Do
|
||||
crud = LINEOUT(FileNameOuts, "");
|
||||
crud = LINEOUT(FileNameOutc, "");
|
||||
crud = LINEOUT(FileNameOut8, line);
|
||||
crud = LINEOUT(FileNameOut16, line);
|
||||
End
|
||||
Else
|
||||
Do
|
||||
crud = LINEOUT(FileNameOuts, line);
|
||||
crud = LINEOUT(FileNameOutc, line);
|
||||
crud = LINEOUT(FileNameOut8, line);
|
||||
crud = LINEOUT(FileNameOut16, line);
|
||||
End
|
||||
End
|
||||
crud = STREAM(FileNameIn,"C","close")
|
||||
crud = STREAM(FileNameOuts,"C","close")
|
||||
crud = STREAM(FileNameOutc,"C","close")
|
||||
crud = STREAM(FileNameOut8,"C","close")
|
||||
crud = STREAM(FileNameOut16,"C","close")
|
Loading…
Reference in New Issue
Block a user