Dave Hylands | c89c681 | 2014-01-24 01:05:30 -0800 | [diff] [blame] | 1 | include ../py/mkenv.mk |
Paul Sokolovsky | ed1239f | 2014-02-01 20:06:55 +0200 | [diff] [blame] | 2 | -include mpconfigport.mk |
Dave Hylands | c89c681 | 2014-01-24 01:05:30 -0800 | [diff] [blame] | 3 | |
Damien George | 136f675 | 2014-01-07 14:54:15 +0000 | [diff] [blame] | 4 | # define main target |
Damien George | 7d08935 | 2014-01-20 00:02:39 +0000 | [diff] [blame] | 5 | PROG = micropython |
Damien | c025ebb | 2013-10-12 14:30:21 +0100 | [diff] [blame] | 6 | |
Damien George | 55baff4 | 2014-01-21 21:40:13 +0000 | [diff] [blame] | 7 | # qstr definitions (must come before including py.mk) |
| 8 | QSTR_DEFS = qstrdefsport.h |
| 9 | |
Damien George | 136f675 | 2014-01-07 14:54:15 +0000 | [diff] [blame] | 10 | # include py core make definitions |
| 11 | include ../py/py.mk |
| 12 | |
Damien George | 136f675 | 2014-01-07 14:54:15 +0000 | [diff] [blame] | 13 | # compiler settings |
Damien George | 3bb8bd8 | 2014-04-14 21:20:30 +0100 | [diff] [blame] | 14 | CFLAGS = -I. -I$(PY_SRC) -Wall -Werror -ansi -std=gnu99 -DUNIX $(CFLAGS_MOD) $(COPT) |
Gordon McGregor | 3890ec4 | 2014-02-14 16:37:37 -0600 | [diff] [blame] | 15 | |
| 16 | UNAME_S := $(shell uname -s) |
| 17 | ifeq ($(UNAME_S),Darwin) |
| 18 | LDFLAGS = $(LDFLAGS_MOD) -lm -Wl,-map,$@.map |
| 19 | else |
| 20 | LDFLAGS = $(LDFLAGS_MOD) -lm -Wl,-Map=$@.map,--cref |
| 21 | endif |
Paul Sokolovsky | ed1239f | 2014-02-01 20:06:55 +0200 | [diff] [blame] | 22 | |
Andrew Scheller | 571d5a3 | 2014-04-16 01:46:01 +0100 | [diff] [blame^] | 23 | ifeq ($(MICROPY_FORCE_32BIT),1) |
| 24 | CFLAGS += -m32 |
| 25 | LDFLAGS += -m32 |
| 26 | ifeq ($(MICROPY_MOD_FFI),1) |
| 27 | ifeq ($(UNAME_S),Linux) |
| 28 | CFLAGS_MOD += -I/usr/include/i686-linux-gnu |
| 29 | endif |
| 30 | endif |
| 31 | endif |
| 32 | |
Paul Sokolovsky | 793838a | 2014-02-27 18:10:40 +0200 | [diff] [blame] | 33 | ifeq ($(MICROPY_USE_READLINE),1) |
| 34 | CFLAGS_MOD += -DMICROPY_USE_READLINE=1 |
| 35 | LDFLAGS_MOD += -lreadline |
| 36 | # the following is needed for BSD |
| 37 | #LDFLAGS_MOD += -ltermcap |
| 38 | endif |
Paul Sokolovsky | a9459bc | 2014-02-02 00:57:06 +0200 | [diff] [blame] | 39 | ifeq ($(MICROPY_MOD_TIME),1) |
| 40 | CFLAGS_MOD += -DMICROPY_MOD_TIME=1 |
Paul Sokolovsky | c393684 | 2014-04-04 20:32:26 +0300 | [diff] [blame] | 41 | SRC_MOD += modtime.c |
Paul Sokolovsky | a9459bc | 2014-02-02 00:57:06 +0200 | [diff] [blame] | 42 | endif |
Paul Sokolovsky | ed1239f | 2014-02-01 20:06:55 +0200 | [diff] [blame] | 43 | ifeq ($(MICROPY_MOD_FFI),1) |
Damien George | a908202 | 2014-02-01 18:48:19 +0000 | [diff] [blame] | 44 | CFLAGS_MOD += `pkg-config --cflags libffi` -DMICROPY_MOD_FFI=1 |
Paul Sokolovsky | ed1239f | 2014-02-01 20:06:55 +0200 | [diff] [blame] | 45 | LDFLAGS_MOD += -ldl -lffi |
Paul Sokolovsky | c393684 | 2014-04-04 20:32:26 +0300 | [diff] [blame] | 46 | SRC_MOD += modffi.c |
Paul Sokolovsky | ed1239f | 2014-02-01 20:06:55 +0200 | [diff] [blame] | 47 | endif |
| 48 | |
Damien | c025ebb | 2013-10-12 14:30:21 +0100 | [diff] [blame] | 49 | |
Damien George | 56bb636 | 2014-01-26 17:52:23 +0000 | [diff] [blame] | 50 | # Debugging/Optimization |
John R. Lenton | 9549919 | 2014-01-13 13:25:10 +0000 | [diff] [blame] | 51 | ifdef DEBUG |
Paul Sokolovsky | 5be1b28 | 2014-02-12 20:20:39 +0200 | [diff] [blame] | 52 | CFLAGS += -g |
| 53 | COPT = -O0 |
John R. Lenton | 9549919 | 2014-01-13 13:25:10 +0000 | [diff] [blame] | 54 | else |
Paul Sokolovsky | 5be1b28 | 2014-02-12 20:20:39 +0200 | [diff] [blame] | 55 | COPT = -Os #-DNDEBUG |
John R. Lenton | 9549919 | 2014-01-13 13:25:10 +0000 | [diff] [blame] | 56 | endif |
| 57 | |
Damien George | 136f675 | 2014-01-07 14:54:15 +0000 | [diff] [blame] | 58 | # source files |
Damien | c025ebb | 2013-10-12 14:30:21 +0100 | [diff] [blame] | 59 | SRC_C = \ |
| 60 | main.c \ |
Paul Sokolovsky | e7db817 | 2014-02-11 00:44:37 +0200 | [diff] [blame] | 61 | gccollect.c \ |
Paul Sokolovsky | e0e79ae | 2014-01-08 02:52:20 +0200 | [diff] [blame] | 62 | file.c \ |
Paul Sokolovsky | c393684 | 2014-04-04 20:32:26 +0300 | [diff] [blame] | 63 | modsocket.c \ |
Paul Sokolovsky | ed1239f | 2014-02-01 20:06:55 +0200 | [diff] [blame] | 64 | $(SRC_MOD) |
Damien | c025ebb | 2013-10-12 14:30:21 +0100 | [diff] [blame] | 65 | |
Damien George | 55baff4 | 2014-01-21 21:40:13 +0000 | [diff] [blame] | 66 | OBJ = $(PY_O) $(addprefix $(BUILD)/, $(SRC_C:.c=.o)) |
Damien | c025ebb | 2013-10-12 14:30:21 +0100 | [diff] [blame] | 67 | |
Dave Hylands | c89c681 | 2014-01-24 01:05:30 -0800 | [diff] [blame] | 68 | include ../py/mkrules.mk |
Damien | c025ebb | 2013-10-12 14:30:21 +0100 | [diff] [blame] | 69 | |