projects
/
pub
/
lufa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add script reading bootloader flags
[pub/lufa.git]
/
Projects
/
makefile
diff --git
a/Projects/makefile
b/Projects/makefile
index
616c49a
..
906ba23
100644
(file)
--- a/
Projects/makefile
+++ b/
Projects/makefile
@@
-1,9
+1,9
@@
#
# LUFA Library
#
# LUFA Library
-# Copyright (C) Dean Camera, 20
10
.
-#
+# Copyright (C) Dean Camera, 20
21
.
+#
# dean [at] fourwalledcubicle [dot] com
# dean [at] fourwalledcubicle [dot] com
-#
www.fourwalledcubicle.com
+#
www.lufa-lib.org
#
# Makefile to build all the LUFA Projects. Call with "make all" to
#
# Makefile to build all the LUFA Projects. Call with "make all" to
@@
-13,45
+13,24
@@
# custom LUFA library build options are reflected in the compiled
# code.
# custom LUFA library build options are reflected in the compiled
# code.
-all:
- make -C AVRISP-MKII clean
- make -C AVRISP-MKII all
-
- make -C Benito clean
- make -C Benito all
-
- make -C LEDNotifier clean
- make -C LEDNotifier all
-
- make -C Magstripe clean
- make -C Magstripe all
+PROJECT_DIRECTORIES := $(shell ls -d */)
- make -C MissileLauncher clean
- make -C MissileLauncher all
+# This makefile is potentially infinitely recursive if something really bad
+# happens when determining the set of project directories - hard-abort if
+# more than 10 levels deep to avoid angry emails.
+ifeq ($(MAKELEVEL), 10)
+ $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED)
+endif
- make -C RelayBoard clean
- make -C RelayBoard all
+# Build each directory sequentially, even if we are building using multiple
+# cores within each project
+.NOTPARALLEL:
- make -C TemperatureDataLogger clean
-
make -C TemperatureDataLogger a
ll
+%: $(PROJECT_DIRECTORIES)
+
@echo . > /dev/nu
ll
- make -C USBtoSerial clean
- make -C USBtoSerial all
-
- make -C Webserver clean
- make -C Webserver all
+$(PROJECT_DIRECTORIES):
+ @$(MAKE) -C $@ $(MAKECMDGOALS)
- make -C XPLAINBridge clean
- make -C XPLAINBridge all
+.PHONY: $(PROJECT_DIRECTORIES)
-%:
- make -C AVRISP-MKII $@
- make -C Benito $@
- make -C LEDNotifier $@
- make -C Magstripe $@
- make -C MissileLauncher $@
- make -C RelayBoard $@
- make -C TemperatureDataLogger $@
- make -C USBtoSerial $@
- make -C Webserver $@
- make -C XPLAINBridge $@