summaryrefslogtreecommitdiffstats
path: root/libopencm3/mk/gcc-rules.mk
diff options
context:
space:
mode:
Diffstat (limited to 'libopencm3/mk/gcc-rules.mk')
-rw-r--r--libopencm3/mk/gcc-rules.mk56
1 files changed, 56 insertions, 0 deletions
diff --git a/libopencm3/mk/gcc-rules.mk b/libopencm3/mk/gcc-rules.mk
new file mode 100644
index 0000000..821912b
--- /dev/null
+++ b/libopencm3/mk/gcc-rules.mk
@@ -0,0 +1,56 @@
+##
+## This file is part of the libopencm3 project.
+##
+## Copyright (C) 2014 Frantisek Burian <BuFran@seznam.cz>
+##
+## This library is free software: you can redistribute it and/or modify
+## it under the terms of the GNU Lesser General Public License as published by
+## the Free Software Foundation, either version 3 of the License, or
+## (at your option) any later version.
+##
+## This library 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 Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this library. If not, see <http://www.gnu.org/licenses/>.
+##
+
+###############################################################################
+# The support makefile for GCC compiler toolchain, the rules part.
+#
+# please read mk/README for specification how to use this file in your project
+#
+
+%.bin: %.elf
+ @printf " OBJCOPY $@\n"
+ $(Q)$(OBJCOPY) -Obinary $< $@
+
+%.hex: %.elf
+ @printf " OBJCOPY $@\n"
+ $(Q)$(OBJCOPY) -Oihex $< $@
+
+%.srec: %.elf
+ @printf " OBJCOPY $@\n"
+ $(Q)$(OBJCOPY) -Osrec $< $@
+
+%.list: %.elf
+ @printf " OBJDUMP $@\n"
+ $(Q)$(OBJDUMP) -S $< > $@
+
+%.elf: $(OBJS) $(LDSCRIPT) $(LIBDEPS)
+ @printf " LD $(*).elf\n"
+ $(Q)$(LD) $(OBJS) $(LDLIBS) $(LDFLAGS) -T$(LDSCRIPT) $(ARCH_FLAGS) -o $@
+
+%.o: %.c
+ @printf " CC $<\n"
+ $(Q)$(CC) $(CFLAGS) $(CPPFLAGS) $(ARCH_FLAGS) -o $@ -c $<
+
+%.o: %.cxx
+ @printf " CXX $<\n"
+ $(Q)$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(ARCH_FLAGS) -o $@ -c $<
+
+%.o: %.cpp
+ @printf " CXX $(*).cpp\n"
+ $(Q)$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(ARCH_FLAGS) -o $@ -c $<