##// END OF EJS Templates
Added ARM CMSIS for fast math and circle drawing function for ili9328 driver.
Added ARM CMSIS for fast math and circle drawing function for ili9328 driver.

File last commit:

r18:bd9ab647f70a default
r41:27c5438a4566 dev_alexis
Show More
M4Stick.mk
119 lines | 3.8 KiB | text/x-makefile | MakefileLexer
PROJECTDIR = `pwd`
LIBUC = /opt/libuc2
HEADERS +=
SOURCES += main.c
OBJDIR = obj
BINDIR = bin
OBJECTFILES = obj/main.o \
ARCH = stm32f4-arm-none-eabi-gcc
CPUMODEL =
ARCHFOLDER = $(LIBUC)/rules/stm32f4-arm-none-eabi-gcc
TARGET=M4stickBlink
LIBUC_INCLUDES=$(LIBUC_INC_DIR_SPI_CMD) $(LIBUC_INC_DIR_UART_CMD) $(LIBUC_INC_DIR_GPIO_CMD) $(LIBUC_INC_DIR_STREAMDEVICES_CMD) $(LIBUC_INC_DIR_UHANDLE_CMD) $(LIBUC_INC_DIR_UCSTRINGS_CMD) $(LIBUC_INC_DIR_CPU_CMD) $(LIBUC_INC_DIR_STLIB_CMD)
LIBUC_LIBRARIES=$(LIBUC_LIBS_DIR_SPI_CMD) $(LIBUC_LIBS_SPI) $(LIBUC_LIBS_DIR_UART_CMD) $(LIBUC_LIBS_UART) $(LIBUC_LIBS_DIR_GPIO_CMD) $(LIBUC_LIBS_GPIO) $(LIBUC_LIBS_DIR_STREAMDEVICES_CMD) $(LIBUC_LIBS_STREAMDEVICES) $(LIBUC_LIBS_DIR_UHANDLE_CMD) $(LIBUC_LIBS_UHANDLE) $(LIBUC_LIBS_DIR_UCSTRINGS_CMD) $(LIBUC_LIBS_UCSTRINGS) $(LIBUC_LIBS_DIR_CPU_CMD) $(LIBUC_LIBS_CPU) $(LIBUC_LIBS_DIR_STLIB_CMD) $(LIBUC_LIBS_STLIB)
TARGETINSTALLPATH=
HEADERSINSTALLPATH=
BSP=M4Stick
#---------------------------------------------------------------------------------
# LIBRARY DEFINITIONS
#---------------------------------------------------------------------------------
LIBUC_LIBS_DIR = $(LIBUC)/lib/bin/$(ARCH)
LIBUC_INC_DIR = $(LIBUC)/lib/includes
LIBUC_CFG_DIR = $(LIBUC)/lib/cfg
include $(LIBUC)/rules/common/libsrules.mk
#---------------------------------------------------------------------------------
# BOARD SUPORT PACKAGES
#---------------------------------------------------------------------------------
LIBUC_BSP_DIR=$(LIBUC)/bsp
LIBUC_BSP_BIN_DIR= $(LIBUC_BSP_DIR)/bin
LIBUC_BSP_INC_DIR= $(LIBUC_BSP_DIR)/includes
LIBUC_BSP_CFG_DIR= $(LIBUC_BSP_DIR)/cfg
LIBUC_BSP = -L $(LIBUC_BSP_BIN_DIR)/$(BSP) -static -lbsp
LIBUC_BSP_INC = -I $(LIBUC_BSP_INC_DIR)/$(BSP)
include $(LIBUC_BSP_CFG_DIR)/$(BSP)/bsp.mk
include $(ARCHFOLDER)/rules.mk
INCLUDES += -I ./ -I $(LIBUC_INC_DIR) $(LIBUC_INCLUDES) $(LIBUC_BSP_INC)
all:bin
@echo Code compiled
.SUFFIXES: .o .c .s
.c.o:
$(LIBUC_CC) -O3 -I $(INCLUDES) -c $(CFLAGS) $< -o $@
.s.o:
$(LIBUC_CC) -O3 -I $(INCLUDES) -c $(CFLAGS) $< -o $@
bin: $(BINDIR)/$(TARGET).elf $(BINDIR)/$(TARGET).bin $(BINDIR)/$(TARGET).hex
@echo "compile bin"
lib: $(BINDIR)/$(TARGET).a
@echo "compile lib"
$(BINDIR)/$(TARGET).a: $(OBJECTFILES)
mkdir -p $(BINDIR)
$(LIBUC_AR) rcs $@ $(OBJECTFILES)
$(OBJDIR):
mkdir -p $(OBJDIR)
%.elf: $(LINKER_SCRIPT) $(APPOBJECTFILES) $(OBJECTFILES)
mkdir -p $(BINDIR)
$(LIBUC_CC) $(LIBUC_LDFLAGS) $(LIBUC_CFLAGS) -T $^ -o $@ $(LIBUC_BSP) $(LIBUC_LIBRARIES)
$(LIBUC_OBJDUMP) $(LIBUC_ODFLAGS) $@ > $(@:.elf=.dump)
$(LIBUC_SIZE) $@
%.bin: %.elf $(BIN_LIBS_DEPS)
$(LIBUC_OBJCOPY) $(LIBUC_CPFLAGS) -O binary $< $*.bin
@echo "BIN_LIBS_DEPS"
@echo $(BIN_LIBS_DEPS)
%.hex: %.elf
$(LIBUC_OBJCOPY) $(LIBUC_CPFLAGS) -O ihex $< $*.hex
$(TARGETINSTALLPATH)/$(TARGET).a: $(BINDIR)/$(TARGET).a
mkdir -p $(TARGETINSTALLPATH)
cp $(BINDIR)/$(TARGET).a $(TARGETINSTALLPATH)/$(TARGET).a
libinstall: $(TARGETINSTALLPATH)/$(TARGET).a
@if [ -z $(HEADERSINSTALLPATH) ] ; then echo "No headers to install" ; else mkdir -p $(HEADERSINSTALLPATH) ; fi
@if [ -z "$(HEADERS)" ] ; then echo "No headers to install" ; else echo "cp -f $(HEADERS) $(HEADERSINSTALLPATH)/" ; cp -f $(HEADERS) $(HEADERSINSTALLPATH)/ ; fi
clean:
rm -f *.o *.d *.bin *.hex *.dump *.map *.a *.elf
rm -f $(OBJECTFILES)
rm -f $(BINDIR)/*.bin
rm -f $(BINDIR)/*.hex
rm -f $(BINDIR)/*.dump
rm -f $(BINDIR)/*.map
rm -f $(BINDIR)/*.a
rm -f $(BINDIR)/*.elf
rm -f $(DEVSOURCESND)
rm -f $(ASMDEVSOURCESND)
distclean: clean libclean
rm -f $(TARGETINSTALLPATH)/*.bin
rm -f $(TARGETINSTALLPATH)/*.a
rm -f Makefile
obj/main.o: main.c $(OBJDIR)
$(LIBUC_CC) -O3 -I $(INCLUDES) -c $(CFLAGS) $< -o $@
install:bininstall
libclean:
rm -f $(TARGETINSTALLPATH)/$(TARGET).a