Makefile 1007 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. include ../../py/mkenv.mk
  2. # qstr definitions (must come before including py.mk)
  3. QSTR_DEFS = qstrdefsport.h
  4. # include py core make definitions
  5. include $(TOP)/py/py.mk
  6. CROSS_COMPILE = arm-none-eabi-
  7. INC += -I.
  8. INC += -I$(TOP)
  9. INC += -I$(BUILD)
  10. CFLAGS_CORTEX_M4 = -mthumb -mtune=cortex-m4 -mabi=aapcs-linux -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -fsingle-precision-constant -Wdouble-promotion
  11. CFLAGS = $(INC) -Wall -Werror -std=c99 -nostdlib $(CFLAGS_CORTEX_M4) $(COPT)
  12. #Debugging/Optimization
  13. ifeq ($(DEBUG), 1)
  14. CFLAGS += -O0 -ggdb
  15. else
  16. CFLAGS += -Os -DNDEBUG
  17. endif
  18. LDFLAGS = -nostdlib -T stm32f405.ld -Map=$@.map --cref
  19. LIBS =
  20. SRC_C = \
  21. main.c \
  22. # printf.c \
  23. string0.c \
  24. malloc0.c \
  25. gccollect.c \
  26. SRC_S = \
  27. # startup_stm32f40xx.s \
  28. gchelper.s \
  29. OBJ = $(PY_CORE_O) $(addprefix $(BUILD)/, $(SRC_C:.c=.o) $(SRC_S:.s=.o))
  30. all: $(BUILD)/firmware.elf
  31. $(BUILD)/firmware.elf: $(OBJ)
  32. $(ECHO) "LINK $@"
  33. $(Q)$(LD) $(LDFLAGS) -o $@ $^ $(LIBS)
  34. $(Q)$(SIZE) $@
  35. include $(TOP)/py/mkrules.mk