-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
77 lines (62 loc) · 2.42 KB
/
Copy pathMakefile
File metadata and controls
77 lines (62 loc) · 2.42 KB
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
# Python68K — easy top-level builds
#
# make host Build host (Linux) debug executable → build/host/pythonami
# make amiga Build AmigaOS 68000 release Hunk → ./pythonami
# make test Host unit + language tests
# make clean Remove host and Amiga build products
#
# Optional overrides:
# make host MODE=release
# make amiga MODE=debug
# make amiga VBCC=/path/to/vbcc NDK=/path/to/NDK3.2
VBCC ?= /home/piotr/local/vbcc
NDK ?= /run/media/piotr/BACKUP/Rozen/Programy/Amiga/NDK3.2
# Optional: MODE=debug|release
# make host → debug unless MODE=release
# make amiga → release unless MODE=debug
MODE ?=
.PHONY: all help host amiga debug release test language-test \
amiga-debug amiga-release amiga-ext clean
all: help
help:
@echo "Python68K build targets:"
@echo " make host Host GCC build (default debug; MODE=release for optimized)"
@echo " make amiga Amiga vbcc +aos68k build (default release; MODE=debug for debug)"
@echo " make amiga-ext Amiga LoadSeg sample extension (demo_add.py68k via vasm/vlink)"
@echo " make test Host unit + language tests"
@echo " make language-test Host language fixture diffs only"
@echo " make clean Remove build products"
@echo ""
@echo "Aliases: debug, release, amiga-debug, amiga-release"
@echo "Amiga paths: VBCC=$(VBCC)"
@echo " NDK=$(NDK)"
# ---- Host (GCC) ----------------------------------------------------------
ifeq ($(MODE),release)
host:
$(MAKE) -f Makefile.host release
else
host:
$(MAKE) -f Makefile.host debug
endif
@echo "Host binary: build/host/pythonami"
debug release test language-test:
"$(MAKE)" -f Makefile.host $@
# ---- Amiga (vbcc) --------------------------------------------------------
amiga:
@if [ "$(MODE)" = "debug" ]; then \
"$(MAKE)" -f Makefile.amiga amiga-debug VBCC="$(VBCC)" NDK="$(NDK)"; \
echo "Amiga binary: pythonami-debug"; \
else \
"$(MAKE)" -f Makefile.amiga amiga-release VBCC="$(VBCC)" NDK="$(NDK)"; \
echo "Amiga binary: pythonami"; \
fi
amiga-debug:
"$(MAKE)" -f Makefile.amiga amiga-debug VBCC="$(VBCC)" NDK="$(NDK)"
amiga-release:
"$(MAKE)" -f Makefile.amiga amiga-release VBCC="$(VBCC)" NDK="$(NDK)"
amiga-ext:
"$(MAKE)" -f Makefile.amiga amiga-ext VBCC="$(VBCC)" NDK="$(NDK)"
# ---- Clean ---------------------------------------------------------------
clean:
"$(MAKE)" -f Makefile.host clean
"$(MAKE)" -f Makefile.amiga clean