# # Makefile for CP/M 3.1 # # Please run ENV.BAT before using this makefile. # OBJS = mcd80a.obj mcd80f.obj parse.obj # # Because DOS only allows fiddly little command lines, I'm using the # "xdel @command" abilities of DRDOS to pass long command lines. # COMS = \@coms.mak HEXS = \@hexs.mak BLKS = \@blks.mak MAKS = \@maks.mak MCOMS = copysys.com ccp.com date.com device.com dir.com dump.com ed.com \ erase.com get.com gencom.com gencpm.com help.com hexcom.cpm patch.com \ pip.com put.com rename.com save.com set.com setdef.com show.com \ submit.com type.com SRCDOCS = assemble.doc making.doc BINDOCS = readme.1st help.hlp BDOS = resbdos3.spr bdos3.spr bnkbdos3.spr ISIS = d:\tools\plm\utils\isis RM = erase RMF = xdel /n MV = rename ZXCC = zxcc CC = gcc ZIP = pkzip # all: ${MCOMS} ${BDOS} cpmldr.rel help.hlp clean: tidy -${RMF} ${COMS} -${RMF} ${HEXS} -${RMF} ${OBJS} -${RMF} ${BDOS} -${RMF} ${BLKS} -${RMF} *.lst -${RMF} *.rel -${RMF} *.sym -${RMF} *.tra -${RMF} *.rsx -${RMF} *.spr tidy: -${RMF} ${HEXS} -${RMF} ${BLKS} -${RMF} *.lst -${RMF} *.rel -${RMF} *.sym -${RMF} *.tra -${RMF} cpmbdos.asm -${RMF} cpmbdosx.asm ############################################################################ # # Build tools # hexcom: hexcom.c ${CC} -o hexcom hexcom.c hexpat: hexpat.c ${CC} -o hexpat hexpat.c # # Minhlp is a cut-down version of Help that only does [C]reate and [E]xtract # Being cut-down, it runs in ZXCC. # minhlp.com: hexcom minhlp.hex hexcom minhlp.com getrsx.lib ${ZXCC} rmac.cpm getrsx subrsx.rel: getrsx.asm makedate.lib copy getrsx.asm subrsx.asm echo submit equ true ;true if submit RSX > getrsx.lib ${ZXCC} rmac.cpm subrsx putrsx.rel: putrsx.asm makedate.lib ${ZXCC} rmac.cpm putrsx # ############################## # # SID # sid.spr: prs1asm.rel prs2mon.rel ${ZXCC} link.cpm sid.spr +-= +prs1asm +-, +prs2mon +-[OS] prs0mov.hex: prs0mov.asm makedate.lib ${ZXCC} mac.cpm prs0mov prs1asm.rel: prs1asm.asm ${ZXCC} rmac.cpm prs1asm prs2mon.rel: prs2mon.asm ${ZXCC} rmac.cpm prs2mon # ############################## # # CCP # # The redirection to CCPPHASE.* produces two lists of addresses (one in # CCP3.COM and one in LOADER3.PRL) which should match. # loader3.rel: loader3.asm ${ZXCC} rmac.cpm loader3 >ccpphase.lst loader3.prl: loader3.rel ${ZXCC} link.cpm loader3 +-[OP] ccp3.hex: ccp3.asm ${ZXCC} mac.cpm ccp3 >>ccpphase.lst ccpdate.hex: ccpdate.asm makedate.lib ${ZXCC} mac.cpm ccpdate ccp.com: sid.com ccpdate.hex ccp3.hex loader3.prl ${ZXCC} sid.com loader3.prl