drone-micropython-raw 0.1.1

Bindings to MicroPython.
BUILD = ../target/micropython

include micropython/py/mkenv.mk

# qstr definitions (must come before including py.mk)
QSTR_DEFS = src/qstrdefsport.h

# include py core make definitions
include $(TOP)/py/py.mk

ifeq ($(TARGET), thumbv7m-linux-eabi)
CROSS_COMPILE = arm-none-eabi-
endif
ifeq ($(TARGET), thumbv7m-none-eabi)
CROSS_COMPILE = arm-none-eabi-
endif
ifeq ($(TARGET), thumbv7em-none-eabi)
CROSS_COMPILE = arm-none-eabi-
endif
ifeq ($(TARGET), thumbv7em-none-eabihf)
CROSS_COMPILE = arm-none-eabi-
endif

INC += -Isrc
INC += -I$(TOP)
INC += -I$(BUILD)

ifeq ($(TARGET), thumbv7m-linux-eabi)
CFLAGS_TARGET = -nostdlib -mthumb -march=armv7-m -mabi=aapcs-linux \
	-fsingle-precision-constant -Wdouble-promotion
endif
ifeq ($(TARGET), thumbv7m-none-eabi)
CFLAGS_TARGET = -nostdlib -mthumb -march=armv7-m -mabi=aapcs-linux \
	-fsingle-precision-constant -Wdouble-promotion
endif
ifeq ($(TARGET), thumbv7em-none-eabi)
CFLAGS_TARGET = -nostdlib -mthumb -march=armv7e-m -mabi=aapcs-linux \
	-fsingle-precision-constant -Wdouble-promotion
endif
ifeq ($(TARGET), thumbv7em-none-eabihf)
CFLAGS_TARGET = -nostdlib -mthumb -march=armv7e-m -mfpu=fpv4-sp-d16 \
	-mfloat-abi=hard -mabi=aapcs-linux -fsingle-precision-constant \
	-Wdouble-promotion
endif
ifeq ($(TARGET), i686-unknown-linux-musl)
CFLAGS_TARGET = -m32
endif

CFLAGS = $(INC) -Wall -Werror -std=c99 $(CFLAGS_TARGET) $(COPT)

# Debugging/Optimization
ifeq ($(DEBUG), 1)
CFLAGS += -O0 -ggdb
else
CFLAGS += -Os -DNDEBUG
endif

# Cargo features
ifeq ($(CARGO_FEATURE_IO), 1)
CFLAGS += -DMICROPY_PY_IO=1
else
CFLAGS += -DMICROPY_PY_IO=0
endif
ifeq ($(CARGO_FEATURE_FILEIO), 1)
CFLAGS += -DMICROPY_PY_IO_FILEIO=1
else
CFLAGS += -DMICROPY_PY_IO_FILEIO=0
endif

SRC_C = \
	src/main.c \
	src/io.c \

OBJ = $(PY_O) $(addprefix $(BUILD)/, $(SRC_C:.c=.o))

SRC_QSTR += $(SRC_C)

mpconfigport.h: src/mpconfigport.h

include $(TOP)/py/mkrules.mk

LIBMICROPYTHON = $(BUILD)/libmicropython.a