From 08990e5243de216a599add8d5c2b4b5740cf6a7b Mon Sep 17 00:00:00 2001 From: Gareth McMullin Date: Sun, 13 Mar 2011 13:58:19 +1300 Subject: Simplified build system for adding new examples. --- Makefile | 40 +++++++++++++------------ examples/lm3s/Makefile | 38 ------------------------ examples/lpc13xx/Makefile | 38 ------------------------ examples/stm32/Makefile | 74 ----------------------------------------------- 4 files changed, 21 insertions(+), 169 deletions(-) delete mode 100644 examples/lm3s/Makefile delete mode 100644 examples/lpc13xx/Makefile delete mode 100644 examples/stm32/Makefile diff --git a/Makefile b/Makefile index 718ecd4..aa4933c 100644 --- a/Makefile +++ b/Makefile @@ -24,6 +24,8 @@ INCDIR = $(DESTDIR)/$(PREFIX)/include LIBDIR = $(DESTDIR)/$(PREFIX)/lib INSTALL = install +TARGETS = stm32 lpc13xx lm3s + # Be silent per default, but 'make V=1' will show all compiler calls. ifneq ($(V),1) Q := @ @@ -36,20 +38,20 @@ all: build build: lib examples lib: - @printf " BUILD lib/stm32\n" - $(Q)$(MAKE) -C lib/stm32 all - @printf " BUILD lib/lpc13xx\n" - $(Q)$(MAKE) -C lib/lpc13xx all - @printf " BUILD lib/lm3s\n" - $(Q)$(MAKE) -C lib/lm3s all + $(Q)for i in $(addprefix $@/,$(TARGETS)); do \ + if [ -d $$i ]; then \ + printf " BUILD $$i\n"; \ + $(MAKE) -C $$i; \ + fi; \ + done -examples: lib - @printf " BUILD examples/stm32\n" - $(Q)$(MAKE) -C examples/stm32 all - @printf " BUILD examples/lpc13xx\n" - $(Q)$(MAKE) -C examples/lpc13xx all - @printf " BUILD examples/lm3s\n" - $(Q)$(MAKE) -C examples/lm3s all +examples: + $(Q)for i in $(addsuffix /*,$(addprefix $@/,$(TARGETS))); do \ + if [ -d $$i ]; then \ + printf " BUILD $$i\n"; \ + $(MAKE) -C $$i; \ + fi; \ + done install: lib @printf " INSTALL headers\n" @@ -62,12 +64,12 @@ install: lib $(Q)$(INSTALL) -m 0644 lib/*/*.ld $(LIBDIR) clean: - $(Q)$(MAKE) -C examples/stm32 clean - $(Q)$(MAKE) -C lib/stm32 clean - $(Q)$(MAKE) -C examples/lpc13xx clean - $(Q)$(MAKE) -C lib/lpc13xx clean - $(Q)$(MAKE) -C examples/lm3s clean - $(Q)$(MAKE) -C lib/lm3s clean + $(Q)for i in $(addprefix lib/,$(TARGETS)) \ + $(addsuffix /*,$(addprefix examples/,$(TARGETS))); do \ + if [ -d $$i ]; then \ + $(MAKE) -C $$i clean; \ + fi; \ + done .PHONY: build lib examples install clean diff --git a/examples/lm3s/Makefile b/examples/lm3s/Makefile deleted file mode 100644 index 4f1704b..0000000 --- a/examples/lm3s/Makefile +++ /dev/null @@ -1,38 +0,0 @@ -## -## This file is part of the libopencm3 project. -## -## Copyright (C) 2010 Piotr Esden-Tempski -## -## 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 . -## - -# Be silent per default, but 'make V=1' will show all compiler calls. -ifneq ($(V),1) -Q := @ -# Do not print "Entering directory ...". -MAKEFLAGS += --no-print-directory -endif - -all: lm3s3748-evb - -lm3s3748-evb: - @printf " BUILD examples/lm3s/lm3s3748-evb\n" - $(Q)$(MAKE) -C lm3s3748-evb - -clean: - @printf " CLEAN examples/lm3s/lm3s3748-evb\n" - $(Q)$(MAKE) -C lm3s3748-evb clean - -.PHONY: lm3s3748-evb clean - diff --git a/examples/lpc13xx/Makefile b/examples/lpc13xx/Makefile deleted file mode 100644 index 486b4ba..0000000 --- a/examples/lpc13xx/Makefile +++ /dev/null @@ -1,38 +0,0 @@ -## -## This file is part of the libopencm3 project. -## -## Copyright (C) 2010 Piotr Esden-Tempski -## -## 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 . -## - -# Be silent per default, but 'make V=1' will show all compiler calls. -ifneq ($(V),1) -Q := @ -# Do not print "Entering directory ...". -MAKEFLAGS += --no-print-directory -endif - -all: lpc-p1343 - -lpc-p1343: - @printf " BUILD examples/lpc13xx/lpc-p1343\n" - $(Q)$(MAKE) -C lpc-p1343 - -clean: - @printf " CLEAN examples/lpc13xx/lpc-p1343\n" - $(Q)$(MAKE) -C lpc-p1343 clean - -.PHONY: lpc-p1343 clean - diff --git a/examples/stm32/Makefile b/examples/stm32/Makefile deleted file mode 100644 index 6a218fc..0000000 --- a/examples/stm32/Makefile +++ /dev/null @@ -1,74 +0,0 @@ -## -## This file is part of the libopencm3 project. -## -## Copyright (C) 2010 Piotr Esden-Tempski -## -## 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 . -## - -# Be silent per default, but 'make V=1' will show all compiler calls. -ifneq ($(V),1) -Q := @ -# Do not print "Entering directory ...". -MAKEFLAGS += --no-print-directory -endif - -all: stm32-discovery stm32-h103 stm32-h107 mb525 lisa-m obldc other - -stm32-discovery: - @printf " BUILD examples/stm32/stm32-discovery\n" - $(Q)$(MAKE) -C stm32-discovery - -stm32-h103: - @printf " BUILD examples/stm32/stm32-h103\n" - $(Q)$(MAKE) -C stm32-h103 - -stm32-h107: - @printf " BUILD examples/stm32/stm32-h107\n" - $(Q)$(MAKE) -C stm32-h107 - -mb525: - @printf " BUILD examples/stm32/mb525\n" - $(Q)$(MAKE) -C mb525 - -lisa-m: - @printf " BUILD examples/stm32/lisa-m\n" - $(Q)$(MAKE) -C lisa-m - -other: - @printf " BUILD examples/stm32/other\n" - $(Q)$(MAKE) -C other - -obldc: - @printf " BUILD examples/stm32/obldc\n" - $(Q)$(MAKE) -C obldc - -clean: - @printf " CLEAN examples/stm32/stm32-discovery\n" - $(Q)$(MAKE) -C stm32-discovery clean - @printf " CLEAN examples/stm32/stm32-h103\n" - $(Q)$(MAKE) -C stm32-h103 clean - @printf " CLEAN examples/stm32/stm32-h107\n" - $(Q)$(MAKE) -C stm32-h107 clean - @printf " CLEAN examples/stm32/mb525\n" - $(Q)$(MAKE) -C mb525 clean - @printf " CLEAN examples/stm32/lisa-m\n" - $(Q)$(MAKE) -C lisa-m clean - @printf " CLEAN examples/stm32/other\n" - $(Q)$(MAKE) -C other clean - @printf " CLEAN examples/stm32/obldc\n" - $(Q)$(MAKE) -C obldc clean - -.PHONY: stm32-discovery stm32-h103 stm32-h107 mb525 lisa-m other obldc clean - -- cgit v1.2.3