aboutsummaryrefslogtreecommitdiff
path: root/py/Makefile
blob: 0f4483d6a26a8374af432ed2164bebc5fb9caa45 (plain)
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
CC = gcc
CFLAGS = -Wall -ansi -std=gnu99 -Os -DEMIT_ENABLE_CPY -DEMIT_ENABLE_THUMB #-DNDEBUG
LDFLAGS =

SRC = \
	malloc.c \
	misc.c \
	qstr.c \
	lexer.c \
	lexerfile.c \
	parse.c \
	scope.c \
	compile.c \
	emitcommon.c \
	emitpass1.c \
	emitcpy.c \
	emitbc.c \
	asmx64.c \
	asmthumb.c \
	emitinlinethumb.c \
	runtime.c \
	vm.c \
	main.c \

SRC_ASM = \

OBJ = $(SRC:.c=.o) $(SRC_ASM:.s=.o) emitnx64.o emitnthumb.o
LIB =
PROG = py

$(PROG): $(OBJ)
	$(CC) -o $@ $(OBJ) $(LIB) $(LDFLAGS)

runtime.o: runtime.c
	$(CC) $(CFLAGS) -O3 -c -o $@ $<

vm.o: vm.c
	$(CC) $(CFLAGS) -O3 -c -o $@ $<

parse.o: grammar.h
compile.o: grammar.h
emitcpy.o: emit.h
emitbc.o: emit.h

emitnx64.o: emitnative.c emit.h
	$(CC) $(CFLAGS) -DN_X64 -c -o $@ $<

emitnthumb.o: emitnative.c emit.h
	$(CC) $(CFLAGS) -DN_THUMB -c -o $@ $<

clean:
	/bin/rm $(OBJ)