-
Notifications
You must be signed in to change notification settings - Fork 37
/
Copy pathMakefile
148 lines (125 loc) · 3.53 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
PACKAGE = z80pack
PREFIX = $(HOME)
#PREFIX = /usr/local
EXEC_PREFIX = $(PREFIX)
BINDIR = $(EXEC_PREFIX)/bin
DATAROOTDIR = $(PREFIX)/share
DATADIR = $(DATAROOTDIR)/$(PACKAGE)
DOCDIR = $(DATAROOTDIR)/doc/$(PACKAGE)
TOOLS = z80asm cpmsim/srctools
LIBS = frontpanel webfrontend/civetweb
BIOSES = cpmsim/srccpm2 cpmsim/srccpm3 cpmsim/srcmpm cpmsim/srcucsd-iv \
intelmdssim/srccpm2 imsaisim/srcucsd-iv picosim/srccpm2 \
picosim/srccpm3 picosim/srcucsd-iv
MISC = z80sim cpmtools
MACHINES = altairsim cpmsim cromemcosim imsaisim mosteksim z80sim intelmdssim
Z80ASMDIR = z80asm
Z80ASM = $(Z80ASMDIR)/z80asm
Z80ASMFLAGS = -l -T -sn -p0
ALTAIR_8080 = \
altairsim/basic8k78.asm \
altairsim/dzmation.asm \
altairsim/fdct1.asm \
altairsim/killbits.asm \
altairsim/killbits2.asm \
altairsim/kscope.asm \
altairsim/life.asm \
altairsim/microchess.asm \
altairsim/roms/als8-rom.asm \
altairsim/roms/apple.asm \
altairsim/roms/bootromt.asm \
altairsim/roms/bootromt-old.asm \
altairsim/roms/cuter-mits.asm \
altairsim/roms/dbl.asm \
altairsim/roms/mbl.asm \
altairsim/roms/miniboot.asm \
altairsim/roms/tinybasic-1.0.asm \
altairsim/roms/tinybasic-2.0.asm \
altairsim/roms/turnmon.asm
ALTAIR_Z80 = \
altairsim/roms/umzapex.asm \
altairsim/roms/zapple.asm
CROMEMCO_8080 = \
cromemcosim/dzmation.asm \
cromemcosim/kscope.asm \
cromemcosim/life.asm \
cromemcosim/microchess.asm \
cromemcosim/roms/z1mon-1.0.asm
CROMEMCO_Z80 = \
cromemcosim/roms/rdos1.asm \
cromemcosim/roms/rdos252.asm \
cromemcosim/roms/z1mon-1.4.asm
IMSAI_8080 = \
imsaisim/dzmation.asm \
imsaisim/kscope.asm \
imsaisim/life.asm \
imsaisim/microchess.asm \
imsaisim/roms/basic8k.asm \
imsaisim/roms/memon80.asm \
imsaisim/roms/viofm1.asm \
imsaisim/scs1.asm
IMSAI_Z80 = \
imsaisim/roms/basic4k.asm
all: tools libs bioses misc machines
tools:
@set -e; for subdir in $(TOOLS); do \
$(MAKE) -C $$subdir; \
done
libs:
@set -e; for subdir in $(LIBS); do \
$(MAKE) -C $$subdir; \
done
bioses:
@set -e; for subdir in $(BIOSES); do \
$(MAKE) -C $$subdir; \
done
misc:
@set -e; for subdir in $(MISC); do \
$(MAKE) -C $$subdir; \
done
machines:
@set -e; for subdir in $(MACHINES); do \
$(MAKE) -C $$subdir/srcsim; \
done
reassemble: $(Z80ASM)
@set -e; for file in $(ALTAIR_8080) $(CROMEMCO_8080) $(IMSAI_8080); do \
$(Z80ASM) $(Z80ASMFLAGS) -8 -fh -e16 "$$file"; \
done
@set -e; for file in $(ALTAIR_Z80) $(CROMEMCO_Z80) $(IMSAI_Z80); do \
$(Z80ASM) $(Z80ASMFLAGS) -fh -e16 "$$file"; \
done
$(Z80ASM): FORCE
$(MAKE) -C $(Z80ASMDIR)
FORCE:
install:
# @set -e; for subdir in $(TOOLS) $(LIBS) $(BIOSES) $(MISC); do \
# $(MAKE) -C $$subdir "PREFIX=$(PREFIX)" install; \
# done
# @set -e; for subdir in $(MACHINES); do \
# $(MAKE) -C $$subdir/srcsim "PREFIX=$(PREFIX)" install; \
# done
uninstall:
# @set -e; for subdir in $(TOOLS) $(LIBS) $(BIOSES) $(MISC); do \
# $(MAKE) -C $$subdir "PREFIX=$(PREFIX)" uninstall; \
# done
# @set -e; for subdir in $(MACHINES); do \
# $(MAKE) -C $$subdir/srcsim "PREFIX=$(PREFIX)" uninstall; \
# done
# rmdir $(DESTDIR)$(DATADIR)
clean:
@set -e; for subdir in $(TOOLS) $(LIBS) $(BIOSES) $(MISC); do \
$(MAKE) -C $$subdir clean; \
done
@set -e; for subdir in $(MACHINES); do \
$(MAKE) -C $$subdir/srcsim clean; \
done
distclean:
@set -e; for subdir in $(TOOLS) $(LIBS) $(BIOSES) $(MISC); do \
$(MAKE) -C $$subdir distclean; \
done
@set -e; for subdir in $(MACHINES); do \
$(MAKE) -C $$subdir/srcsim distclean; \
done
.NOTPARALLEL: all
.PHONY: all tools libs bioses misc machines reassemble FORCE \
install uninstall clean distclean