Mercurial > ~darius > hgwebdir.cgi > stm32temp
view BSDmakefile @ 8:58d76cf522ff
Split out code into separate files.
author | Daniel O'Connor <darius@dons.net.au> |
---|---|
date | Sat, 04 Feb 2012 13:29:31 +1030 |
parents | 9404b9869c27 |
children | 96c345d304af |
line wrap: on
line source
PROG= main SRCS= comm.c \ core_cm3.c \ delay.c \ flash.c \ hw.c \ lcd.c \ main.c \ misc.c \ spi.c \ startup_stm32f10x_md_mthomas.c \ syscalls.c \ system_stm32f10x.c \ touch.c STM32LIBS= usart gpio rcc rtc pwr bkp fsmc spi tim .for f in ${STM32LIBS} SRCS+= stm32f10x_${f}.c CFLAGS+= -DSTM32F10X_${f:U}_EN .endfor # Linker file LINKFILE= ${.CURDIR}/STM32F10x_512k_64k_flash.ld # Set CPU type COMMONFLAGS= -mcpu=cortex-m3 # Enable thumb code (since the Cortex M3 only does thumb) COMMONFLAGS+= -mthumb # Debugging & optimisation COMMONFLAGS+= -g -O0 # Put functions & data in individual sections to allow the linker to optimise (breaks debugging apparently) COMMONFLAGS+= -ffunction-sections -fdata-sections # We aren't using exceptions COMMONFLAGS+= -fno-exceptions CFLAGS+= -I ${.CURDIR} # Set device type CFLAGS+= -DSTM32F10X_HD # Set clocks CFLAGS+= -DHSE_VALUE=8000000UL -DSYSCLK_FREQ_72MHz=72000000 # Enable STM peripheral drivers CFLAGS+= -DUSE_STDPERIPH_DRIVER # Enable startup delay #CFLAGS+= -DSTARTUP_DELAY # Vector table in flash CFLAGS+= -DVECT_TAB_FLASH CFLAGS+= -mthumb-interwork # Enable warnings (disable char-subscripts otherwise ctypes.h generates warnings CFLAGS+= -Wall -Wextra -pedantic -Wimplicit -Wcast-align -Wpointer-arith -Wredundant-decls -Wshadow -Wcast-qual -Wcast-align -Wnested-externs -Wno-char-subscripts -std=gnu99 LDFLAGS= -nostartfiles -Wl,--gc-sections -lc -lm -lgcc # Location of STM32 library bits STMLIB= ${.CURDIR}/libs/STM32F10x_StdPeriph_Lib_V3.5.0 PERIPHDIR= ${STMLIB}/Libraries/STM32F10x_StdPeriph_Driver COREDIR= ${STMLIB}/Libraries/CMSIS/CM3/CoreSupport SYSDIR= ${STMLIB}/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x CFLAGS+= -I ${PERIPHDIR}/inc CFLAGS+= -I ${SYSDIR} CFLAGS+= -I ${COREDIR} .PATH: ${PERIPHDIR}/src .PATH: ${COREDIR} .PATH: ${SYSDIR} debug: ${GDB} --eval-command="target remote 127.0.0.1:61234" ${PROG}.elf load: ${GDB} --eval-command="target remote 127.0.0.1:61234" --eval-command "load" ${PROG}.elf png2bin: png2bin.c gcc ${.CURDIR}/png2bin.c -o ${.OBJDIR}/png2bin -O2 -Wall -I/opt/local/include -L/opt/local/lib -lpng .include "${.CURDIR}/BSDmakefile.arm"