]> cloudbase.mooo.com Git - avrcpm.git/blame - cpm/Makefile
SVN --> GIT
[avrcpm.git] / cpm / Makefile
CommitLineData
fdcfcd44
L
1#WARNING! Do not run a 'make install' unless you know what you're doing.
2
fb050095
L
3CPMSIZE = 62
4
5CPMSYS = CPM$(CPMSIZE).SYS
6
dcd7e502
L
7IMGFORMAT = avrcpm
8#IMGFORMAT = simhd
9
4d217c28
L
10# CP/M emulator
11CPMEMU = aliados
12
13
14ifeq "$(OS)" "Windows_NT"
15 PLATFORM=win32
16else
17 PLATFORM=Linux
18endif
19
20
aeb04ad3 21#Location of M80/L80
4d217c28
L
22ifeq ($(PLATFORM),Linux)
23 CPMBIN = /usr/local/lib/cpm/bin80
24else
25 CPMBIN = C:/cpmbin
26endif
aeb04ad3 27
fdcfcd44 28
8cfe62c3 29diskimage: CPM.BIN cpmdsk/*
dcd7e502
L
30 mkfs.cpm -f $(IMGFORMAT) -b CPM.BIN -L test diskimage
31 cd cpmdsk; for x in *; do cpmcp -f $(IMGFORMAT) ../diskimage $$x 0:$$x; done; cd ..
fdcfcd44 32
fb050095 33CPM.BIN: IPL.BIN BIOS.BIN $(CPMSYS)
dcd7e502
L
34 dd conv=sync bs=118 count=1 if=IPL.BIN > tmpCPM.BIN &&\
35 echo -n "<CPM_Disk>" >> tmpCPM.BIN &&\
fb050095 36 dd conv=sync bs=128 count=44 if=$(CPMSYS) >> tmpCPM.BIN &&\
5b68ab8c 37 dd conv=sync bs=128 count=7 if=BIOS.BIN >> tmpCPM.BIN &&\
8cfe62c3 38 mv tmpCPM.BIN CPM.BIN
fdcfcd44 39
d8fa6a36
L
40zsdossys: IPL.BIN CCP.BIN ZSDOS.BIN BIOS.BIN
41 dd conv=sync bs=118 count=1 if=IPL.BIN > tmpCPM.BIN &&\
42 echo -n "<CPM_Disk>" >> tmpCPM.BIN &&\
43 dd conv=sync bs=128 count=16 if=CCP.BIN >> tmpCPM.BIN &&\
44 dd conv=sync bs=128 count=28 if=ZSDOS.BIN >> tmpCPM.BIN &&\
45 dd conv=sync bs=128 count=7 if=BIOS.BIN >> tmpCPM.BIN &&\
46 mv tmpCPM.BIN zsdossys
47
fdcfcd44 48
8cfe62c3
L
49BIOS.PRN BIOS.REL : AVRCPM.LIB CFGACPM.LIB
50IPL.PRN IPL.REL : CFGACPM.LIB
2396f399 51
8cfe62c3 52%.REL: %.MAC
aeb04ad3 53 $(CPMEMU) $(CPMBIN)/m80.com =$<
8cfe62c3 54# zxcc m80 -=$<
2396f399
L
55
56
8cfe62c3 57%.PRN: %.MAC
aeb04ad3 58 $(CPMEMU) $(CPMBIN)/m80.com ,$@=$<
8cfe62c3 59# zxcc m80.com -,$@=$<
2396f399 60
8cfe62c3 61%.BIN: %.REL
aeb04ad3 62 $(CPMEMU) $(CPMBIN)/l80.com $<,$@/N/E
8cfe62c3 63# zxcc l80.com -$<,$@/N/E
2396f399 64
e1dbe026
L
65%.COM: %.REL
66 $(CPMEMU) $(CPMBIN)/l80.com $<,$@/N/E
67# zxcc l80.com -$<,$@/N/E
68
2396f399
L
69.PHONY: clean installcpm install help
70
fdcfcd44 71clean:
e1dbe026
L
72 rm -f BIOS.LST IPL.LST
73 rm -f *.REL *.PRN *.BIN *.COM
74 rm -f diskimage
fdcfcd44 75
2396f399 76
8cfe62c3 77installcpm: CPM.BIN
2396f399 78ifneq (${DEV},)
8cfe62c3 79 sudo dd if=CPM.BIN of=${DEV} bs=128 conv=sync oflag=sync
db568140
L
80 sync
81 sleep 1
82 sync
2396f399
L
83else
84 @echo Error: You must specify a device to install to!
85 @echo " i.e. 'make $@ DEV=/dev/sdb1'"
86endif
db568140 87
2396f399
L
88install: diskimage
89ifneq (${DEV},)
90 sudo dd if=diskimage of=${DEV} conv=sync oflag=direct,sync
fdcfcd44 91 sync
dcd7e502 92 cpmls -f $(IMGFORMAT) ${DEV}
fdcfcd44
L
93 sync
94 sleep 1
95 sync
2396f399
L
96else
97 @echo Error: You must specify a device to install to!
98 @echo " i.e. 'make $@ DEV=/dev/sdb1'"
99endif
100
101help:
102 @echo -e "The following make targets are supported:\n"\
aeb04ad3 103 " diskimage - Build a complete CP/M image. (default)\n"\
8cfe62c3 104 " CPM.BIN - Build CP/M system (IPL+CCP+BDOS+BIOS).\n"\
d8fa6a36 105 " zsdossys - Build ZSDOS system (IPL+CCP+ZSDOS+BIOS).\n"\
2396f399 106 "\n"\
8cfe62c3
L
107 " BIOS.PRN - Make a listing file from bios.asm\n"\
108 " IPL.PRN - Dito for ipl\n"\
2396f399
L
109 "\n"\
110 " install - Copy diskimage to memory card.\n"\
111 " You must specify the card device on the command line.\n"\
112 " Example: 'DEV=/dev/sdb1'\n"\
113 " installcpm - Like install, but install only the system tracks,\n"\
114 " leaving the CP/M file system unaffected.\n"\
115 "\n"\
aeb04ad3
L
116 " clean - Remove intermediate and output files.\n"\
117 " help - Print this message and exit.\n"
d8fa6a36 118