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
|
include ../py/mkenv.mk
-include mpconfigport.mk
PREFIX=
CC = $(PREFIX)gcc
CXX = $(PREFIX)g++
LD = $(PREFIX)ld
# define main target
PROG = micropython
# qstr definitions (must come before including py.mk)
QSTR_DEFS = qstrdefsport.h
# OS name, for simple autoconfig
UNAME_S := $(shell uname -s)
# Disable stripping of the main executable, relocation info is needed by genzehn
NOSTRIP := 1
# DEBUG := 1
# include py core make definitions
include ../py/py.mk
INC = -I.
INC += -I..
INC += -I../py
INC += -I$(BUILD)
# Debugging/Optimization
ifdef DEBUG
COPT = -O0 -g
else
COPT = -Ofast -g #-fomit-frame-pointer -flto
endif
# compiler settings
CWARN = -Wall -Werror -Wno-error=cpp -Wno-error=format
CFLAGS = -DNUMWORKS -DMICROPY_LIB $(INC) $(CWARN) -ansi -std=gnu99 $(CFLAGS_MOD) $(COPT) $(CFLAGS_EXTRA)
CFLAGS += -fdata-sections -ffunction-sections -fno-strict-aliasing -fno-exceptions # -fpermissive
LDFLAGS = $(LDFLAGS_MOD) -lm $(LDFLAGS_EXTRA)
# source files
SRC_C = $(shell find . -name \*.c)
SRC_QSTR += $(SRC_C)
OBJ = $(PY_O) $(addprefix $(BUILD)/, $(SRC_C:.c=.o))
include ../py/mkrules.mk
all: $(PROG)
|