/
Makefile.win
88 lines (65 loc) · 2.26 KB
/
Makefile.win
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
CC = cl
CFLAGS = /nologo
PROC = $(PLATFORM)
PROC = $(PROC:x86=i686)
PROC = $(PROC:x64=x86_64)
SYSTEM = windows-$(PROC)
MAKESYSTEMDIR = if not exist $(SYSTEM) md $(SYSTEM)
DR0=forth\library.img
DR1=forth\data.img
default: build
.SUFFIXES: .fs
.fs.img:
make $(SYSTEM)\disc.exe
$(SYSTEM)\disc.exe create < $< > $@
.phony:
build: $(SYSTEM)\orterforth.exe .phony
clean: .phony
del /Q $(SYSTEM)\*.*
model.inc: model.img $(SYSTEM)\orter.exe
$(SYSTEM)\orter.exe hex include model_img < model.img > model.inc
run: $(SYSTEM)\orterforth.exe $(DR0) $(DR1) .phony
@$(SYSTEM)\orterforth.exe $(DR0) $(DR1)
test: $(SYSTEM)\orterforth.exe forth\test.img .phony
@echo EMPTY-BUFFERS 1 LOAD | $(SYSTEM)\orterforth.exe forth\test.img
$(SYSTEM)\disc.exe: $(SYSTEM)\disc.obj
@$(MAKESYSTEMDIR)
$(CC) $(CFLAGS) /Fe$@ $**
$(SYSTEM)\disc.obj: disc.c orter/io.h orter/pty.h orter/serial.h orter/tcp.h persci.h
@$(MAKESYSTEMDIR)
$(CC) $(CFLAGS) /Fo$@ -c disc.c
$(SYSTEM)\inst.obj: inst.c model.inc rf.h system.inc
@$(MAKESYSTEMDIR)
$(CC) $(CFLAGS) /Fo$@ -c inst.c
$(SYSTEM)\io.obj: io.c rf.h system.inc
@$(MAKESYSTEMDIR)
$(CC) $(CFLAGS) /Fo$@ -c io.c
$(SYSTEM)\main.obj: main.c rf.h system.inc persci.h model.inc
@$(MAKESYSTEMDIR)
$(CC) $(CFLAGS) /Fo$@ -c main.c
$(SYSTEM)\orter.exe: orter\main.c $(SYSTEM)\orter_hex.obj $(SYSTEM)\orter_io.obj $(SYSTEM)\orter_m100.obj
@$(MAKESYSTEMDIR)
$(CC) $(CFLAGS) /Fe$@ $**
$(SYSTEM)\orterforth.exe: $(SYSTEM)\inst.obj $(SYSTEM)\io.obj $(SYSTEM)\main.obj $(SYSTEM)\persci.obj $(SYSTEM)\rf.obj $(SYSTEM)\system.obj
$(CC) $(CFLAGS) /Fe$@ $**
$(SYSTEM)\orter_bbc.obj: orter\bbc.c orter\bbc.h orter\io.h
@$(MAKESYSTEMDIR)
$(CC) $(CFLAGS) /Fo$@ -c orter\bbc.c
$(SYSTEM)\orter_hex.obj: orter\hex.c orter\hex.h
@$(MAKESYSTEMDIR)
$(CC) $(CFLAGS) /Fo$@ -c orter\hex.c
$(SYSTEM)\orter_io.obj: orter\io.c orter\io.h
@$(MAKESYSTEMDIR)
$(CC) $(CFLAGS) /Fo$@ -c orter\io.c
$(SYSTEM)\orter_m100.obj: orter\m100.c orter\m100.h
@$(MAKESYSTEMDIR)
$(CC) $(CFLAGS) /Fo$@ -c orter\m100.c
$(SYSTEM)\persci.obj: persci.c persci.h
@$(MAKESYSTEMDIR)
$(CC) $(CFLAGS) /Fo$@ -c persci.c
$(SYSTEM)\rf.obj: rf.c rf.h system.inc
@$(MAKESYSTEMDIR)
$(CC) $(CFLAGS) /Fo$@ -c rf.c
$(SYSTEM)\system.obj: system.c rf.h system.inc
@$(MAKESYSTEMDIR)
$(CC) $(CFLAGS) /Fo$@ -c system.c