diff options
| author | Damien | 2013-10-12 14:30:21 +0100 |
|---|---|---|
| committer | Damien | 2013-10-12 14:30:21 +0100 |
| commit | c025ebb2dc38891fff1d451d13382d9717fb1d59 (patch) | |
| tree | 803f297d238417c90893a121bf6926519f469f44 /unix/Makefile | |
| parent | a56f29262661ba6affc50d2e1f6e27ecc7aac116 (diff) | |
Separate out mpy core and unix version.
Diffstat (limited to 'unix/Makefile')
| -rw-r--r-- | unix/Makefile | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/unix/Makefile b/unix/Makefile new file mode 100644 index 000000000..6a48cee22 --- /dev/null +++ b/unix/Makefile @@ -0,0 +1,65 @@ +PYSRC=../py +BUILD=build + +CC = gcc +CFLAGS = -I. -I$(PYSRC) -Wall -ansi -std=gnu99 -Os #-DNDEBUG +CFLAGS_PY = -DEMIT_ENABLE_CPY -DEMIT_ENABLE_THUMB +LDFLAGS = + +SRC_C = \ + main.c \ + +PY_O = \ + malloc.o \ + qstr.o \ + misc.o \ + lexer.o \ + lexerfile.o \ + parse.o \ + scope.o \ + compile.o \ + emitcommon.o \ + emitpass1.o \ + emitcpy.o \ + emitbc.o \ + asmx64.o \ + emitnx64.o \ + asmthumb.o \ + emitnthumb.o \ + emitinlinethumb.o \ + runtime.o \ + vm.o \ + +OBJ = $(addprefix $(BUILD)/, $(SRC_C:.c=.o) $(PY_O)) +LIB = +PROG = py + +$(PROG): $(BUILD) $(OBJ) + $(CC) -o $@ $(OBJ) $(LIB) $(LDFLAGS) + +$(BUILD): + mkdir $@ + +$(BUILD)/%.o: %.c + $(CC) $(CFLAGS) -c -o $@ $< + +$(BUILD)/%.o: $(PYSRC)/%.c mpyconfig.h + $(CC) $(CFLAGS) $(CFLAGS_PY) -c -o $@ $< + +$(BUILD)/emitnx64.o: $(PYSRC)/emitnative.c $(PYSRC)/emit.h + $(CC) $(CFLAGS) $(CFLAGS_PY) -DN_X64 -c -o $@ $< + +$(BUILD)/emitnthumb.o: $(PYSRC)/emitnative.c $(PYSRC)/emit.h + $(CC) $(CFLAGS) $(CFLAGS_PY) -DN_THUMB -c -o $@ $< + +# optimising vm for speed, adds only a small amount to code size but makes a huge difference to speed (20% faster) +$(BUILD)/vm.o: $(PYSRC)/vm.c + $(CC) $(CFLAGS) $(CFLAGS_PY) -O3 -c -o $@ $< + +$(BUILD)/parse.o: $(PYSRC)/grammar.h +$(BUILD)/compile.o: $(PYSRC)/grammar.h +$(BUILD)/emitcpy.o: $(PYSRC)/emit.h +$(BUILD)/emitbc.o: $(PYSRC)/emit.h + +clean: + /bin/rm -r $(BUILD) |
