| APP_INC = -I. |
| APP_INC += -I.. |
| APP_INC += -Ifatfs/src |
| APP_INC += -Ifatfs/src/drivers |
| APP_INC += -IFreeRTOS |
| APP_INC += -IFreeRTOS/Source/include |
| APP_INC += -IFreeRTOS/Source/portable/GCC/ARM_CM3 |
| APP_INC += -Iftp |
| APP_INC += -Ihal |
| APP_INC += -Ihal/inc |
| APP_INC += -Imisc |
| APP_INC += -Imods |
| APP_INC += -I../drivers/cc3100/inc |
| APP_INC += -Isimplelink |
| APP_INC += -Isimplelink/oslib |
| APP_INC += -Itelnet |
| APP_INC += -Iutil |
| APP_INC += -Ibootmgr |
| APP_INC += -I$(BUILD) |
| APP_INC += -I$(BUILD)/genhdr |
| APP_INC += -I../lib/fatfs |
| APP_INC += -I../lib/mp-readline |
| APP_INC += -I../lib/netutils |
| APP_INC += -I../stmhal |
| |
| APP_CPPDEFINES = -Dgcc -DTARGET_IS_CC3200 -DSL_FULL -DUSE_FREERTOS |
| |
| APP_FATFS_SRC_C = $(addprefix fatfs/src/,\ |
| drivers/sflash_diskio.c \ |
| drivers/sd_diskio.c \ |
| option/syscall.c \ |
| diskio.c \ |
| ffconf.c \ |
| ) |
| |
| APP_RTOS_SRC_C = $(addprefix FreeRTOS/Source/,\ |
| croutine.c \ |
| event_groups.c \ |
| list.c \ |
| queue.c \ |
| tasks.c \ |
| timers.c \ |
| portable/GCC/ARM_CM3/port.c \ |
| portable/MemMang/heap_4.c \ |
| ) |
| |
| APP_FTP_SRC_C = $(addprefix ftp/,\ |
| ftp.c \ |
| updater.c \ |
| ) |
| |
| APP_HAL_SRC_C = $(addprefix hal/,\ |
| adc.c \ |
| aes.c \ |
| cc3200_hal.c \ |
| cpu.c \ |
| crc.c \ |
| des.c \ |
| gpio.c \ |
| i2c.c \ |
| i2s.c \ |
| interrupt.c \ |
| pin.c \ |
| prcm.c \ |
| sdhost.c \ |
| shamd5.c \ |
| spi.c \ |
| startup_gcc.c \ |
| systick.c \ |
| timer.c \ |
| uart.c \ |
| utils.c \ |
| wdt.c \ |
| ) |
| |
| APP_MISC_SRC_C = $(addprefix misc/,\ |
| FreeRTOSHooks.c \ |
| pin_named_pins.c \ |
| help.c \ |
| mpcallback.c \ |
| mperror.c \ |
| mpexception.c \ |
| mpsystick.c \ |
| ) |
| |
| APP_MODS_SRC_C = $(addprefix mods/,\ |
| modnetwork.c \ |
| modpyb.c \ |
| moduos.c \ |
| modusocket.c \ |
| modutime.c \ |
| modwlan.c \ |
| pybadc.c \ |
| pybpin.c \ |
| pybi2c.c \ |
| pybrtc.c \ |
| pybsd.c \ |
| pybsleep.c \ |
| pybspi.c \ |
| pybuart.c \ |
| pybwdt.c \ |
| ) |
| |
| APP_CC3100_SRC_C = $(addprefix drivers/cc3100/src/,\ |
| device.c \ |
| driver.c \ |
| flowcont.c \ |
| fs.c \ |
| netapp.c \ |
| netcfg.c \ |
| socket.c \ |
| wlan.c \ |
| ) |
| |
| APP_SL_SRC_C = $(addprefix simplelink/,\ |
| oslib/osi_freertos.c \ |
| cc_pal.c \ |
| ) |
| |
| APP_TELNET_SRC_C = $(addprefix telnet/,\ |
| telnet.c \ |
| ) |
| |
| APP_UTIL_SRC_C = $(addprefix util/,\ |
| fifo.c \ |
| gccollect.c \ |
| random.c \ |
| socketfifo.c \ |
| ) |
| |
| APP_UTIL_SRC_S = $(addprefix util/,\ |
| gchelper.s \ |
| sleeprestore.s \ |
| ) |
| |
| APP_MAIN_SRC_C = \ |
| main.c \ |
| mptask.c \ |
| serverstask.c |
| |
| APP_LIB_SRC_C = $(addprefix lib/,\ |
| fatfs/ff.c \ |
| fatfs/option/ccsbcs.c \ |
| libc/string0.c \ |
| mp-readline/readline.c \ |
| netutils/netutils.c \ |
| ) |
| |
| APP_STM_SRC_C = $(addprefix stmhal/,\ |
| bufhelper.c \ |
| file.c \ |
| import.c \ |
| input.c \ |
| irq.c \ |
| lexerfatfs.c \ |
| moduselect.c \ |
| printf.c \ |
| pyexec.c \ |
| pybstdio.c \ |
| ) |
| |
| OBJ = $(PY_O) $(addprefix $(BUILD)/, $(APP_FATFS_SRC_C:.c=.o) $(APP_RTOS_SRC_C:.c=.o) $(APP_FTP_SRC_C:.c=.o) $(APP_HAL_SRC_C:.c=.o) $(APP_MISC_SRC_C:.c=.o)) |
| OBJ += $(addprefix $(BUILD)/, $(APP_MODS_SRC_C:.c=.o) $(APP_CC3100_SRC_C:.c=.o) $(APP_SL_SRC_C:.c=.o) $(APP_TELNET_SRC_C:.c=.o) $(APP_UTIL_SRC_C:.c=.o) $(APP_UTIL_SRC_S:.s=.o)) |
| OBJ += $(addprefix $(BUILD)/, $(APP_MAIN_SRC_C:.c=.o) $(APP_LIB_SRC_C:.c=.o) $(APP_STM_SRC_C:.c=.o)) |
| OBJ += $(BUILD)/pins.o |
| |
| # Add the linker script |
| LINKER_SCRIPT = application.lds |
| LDFLAGS += -T $(LINKER_SCRIPT) |
| |
| # Add the application specific CFLAGS |
| CFLAGS += $(APP_CPPDEFINES) $(APP_INC) |
| |
| # Disable strict aliasing for the simplelink driver |
| $(BUILD)/drivers/cc3100/src/driver.o: CFLAGS += -fno-strict-aliasing |
| |
| # Check if we would like to debug the port code |
| ifeq ($(BTYPE), release) |
| # Optimize everything and define the NDEBUG flag |
| CFLAGS += -Os -DNDEBUG |
| else |
| ifeq ($(BTYPE), debug) |
| # Define the DEBUG flag |
| CFLAGS += -DDEBUG=DEBUG |
| # Optimize the stable sources only |
| $(BUILD)/extmod/%.o: CFLAGS += -Os |
| $(BUILD)/lib/%.o: CFLAGS += -Os |
| $(BUILD)/fatfs/src/%.o: CFLAGS += -Os |
| $(BUILD)/FreeRTOS/Source/%.o: CFLAGS += -Os |
| $(BUILD)/ftp/%.o: CFLAGS += -Os |
| $(BUILD)/hal/%.o: CFLAGS += -Os |
| $(BUILD)/misc/%.o: CFLAGS += -Os |
| $(BUILD)/py/%.o: CFLAGS += -Os |
| $(BUILD)/simplelink/%.o: CFLAGS += -Os |
| $(BUILD)/drivers/cc3100/%.o: CFLAGS += -Os |
| $(BUILD)/stmhal/%.o: CFLAGS += -Os |
| $(BUILD)/telnet/%.o: CFLAGS += -Os |
| $(BUILD)/util/%.o: CFLAGS += -Os |
| $(BUILD)/pins.o: CFLAGS += -Os |
| $(BUILD)/main.o: CFLAGS += -Os |
| $(BUILD)/mptask.o: CFLAGS += -Os |
| $(BUILD)/servertask.o: CFLAGS += -Os |
| else |
| $(error Invalid BTYPE specified) |
| endif |
| endif |
| |
| SHELL = bash |
| APP_SIGN = appsign.sh |
| |
| all: $(BUILD)/mcuimg.bin |
| |
| $(BUILD)/application.axf: $(OBJ) $(LINKER_SCRIPT) |
| $(ECHO) "LINK $@" |
| $(Q)$(CC) -o $@ $(LDFLAGS) $(OBJ) $(LIBS) |
| $(Q)$(SIZE) $@ |
| |
| $(BUILD)/application.bin: $(BUILD)/application.axf |
| $(ECHO) "Create $@" |
| $(Q)$(OBJCOPY) -O binary $< $@ |
| |
| $(BUILD)/mcuimg.bin: $(BUILD)/application.bin |
| $(ECHO) "Create $@" |
| $(Q)$(SHELL) $(APP_SIGN) $(BOARD) $(BTYPE) |
| |
| MAKE_PINS = boards/make-pins.py |
| BOARD_PINS = boards/$(BOARD)/pins.csv |
| AF_FILE = boards/cc3200_af.csv |
| PREFIX_FILE = boards/cc3200_prefix.c |
| GEN_PINS_SRC = $(BUILD)/pins.c |
| GEN_PINS_HDR = $(HEADER_BUILD)/pins.h |
| GEN_PINS_QSTR = $(BUILD)/pins_qstr.h |
| |
| # Making OBJ use an order-only dependency on the generated pins.h file |
| # has the side effect of making the pins.h file before we actually compile |
| # any of the objects. The normal dependency generation will deal with the |
| # case when pins.h is modified. But when it doesn't exist, we don't know |
| # which source files might need it. |
| $(OBJ): | $(GEN_PINS_HDR) |
| |
| # Call make-pins.py to generate both pins_gen.c and pins.h |
| $(GEN_PINS_SRC) $(GEN_PINS_HDR) $(GEN_PINS_QSTR): $(BOARD_PINS) $(MAKE_PINS) $(AF_FILE) $(PREFIX_FILE) | $(HEADER_BUILD) |
| $(ECHO) "Create $@" |
| $(Q)$(PYTHON) $(MAKE_PINS) --board $(BOARD_PINS) --af $(AF_FILE) --prefix $(PREFIX_FILE) --hdr $(GEN_PINS_HDR) --qstr $(GEN_PINS_QSTR) > $(GEN_PINS_SRC) |
| |
| $(BUILD)/pins.o: $(BUILD)/pins.c |
| $(call compile_c) |