From 05ccc0614a8c47d299f000fefe1382d00b7194a7 Mon Sep 17 00:00:00 2001 From: Uwe Hermann Date: Mon, 20 Jul 2009 16:52:05 +0200 Subject: [PATCH] Move the 'blink' example into a 'miniblink' subdirectory. --- examples/Makefile | 64 ++++------------------- examples/miniblink/Makefile | 85 +++++++++++++++++++++++++++++++ examples/{ => miniblink}/README | 0 examples/{ => miniblink}/blink.c | 0 examples/{ => miniblink}/blink.ld | 0 5 files changed, 94 insertions(+), 55 deletions(-) create mode 100644 examples/miniblink/Makefile rename examples/{ => miniblink}/README (100%) rename examples/{ => miniblink}/blink.c (100%) rename examples/{ => miniblink}/blink.ld (100%) diff --git a/examples/Makefile b/examples/Makefile index 8fe0077d..05217708 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -17,69 +17,23 @@ ## along with this program. If not, see . ## -BINARY = blink - -# PREFIX ?= arm-none-eabi -PREFIX ?= arm-elf -CC = $(PREFIX)-gcc -LD = $(PREFIX)-ld -OBJCOPY = $(PREFIX)-objcopy -OBJDUMP = $(PREFIX)-objdump -CFLAGS = -O0 -g -Wall -Wextra -I../include -fno-common \ - -mcpu=cortex-m3 -mthumb -LDFLAGS = -L../lib -T$(BINARY).ld -nostartfiles -OBJS = $(BINARY).o -OPENOCD = openocd +# Do not print "Entering directory ...". +## MAKEFLAGS += --no-print-directory # Be silent per default, but 'make V=1' will show all compiler calls. ifneq ($(V),1) Q := @ -NULL := 2>/dev/null endif -all: images +all: miniblink -images: $(BINARY) - @printf " OBJCOPY $(BINARY).bin\n" - $(Q)$(OBJCOPY) -Obinary $(BINARY) $(BINARY).bin - @printf " OBJCOPY $(BINARY).hex\n" - $(Q)$(OBJCOPY) -Oihex $(BINARY) $(BINARY).hex - @printf " OBJCOPY $(BINARY).srec\n" - $(Q)$(OBJCOPY) -Osrec $(BINARY) $(BINARY).srec - @printf " OBJDUMP $(BINARY).list\n" - $(Q)$(OBJDUMP) -S $(BINARY) > $(BINARY).list - -$(BINARY): $(OBJS) $(BINARY).ld - @printf " LD $(subst $(shell pwd)/,,$(@))\n" - $(Q)$(LD) $(LDFLAGS) -o $(BINARY) $(OBJS) -lopenstm32 - -%.o: %.c Makefile - @printf " CC $(subst $(shell pwd)/,,$(@))\n" - $(Q)$(CC) $(CFLAGS) -o $@ -c $< +miniblink: + @printf " BUILD miniblink\n" + $(Q)$(MAKE) -C miniblink clean: - @printf " CLEAN $(subst $(shell pwd)/,,$(OBJS))\n" - $(Q)rm -f *.o - @printf " CLEAN $(BINARY)\n" - $(Q)rm -f $(BINARY) - @printf " CLEAN $(BINARY).bin\n" - $(Q)rm -f $(BINARY).bin - @printf " CLEAN $(BINARY).hex\n" - $(Q)rm -f $(BINARY).hex - @printf " CLEAN $(BINARY).srec\n" - $(Q)rm -f $(BINARY).srec - @printf " CLEAN $(BINARY).list\n" - $(Q)rm -f $(BINARY).list + @printf " CLEAN miniblink\n" + $(Q)$(MAKE) -C miniblink clean -flash: images - @printf " FLASH $(BINARY).bin\n" - @# IMPORTANT: Don't use "resume", only "reset" will work correctly! - $(Q)$(OPENOCD) -f interface/jtagkey-tiny.cfg \ - -f board/olimex_stm32_h103.cfg \ - -c "init" -c "reset halt" \ - -c "flash write_image erase $(BINARY).bin 0x08000000" \ - -c "reset" \ - -c "shutdown" $(NULL) - -.PHONY: images clean +.PHONY: miniblink clean diff --git a/examples/miniblink/Makefile b/examples/miniblink/Makefile new file mode 100644 index 00000000..58281ec0 --- /dev/null +++ b/examples/miniblink/Makefile @@ -0,0 +1,85 @@ +## +## This file is part of the libopenstm32 project. +## +## Copyright (C) 2009 Uwe Hermann +## +## 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 . +## + +BINARY = blink + +# PREFIX ?= arm-none-eabi +PREFIX ?= arm-elf +CC = $(PREFIX)-gcc +LD = $(PREFIX)-ld +OBJCOPY = $(PREFIX)-objcopy +OBJDUMP = $(PREFIX)-objdump +CFLAGS = -O0 -g -Wall -Wextra -I../../include -fno-common \ + -mcpu=cortex-m3 -mthumb +LDFLAGS = -L../../lib -T$(BINARY).ld -nostartfiles +OBJS = $(BINARY).o +OPENOCD = openocd + +# Be silent per default, but 'make V=1' will show all compiler calls. +ifneq ($(V),1) +Q := @ +NULL := 2>/dev/null +endif + +all: images + +images: $(BINARY) + @printf " OBJCOPY $(BINARY).bin\n" + $(Q)$(OBJCOPY) -Obinary $(BINARY) $(BINARY).bin + @printf " OBJCOPY $(BINARY).hex\n" + $(Q)$(OBJCOPY) -Oihex $(BINARY) $(BINARY).hex + @printf " OBJCOPY $(BINARY).srec\n" + $(Q)$(OBJCOPY) -Osrec $(BINARY) $(BINARY).srec + @printf " OBJDUMP $(BINARY).list\n" + $(Q)$(OBJDUMP) -S $(BINARY) > $(BINARY).list + +$(BINARY): $(OBJS) $(BINARY).ld + @printf " LD $(subst $(shell pwd)/,,$(@))\n" + $(Q)$(LD) $(LDFLAGS) -o $(BINARY) $(OBJS) -lopenstm32 + +%.o: %.c Makefile + @printf " CC $(subst $(shell pwd)/,,$(@))\n" + $(Q)$(CC) $(CFLAGS) -o $@ -c $< + +clean: + @printf " CLEAN $(subst $(shell pwd)/,,$(OBJS))\n" + $(Q)rm -f *.o + @printf " CLEAN $(BINARY)\n" + $(Q)rm -f $(BINARY) + @printf " CLEAN $(BINARY).bin\n" + $(Q)rm -f $(BINARY).bin + @printf " CLEAN $(BINARY).hex\n" + $(Q)rm -f $(BINARY).hex + @printf " CLEAN $(BINARY).srec\n" + $(Q)rm -f $(BINARY).srec + @printf " CLEAN $(BINARY).list\n" + $(Q)rm -f $(BINARY).list + +flash: images + @printf " FLASH $(BINARY).bin\n" + @# IMPORTANT: Don't use "resume", only "reset" will work correctly! + $(Q)$(OPENOCD) -f interface/jtagkey-tiny.cfg \ + -f board/olimex_stm32_h103.cfg \ + -c "init" -c "reset halt" \ + -c "flash write_image erase $(BINARY).bin 0x08000000" \ + -c "reset" \ + -c "shutdown" $(NULL) + +.PHONY: images clean + diff --git a/examples/README b/examples/miniblink/README similarity index 100% rename from examples/README rename to examples/miniblink/README diff --git a/examples/blink.c b/examples/miniblink/blink.c similarity index 100% rename from examples/blink.c rename to examples/miniblink/blink.c diff --git a/examples/blink.ld b/examples/miniblink/blink.ld similarity index 100% rename from examples/blink.ld rename to examples/miniblink/blink.ld