Skip to content
Snippets Groups Projects
Select Git revision
  • 3e82bedf46c29ce33baa34cfeb535bf1a04e12f6
  • wip-bootstrap default
  • dualcore
  • ch3/leds
  • ch3/time
  • master
6 results

Makefile

Blame
  • Makefile 3.24 KiB
    include ../py/mkenv.mk
    -include mpconfigport.mk
    
    # qstr definitions (must come before including py.mk)
    QSTR_DEFS = qstrdefsport.h
    
    # include py core make definitions
    include ../py/py.mk
    
    CROSS_COMPILE = arm-none-eabi-
    
    INC += -I.
    INC += -I..
    INC += -I$(BUILD)
    INC += -I../tools/tinytest/
    
    CFLAGS_CORTEX_M3 = -mthumb -mcpu=cortex-m3 -mfloat-abi=soft
    CFLAGS = $(INC) -Wall -Wpointer-arith -Werror -std=gnu99 $(CFLAGS_CORTEX_M3) $(COPT) \
    	 -ffunction-sections -fdata-sections
    
    #Debugging/Optimization
    ifeq ($(DEBUG), 1)
    CFLAGS += -g -DPENDSV_DEBUG
    COPT = -O0
    else
    COPT += -Os -DNDEBUG
    endif
    
    ## With CoudeSourcery it's actually a little different, you just need `-T generic-m-hosted.ld`.
    ## Although for some reason `$(LD)` will not find that linker script, it works with `$(CC)`.
    ## It turns out that this is specific to CoudeSourcery, and ARM version of GCC ships something
    ## else instead and according to the following files, this is what we need to pass to `$(CC).
    ## - gcc-arm-none-eabi-4_8-2014q1/share/gcc-arm-none-eabi/samples/src/makefile.conf
    ## - gcc-arm-none-eabi-4_8-2014q1/share/gcc-arm-none-eabi/samples/src/qemu/Makefile
    LDFLAGS= --specs=nano.specs --specs=rdimon.specs -Wl,--gc-sections -Wl,-Map=$(@:.elf=.map)
    
    SRC_COMMON_C = \
    	moduos.c \
    	modmachine.c \
    
    SRC_RUN_C = \
    	main.c \
    
    SRC_TEST_C = \
    	test_main.c \
    
    LIB_SRC_C = $(addprefix lib/,\
    	libm/math.c \
    	libm/fmodf.c \
    	libm/nearbyintf.c \
    	libm/ef_sqrt.c \
    	libm/kf_rem_pio2.c \
    	libm/kf_sin.c \
    	libm/kf_cos.c \
    	libm/kf_tan.c \
    	libm/ef_rem_pio2.c \
    	libm/sf_sin.c \
    	libm/sf_cos.c \
    	libm/sf_tan.c \
    	libm/sf_frexp.c \
    	libm/sf_modf.c \
    	libm/sf_ldexp.c \
    	libm/asinfacosf.c \
    	libm/atanf.c \
    	libm/atan2f.c \
    	utils/sys_stdio_mphal.c \
    	)
    
    OBJ_COMMON =
    OBJ_COMMON += $(PY_O)