-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile.amiga
More file actions
51 lines (40 loc) · 2.38 KB
/
Copy pathMakefile.amiga
File metadata and controls
51 lines (40 loc) · 2.38 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
VBCC ?= /home/piotr/local/vbcc
VC ?= $(VBCC)/bin/vc
VASM ?= $(VBCC)/bin/vasmm68k_mot
VLINK ?= $(VBCC)/bin/vlink
NDK ?= /run/media/piotr/BACKUP/Rozen/Programy/Amiga/NDK3.2
AMIGA_TARGET ?= +aos68k
AMIGA_CPU := -cpu=68000 -fpu=0
AMIGA_DEBUG := -g -use-framepointer -no-delayed-popping
AMIGA_RELEASE := -O=1 -use-framepointer -no-delayed-popping
VBCC_INCLUDE := $(VBCC)/targets/m68k-amigaos/include
VBCC_LIB := $(VBCC)/targets/m68k-amigaos/lib
CPPFLAGS := -Iinclude -I$(VBCC_INCLUDE) -I$(NDK)/Include_H -DPY68K_AMIGA=1
SOURCES := src/main.c src/error.c src/memory.c src/platform_amiga.c src/time.c src/file_amiga.c src/file_object.c src/runtime.c src/source.c src/token.c src/tokenizer.c src/ast_arena.c src/parser_expression.c src/parser_statement.c src/symbol.c src/code.c src/opcode.c src/compiler.c src/verify.c src/vm.c src/value.c src/object.c src/string.c src/string_methods.c src/list.c src/range.c src/function.c src/native.c src/frame.c src/global.c src/builtin.c src/builtin_process.c src/builtin_io.c src/builtin_file.c src/builtin_text.c src/tuple.c src/dict.c src/set.c src/attr.c src/exception.c src/import.c src/module.c src/float.c src/ext_amiga.c
EXT_DEMO_DIR := ext/demo_add
EXT_DEMO_OUT := $(EXT_DEMO_DIR)/demo_add.py68k
EXT_DEMO_OBJS := $(EXT_DEMO_DIR)/demo_add_header.o \
$(EXT_DEMO_DIR)/demo_add.o \
$(EXT_DEMO_DIR)/demo_add_asm.o
EXT_CPPFLAGS := -Iinclude -I$(VBCC_INCLUDE) -DPY68K_AMIGA=1
VASMFLAGS := -Fhunk -m68000 -quiet
# No startup.o / vc.lib — pure LoadSeg plugin hunks (D-0004 / D-0027).
VLINKFLAGS := -bamigahunk -s
.PHONY: amiga-debug amiga-release amiga-ext ext-demo_add clean
amiga-debug:
$(VC) $(AMIGA_TARGET) $(AMIGA_CPU) $(AMIGA_DEBUG) $(CPPFLAGS) $(SOURCES) -o pythonami-debug
amiga-release:
$(VC) $(AMIGA_TARGET) $(AMIGA_CPU) $(AMIGA_RELEASE) $(CPPFLAGS) $(SOURCES) -o pythonami
amiga-ext: ext-demo_add
ext-demo_add: $(EXT_DEMO_OUT)
$(EXT_DEMO_DIR)/demo_add_header.o: $(EXT_DEMO_DIR)/demo_add_header.s
$(VASM) $(VASMFLAGS) -o $@ $<
$(EXT_DEMO_DIR)/demo_add_asm.o: $(EXT_DEMO_DIR)/demo_add_asm.s
$(VASM) $(VASMFLAGS) -o $@ $<
$(EXT_DEMO_DIR)/demo_add.o: $(EXT_DEMO_DIR)/demo_add.c include/py68k_ext.h
$(VC) $(AMIGA_TARGET) $(AMIGA_CPU) $(AMIGA_RELEASE) $(EXT_CPPFLAGS) -c -o $@ $(EXT_DEMO_DIR)/demo_add.c
$(EXT_DEMO_OUT): $(EXT_DEMO_OBJS)
$(VLINK) $(VLINKFLAGS) -o $@ $(EXT_DEMO_OBJS)
clean:
rm -f python python-debug pythonami pythonami-debug
rm -f $(EXT_DEMO_OUT) $(EXT_DEMO_OBJS)