2 # The system-independent files:
4 SRC_CPSKER
= cpsker.asm cpsdef.asm cpsmit.asm cpscom.asm cpspk1.asm \
5 cpspk2.asm cpsrem.asm cpsser.asm cpstt.asm cpscpm.asm \
6 cpswld.asm cpscmd.asm cpsutl.asm cpsdat.asm cpxlnk.asm
8 # The system-dependent files:
10 SRC_SYSDEP
= cpxtyp.asm cpxlnk.asm cpxcom.asm cpxswt.asm cpxvdu.asm
14 SRC_SYSTEM
= cpxsys.asm cpxtor.asm cpxnor.asm cpxmrl.asm cpxsb.asm \
15 cpxcif.asm cpxhea.asm cpxapp.asm cpxpcw.asm cpxbbi.asm cpxbee.asm \
16 cpxsyo.asm cpxtm4.asm cpxgni.asm cpxpro.asm cpxz80.asm cpxac.asm
21 # Create assembler listing by default
28 ifeq "$(OS)" "Windows_NT"
35 ifeq ($(PLATFORM
),Linux
)
36 CPMBIN
= /usr
/local
/lib
/cpm
/bin80
41 AS
= $(CPMEMU
) $(CPMBIN
)/m80.com
42 LINK
= $(CPMEMU
) $(CPMBIN
)/l80.com
49 space
:= $(empty
) $(empty
)
50 commasep
= $(subst $(space
),$(comma
),$(strip $(1)))
51 ccpline
= $(CPMEMU
) $(1) -$(call commasep
, $(2))
54 @COMMAND
="$(AS) -=$<$(AS_FLAGS)"; \
55 OUTPUT
=$$(mktemp
); echo
$${COMMAND}; \
56 $${COMMAND} | tee
$${OUTPUT}; \
57 grep
-q
'No Fatal error(s).$$' $${OUTPUT}; ERROR
=$$?
; \
58 if
[ "$${ERROR}" != "0" ]; then cat
$${OUTPUT}; $(RM
) $@
; fi
; \
69 kerm411.com
: cpsker.hex cpxtyp.hex
70 $(CPMEMU
) mload.com
-$@
=$(call commasep
, $^
)
72 cpsker.hex
: LOADADR
= 100
73 cpxtyp.hex
: LOADADR
= $(OVLADR
)
76 cpxtyp.hex
: $(SRC_SYSDEP
) $(SRC_SYSTEM
)
77 cpsker.hex
: $(SRC_CPSKER
)
78 #cpxtyp.prn: $(SRC_SYSDEP) $(SRC_SYSTEM)
79 #cpsker.prn: $(SRC_CPSKER)
81 kerm411.com
: | mload.com
84 .INTERMEDIATE
: mload.rel tmp.asm
85 mload.rel
: AS_FLAGS
= / # No assembler listing
88 $(ECHO
) 'aseg\r' >tmp.asm
89 cat mload.asm
>>tmp.asm
97 $(LINK
) -/P
:$(LOADADR
),$(call commasep
, $< $@
)/N
/X
/E
101 $(LINK
) -/P
:100,$(call commasep
, $< $@
)/N
/E