aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorGareth McMullin2011-03-13 13:58:19 +1300
committerGareth McMullin2011-03-13 13:58:19 +1300
commit08990e5243de216a599add8d5c2b4b5740cf6a7b (patch)
tree80359f84b20886c72e60e34b30fd82c04bd6450f /Makefile
parentef766da46811b7cbc7202ce01aa0fb51e785dfee (diff)
Simplified build system for adding new examples.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile40
1 files changed, 21 insertions, 19 deletions
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