From e1d391d2ae5447b230851eb4767679f125ac322d Mon Sep 17 00:00:00 2001 From: Anders Blomdell <anders.blomdell@control.lth.se> Date: Thu, 25 Oct 2018 16:33:10 +0200 Subject: [PATCH] Add cleanup rule --- Makefile | 7 +++++++ lib/avr/Makefile.common | 3 +++ pcio/linux/Makefile | 4 ++++ tools/find_avr_targets | 4 +++- tools/find_linux_targets | 4 +++- 5 files changed, 20 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 9fee9e6..09c96df 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 159b24d..6341ec7 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 7a3863d..c00b3ab 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 2fbe8f8..eff8e4d 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 f268553..3613fc6 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 -- GitLab