sys7.1-doc-wip/Tools/d32trans
2019-07-27 22:37:48 +08:00

136 lines
3.0 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
# d32trans - options processing, running d32cpp
#
Set Exit 0
Set CaseSensitive 0
#
Set TransOptions ""
Set CppOptions ""
set ErrlogFile Dev:StdErr
set TempDir "{DSP3210_Temp}"
Set progress 0
Set RunCpp 1
If "{DSP3210_AsmPP}" == ""
set DSP3210_AsmPP "d32cpp"
End
Loop
Break If {#} == 0
If "{1}" =~ /-p/
set TransOptions "{TransOptions} -p"
Set progress 1
shift 1
continue
Else If "{1}" =~ /-a/
set RunCpp 0
shift 1
continue
Else If "{1}" =~ /-e/ || "{1}" =~ /-errlog/
set ErrlogFile "{2}"
shift 2
continue
Else If "{1}" =~ /-c/
set TransOptions "{TransOptions} -c"
shift 1
continue
Else If "{1}" =~ /-w/
set TransOptions "{TransOptions} -w"
shift 1
continue
Else If "{1}" =~ /-y/
set TransOptions "{TransOptions} {1} '{2}'"
If "{1}" !~ /≈:∞/
Set TempDir "{1}:"
Else
Set TempDir "{1}"
End
shift 2
continue
Else If "{1}" =~ /-d/ || "{1}" =~ /-define/
Set defines "{2}"
Loop
Break If "{defines}" !~ /([¬,]*)®1,[ ∂t]*(≈)®2/
Set CppOptions "{CppOptions} -D'{®1}'"
Set defines "{®2}"
End
Set CppOptions "{CppOptions} -D'{defines}'"
shift 2
continue
Else If "{1}" =~ /-u/ || "{1}" =~ /-undef/
Set undefines "{2}"
Loop
Break If "{undefines}" !~ /([¬,]*)®1,[ ∂t]*(≈)®2/
Set CppOptions "{CppOptions} -U'{®1}'"
Set undefines "{®2}"
End
Set CppOptions "{CppOptions} -U'{undefines}'"
shift 2
continue
Else If "{1}" =~ /-i/ || "{1}" =~ /-include/
Set includes "{2}"
Loop
Break If "{includes}" !~ /([¬,]*)®1,[ ∂t]*(≈)®2/
Set CppOptions "{CppOptions} -I'{®1}'"
Set includes "{®2}"
End
Set CppOptions "{CppOptions} -I'{includes}'"
shift 2
continue
Else If "{1}" =~ /-use/
d32trans_mac -use
exit 0
Else If "{1}" =~ /-≈/
echo "{0}: Illegal option. Usage:" >Dev:StdErr
d32trans_mac -use
exit 1
Else if "{infilename}" == ""
set infilename "{1}"
shift 1
continue
Else If "{outfilename}" == ""
set outfilename "{1}"
shift 1
continue
Else
echo "{0}: too many filename arguments" > Dev:StdErr
d32trans_mac -use
exit 1
End
End
If "{infilename}" == ""
set infilename Dev:StdIn
set outfilename Dev:StdOut
Else If "{outfilename}" == ""
set outfilename "{infilename}.cvt"
End
If {RunCpp}
If {progress}
Echo "{DSP3210_AsmPP}{CppOptions} {infilename} > {TempDir}'d32trans.tmp' ≥ {ErrlogFile}"
End
{DSP3210_AsmPP} {CppOptions} {infilename} > {TempDir}'d32trans.tmp' ≥ {ErrlogFile}
If {Status} > 0
exit 1
End
if {progress}
Echo "d32trans_mac {TransOptions} {TempDir}'d32trans.tmp' {outfilename} ≥≥ {ErrlogFile}"
End
d32trans_mac {TransOptions} {TempDir}'d32trans.tmp' {outfilename} ≥≥ {ErrlogFile}
Set stat {Status}
If {progress}
echo "Delete {TempDir}'d32trans.tmp' ≥≥ {ErrlogFile}"
End
Delete {TempDir}'d32trans.tmp' ≥≥ {ErrlogFile}
Exit {stat}
Else
if {progress}
Echo "d32trans_mac {TransOptions} {infilename} {outfilename} ≥≥ {ErrlogFile}"
End
d32trans_mac {TransOptions} {infilename} {outfilename} ≥≥ {ErrlogFile}
Exit {Status}
End
Exit 0