1#
2
3include ../Make.config
4
5CFILES = $(wildcard *.c)
6ZSFILES = $(wildcard zsock/*.c)
7AFILES = $(wildcard *.asm) $(wildcard conio/*.asm)
8AFILES_8080 = $(filter-out $(wildcard *scanf*.asm), $(wildcard *.asm)) $(wildcard conio/*.asm)
9OFILES = $(CFILES:.c=.o) $(AFILES:.asm=.o)
10CFILES_8080=
11OFILES_8080 = $(CFILES:.c=.o) $(CFILES_8080:.c=.o)  $(AFILES_8080:.asm=.o)
12OFILES_GBZ80 = $(CFILES:.c=.o) $(CFILES_8080:.c=.o)  $(AFILES_8080:.asm=.o)
13
14
15all: dirs $(addprefix  obj/,$(OFILES)) $(addprefix obj/ixiy/,$(OFILES)) $(addprefix obj/net/,$(ZSFILES:.c=.o)) $(addprefix obj/binary/,$(OFILES)) $(addprefix obj/stdesc/,$(OFILES)) $(addprefix obj/r2k/,$(OFILES)) $(addprefix obj/8080/,$(OFILES_8080)) $(addprefix obj/gbz80/,$(OFILES_GBZ80))
16
17obj/net/%.o: %.asm
18	$(ZCC) +z88 $(CFLAGS) -Ca-DSTANDARDESCAPECHARS -Cc-standard-escape-chars -Ca-I../ -c -o $@ $^
19
20obj/net/%.o: %.c
21	$(ZCC) +z88 $(CFLAGS) -Ca-DSTANDARDESCAPECHARS -Cc-standard-escape-chars -c -o $@ $^
22
23obj/binary/%.o: %.asm
24	$(ZCC) +cpm $(CFLAGS) -Ca-DSTANDARDESCAPECHARS -Cc-standard-escape-chars -Ca-I../ -c -o $@ $^
25
26obj/binary/%.o: %.c
27	$(ZCC) +cpm $(CFLAGS) -Ca-DSTANDARDESCAPECHARS -Cc-standard-escape-chars -c -o $@ $^
28
29
30
31obj/8080/%.o: %.asm
32	$(ZCC) +cpm -m8080 $(CFLAGS) -Ca-DSTANDARDESCAPECHARS -Cc-standard-escape-chars -Ca-I../ -c -o $@ $^
33
34obj/8080/%.o: %.c
35	$(ZCC) +cpm -m8080 $(CFLAGS) -Ca-DSTANDARDESCAPECHARS -Cc-standard-escape-chars -DCPU_8080 -c -o $@ $^
36
37obj/gbz80/%.o: %.asm
38	$(ZCC) +test -mgbz80 $(CFLAGS) -Ca-DSTANDARDESCAPECHARS -Cc-standard-escape-chars -Ca-I../ -c -o $@ $^
39
40obj/gbz80/%.o: %.c
41	$(ZCC) +test -mgbz80 $(CFLAGS) -Ca-DSTANDARDESCAPECHARS -Cc-standard-escape-chars -DCPU_8080 -c -o $@ $^
42
43obj/%.o: %.asm
44	$(ZCC) +test $(CFLAGS) -Ca-I../ -c -o $@ $^
45
46obj/%.o: %.c
47	$(ZCC) +test $(CFLAGS) -c -o $@ $^
48
49obj/stdesc/%.o: %.asm
50	$(ZCC) +test $(CFLAGS) -Ca-DSTANDARDESCAPECHARS -Ca-I../ -Cc-standard-escape-chars -c -o $@ $^
51
52obj/stdesc/%.o: %.c
53	$(ZCC) +test $(CFLAGS) -Cc-standard-escape-chars -c -o $@ $^
54
55
56
57
58.PHONY: dirs
59dirs:
60	@mkdir -p obj obj/net obj/conio obj/net/zsock
61	@mkdir -p obj/ixiy obj/ixiy/conio
62	@mkdir -p obj/binary obj/binary/conio
63	@mkdir -p obj/stdesc obj/stdesc/conio
64	@mkdir -p obj/r2k obj/r2k/conio
65	@mkdir -p obj/8080 obj/8080/8080 obj/8080/conio/
66	@mkdir -p obj/binary-8080 obj/binary-8080/8080 obj/binary-8080/conio
67	@mkdir -p obj/gbz80  obj/gbz80/8080  obj/gbz80/conio
68
69
70
71ansi-clean:
72	$(RM) ansi/*.o ansi/*/*.o
73
74clean:  ansi-clean
75	$(RM) *.o* *.sym *.map zcc_opt.def *.i */*.o
76	$(RM) -fr obj zcc_opt.def
77	$(MAKE) -C zsock clean
78