diff --git a/Makefile b/Makefile index 9fee9e6c33da0d769d99527e814b58cdf48a1140..09c96dfe8320a56c42307ced99e969b50a6f14a9 100644 --- a/Makefile +++ b/Makefile @@ -14,6 +14,12 @@ all: @echo >&2 @exit 1 +%.CLEAN: + for d in $$(./tools/find_linux_targets $*) \ + $$(./tools/find_avr_targets $*) ; do \ + make -C $${d} $@ ; \ + done + %.LOAD: make -C $$(./tools/find_avr_targets $*) $@ @@ -22,3 +28,4 @@ all: %.LINUX: make -C $$(./tools/find_linux_targets $*) $@ + diff --git a/lib/avr/Makefile.common b/lib/avr/Makefile.common index 159b24db12603b8b8a15bba5974a02e51ead34bc..6341ec794db8c3764ee9eff191086a4a4a24a6fe 100644 --- a/lib/avr/Makefile.common +++ b/lib/avr/Makefile.common @@ -16,6 +16,9 @@ ifeq ($(TARGET),) all: $(TARGETS:%=%.LINK) +%.CLEAN: + rm -rf compiled/$* + %.LINK: @mkdir -p compiled/$* make --no-print-directory TARGET=$* $*.LINK diff --git a/pcio/linux/Makefile b/pcio/linux/Makefile index 7a3863d021ef79626f08b6ca53d5ff4bca62b499..c00b3abe53f57f3222d8aa81c6c6e8e982e94475 100644 --- a/pcio/linux/Makefile +++ b/pcio/linux/Makefile @@ -9,6 +9,10 @@ all: pciotest.LINUX %.LINUX: compiled/% | compiled @/bin/true +.PHONY: %.CLEAN +%.CLEAN: clean + @/bin/true + .PRECIOUS: compiled/% compiled/%: %.c | compiled echo $* diff --git a/tools/find_avr_targets b/tools/find_avr_targets index 2fbe8f8f8f76d94426e8ceef1dc25661a6605364..eff8e4d96141711377f1bb12a0a3d5d9a0c5b205 100755 --- a/tools/find_avr_targets +++ b/tools/find_avr_targets @@ -16,7 +16,9 @@ all_avr_programs() { } target_dir() { - dirname $(egrep -l "$1.CHIP=" ${ROOTDIR}/*/avr/Makefile) + local MAKEFILE + MAKEFILE=$(egrep -l "$1.CHIP=" ${ROOTDIR}/*/avr/Makefile) + [ -n ${MAKEFILE} ] && dirname ${MAKEFILE} } if [ $# -eq 0 ] ; then diff --git a/tools/find_linux_targets b/tools/find_linux_targets index f26855381360bb1ca5ad84e0974cc5eda57c5559..3613fc63c82df4f1c80c87a5ebd82ea3397977e6 100755 --- a/tools/find_linux_targets +++ b/tools/find_linux_targets @@ -17,7 +17,9 @@ all_linux_programs() { } target_dir() { - dirname $(egrep -l "^CFLAGS.$1=" ${ROOTDIR}/*/linux/Makefile) + local MAKEFILE + MAKEFILE=$(egrep -l "^CFLAGS.$1=" ${ROOTDIR}/*/linux/Makefile) + [ -n ${MAKEFILE} ] && dirname ${MAKEFILE} } if [ $# -eq 0 ] ; then