; ; template for command file to build BP2 tasks ; .SETS DBG "" ! normally we don't debug .SETF NOLINE ! assume we compile /LINE .SETF SOME ! assume compile all modules .ASKS MYTASK PROGRAM NAME ! what is program name .ASK ALL RECOMPILE ALL MODULES ! shall we? .IFF ALL .ASK SOME COMPILE SOME MODULES ! no, maybe just 1 or more .ASK BLD BUILD 'MYTASK' ! shall we task build .IFT BLD .ASKS IDENT WHAT IS TASK IDENT ! get IDENT .IFF ALL .AND .IFF SOME .GOTO BUILD ! don't compile just rebuild .OPEN 'MYTASK'ASM.CMD;1 ! create compile cmd file .IFT ALL .GOTO CMPALL ! go compile all modules .GETNAM: .ASKS NAME MODULE NAME ! which module? .IF NAME EQ "" .GOTO COMPIL ! if go compile .SETS DBG "" ! reset each time .ASK DEBUG DEBUG MODULE ! compile /DEBUG? .IFT DEBUG .SETS DBG "/DEBUG" ! yes .IFF DEBUG .ASK NOLINE COMPILE/NOLINE ! compile /NOLINE? .IFT NOLINE .SETS DBG "/NOLINE" ! yes .DATA OLD 'NAME' ! OLD the file .DATA COMPILE 'NAME'.OBJ;1'DBG' ! COMPILE it .GOTO GETNAM .END LITERAL .PAGE .LITERAL .CMPALL: .ASK DEBUG DEBUG MODULES .IFT DEBUG .SETS DBG "/DEBUG" .IFF DEBUG .ASK NOLINE COMPILE /NOLINE .IFT NOLINE .SETS DBG "/NOLINE" .ENABLE DATA ; include BP2 commands here to ; compile all program modules .DISABLE DATA .COMPIL: .DATA EXIT .CLOSE BP2 @'MYTASK'ASM ! assemble modules PIP 'MYTASK'ASM.CMD;1/DE/NM .BUILD: .IFF BLD .GOTO EXIT ! if compile only ; ; give task a real .IDENT ; .OPEN IDENT.MAC;1 ! create a dummy root .ENABLE DATA ! module with a unique .TITLE IDENT ! IDENT .IDENT /'IDENT'/ .END .DISABLE DATA .CLOSE MAC IDENT.OBJ;1=IDENT ! assemble .end literal .page .literal ; ; generate TKB command file ; .OPEN 'MYTASK'BLD.CMD;1 ! could also include .ENABLE DATA ! building with RMSRES or 'MYTASK'.TSK;1/CP/FP='MYTASK'BLD/MP ! BP2RES as desired UNITS=14 ASG = TI:13 ASG = SY:5:6:7:8:9:10:11:12 // .DISABLE DATA .CLOSE ; ; generate ODL file ; .OPEN 'MYTASK'BLD.ODL;1 ! include non standard .ENABLE DATA ! overlays .ROOT IDENT-BASIC2-RMSROT-USER,RMSALL USER: .FCTR SY:'MYTASK'-LIBR ! generally more elaborate LIBR: .FCTR LB:[2,1]BASIC2/LB @LB:[2,1]BP2ICn ! BP2IC2 for SEQUENTIAL ; @LB:[2,1]tailored.odl ! Tailor for TKB speed @LB:[2,1]RMS11S ! General ODL for Seq access .END .DISABLE DATA .CLOSE ; ; taskbuild ; TXB @'MYTASK'BLD.CMD ! 32 K taskbuilder PIP 'MYTASK'BLD.CMD;*/DE/NM,'MYTASK'BLD.ODL;* ! clean up .EXIT: