]> cloudbase.mooo.com Git - kermit-80.git/blame - Makefile
Add AVR-CP/M system (cpxac.asm) and a Makefile
[kermit-80.git] / Makefile
CommitLineData
b0db0839
L
1
2# The system-independent files:
3
4SRC_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
7
8# The system-dependent files:
9
10SRC_SYSDEP = cpxtyp.asm cpxlnk.asm cpxcom.asm cpxswt.asm cpxvdu.asm
11
12# One of:
13
14SRC_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
17
18
19OVLADR = 7000
20
21
22
23
24# CP/M emulator
25#CPMEMU = aliados
26CPMEMU = zxcc
27
28ifeq "$(OS)" "Windows_NT"
29 PLATFORM=win32
30else
31 PLATFORM=Linux
32endif
33
34#Location of M80/L80
35ifeq ($(PLATFORM),Linux)
36 CPMBIN = /usr/local/lib/cpm/bin80
37else
38 CPMBIN = C:/cpmbin
39endif
40
41AS = $(CPMEMU) $(CPMBIN)/m80.com
42LINK = $(CPMEMU) $(CPMBIN)/l80.com
43
44do_as =
45 @COMMAND="$(AS) =$<"; \
46 OUTPUT=$$(mktemp); echo $${COMMAND}; \
47 $${COMMAND} > $${OUTPUT}; \
48 grep -q 'No Fatal error(s).$$' $${OUTPUT}; ERROR=$$? ; \
49 if [ "$${ERROR}" != "0" ]; then cat $${OUTPUT}; rm $@; fi ; \
50 rm $${OUTPUT}; \
51 exit $${ERROR}
52
53
54.PHONY: all
55
56.SUFFIXES:
57
58all: kerm411.com cpxtyp.prn cpsker.prn
59
60
61kerm411.com: cpsker.rel cpxtyp.rel
62 $(LINK) -/P:100,cpsker,cpsker/N/X/E
63 $(LINK) -/P:$(OVLADR),cpxtyp,cpxtyp/N/X/E
64 $(CPMEMU) mload.com -kerm411.com=cpsker.hex,cpxtyp.hex
65
66# grep -v -P '^(\x1A)|(:..7)|(:00....01)' cpsker.hex >kerm411.hex
67# grep -v -P '^\x1A' cpxtyp.hex >>kerm411.hex
68# objcopy -I ihex -O binary kerm411.hex kerm411.com
69
70
71cpxtyp.rel: $(SRC_SYSDEP) $(SRC_SYSTEM)
72cpsker.rel: $(SRC_CPSKER)
73cpxtyp.prn: $(SRC_SYSDEP) $(SRC_SYSTEM)
74cpsker.prn: $(SRC_CPSKER)
75
76mload.com: mload.rel
77 $(LINK) -/P:100,mload,mload/N/E
78
79mload.rel: mload.asm
80 echo -e 'aseg\r' >tmp.mac
81 cat mload.asm >>tmp.mac
82 @COMMAND="$(AS) -mload=tmp.mac"; \
83 OUTPUT=$$(mktemp); echo $${COMMAND}; \
84 $${COMMAND} > $${OUTPUT}; \
85 grep -q 'No Fatal error(s).$$' $${OUTPUT}; ERROR=$$? ; \
86 if [ "$${ERROR}" != "0" ]; then cat $${OUTPUT}; rm $@; fi ; \
87 rm $${OUTPUT}; \
88 exit $${ERROR}
89
90
91%.rel: %.asm
92 @COMMAND="$(AS) =$<"; \
93 OUTPUT=$$(mktemp); echo $${COMMAND}; \
94 $${COMMAND} | tee $${OUTPUT}; \
95 grep -q 'No Fatal error(s).$$' $${OUTPUT}; ERROR=$$? ; \
96 if [ "$${ERROR}" != "0" ]; then cat $${OUTPUT}; rm $@; fi ; \
97 #rm $${OUTPUT}; \
98 exit $${ERROR}
99
100
101%.prn: %.asm
102 @COMMAND="$(AS) ,$@=$<"; \
103 OUTPUT=$$(mktemp); echo $${COMMAND}; \
104 $${COMMAND} > $${OUTPUT}; \
105 grep -q 'No Fatal error(s).$$' $${OUTPUT}; ERROR=$$? ; \
106 if [ "$${ERROR}" != "0" ]; then cat $${OUTPUT}; fi ; \
107 #rm $${OUTPUT}; \
108 exit $${ERROR}
109
110
111#%.BIN: %.rel
112# $(LINK) $<,$@/N/E
113## zxcc l80.com -$<,$@/N/E
114
115%.com: %.rel
116 $(LINK) $<,$@/N/E
117
118
119.PHONY: clean
120
121clean:
122 rm -f *.rel *.prn