aboutsummaryrefslogtreecommitdiff
path: root/lib/stm32/f4/Makefile
diff options
context:
space:
mode:
authorStephen Caudle2011-10-31 00:24:47 -0400
committerStephen Caudle2011-10-31 00:41:19 -0400
commit5a89d4459146edfb073e8ffa299cd9598a98c27c (patch)
tree8b2b4cd7da3bec9f611c6917c7434faa1fd8ab87 /lib/stm32/f4/Makefile
parent05bc9d10f15332358b18014d335a79fa3f4ed21c (diff)
Add initial support for STM32F4
Diffstat (limited to 'lib/stm32/f4/Makefile')
-rw-r--r--lib/stm32/f4/Makefile59
1 files changed, 59 insertions, 0 deletions
diff --git a/lib/stm32/f4/Makefile b/lib/stm32/f4/Makefile
new file mode 100644
index 0000000..267ef42
--- /dev/null
+++ b/lib/stm32/f4/Makefile
@@ -0,0 +1,59 @@
+##
+## This file is part of the libopencm3 project.
+##
+## Copyright (C) 2009 Uwe Hermann <uwe@hermann-uwe.de>
+##
+## This program is free software: you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation, either version 3 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program. If not, see <http://www.gnu.org/licenses/>.
+##
+
+LIBNAME = libopencm3_stm32f4
+
+PREFIX ?= arm-none-eabi
+# PREFIX ?= arm-elf
+CC = $(PREFIX)-gcc
+AR = $(PREFIX)-ar
+CFLAGS = -Os -g -Wall -Wextra -I../../../include -fno-common \
+ -mcpu=cortex-m3 -mthumb -Wstrict-prototypes \
+ -ffunction-sections -fdata-sections -MD -DSTM32F4
+# ARFLAGS = rcsv
+ARFLAGS = rcs
+OBJS = vector.o rcc.o gpio.o usart.o spi.o flash.o nvic.o \
+ i2c.o systick.o exti.o scb.o \
+
+VPATH += ../../usb:../
+
+# Be silent per default, but 'make V=1' will show all compiler calls.
+ifneq ($(V),1)
+Q := @
+endif
+
+all: $(LIBNAME).a
+
+$(LIBNAME).a: $(OBJS)
+ @printf " AR $(subst $(shell pwd)/,,$(@))\n"
+ $(Q)$(AR) $(ARFLAGS) $@ $^
+
+%.o: %.c
+ @printf " CC $(subst $(shell pwd)/,,$(@))\n"
+ $(Q)$(CC) $(CFLAGS) -o $@ -c $<
+
+clean:
+ @printf " CLEAN lib/stm32/f4\n"
+ $(Q)rm -f *.o *.d
+ $(Q)rm -f $(LIBNAME).a
+
+.PHONY: clean
+
+-include $(OBJS:.o=.d)
+