Fix make clean

Commit 82399a9239 assumes you can override `make clean` on the fact
that prerequisites of the same target are merged. This is true but
unfortunately defining a `clean` target prevents automake from
generating its own one, hence the default clean actions are not
performed. This can be easily seen by inspecting the generated
`Makefile`.

Solve this issue by manually chaining up the default action.
This commit is contained in:
Nicola Fontana
2021-07-22 17:22:09 +02:00
parent edd473c36b
commit 89f81d638c

View File

@@ -13,15 +13,14 @@ modules_install:
$(KBUILD) modules_install
# Call Kbuild clean *before* automake `clean` (see #5 for the rationale)
# by adding `kbuild-clean` to the clean prerequisites. Having targets
# with the same name will result in merging the prerequisites, i.e.:
# ```
# # Equivalent to 'clean: prerequisite1 prerequisite2'
# clean: prerequisite1
# clean: prerequisite2
# ```
# Override default `clean` target to call Kbuild clean *before* automake
# `clean` (see #5 for the rationale).
clean: kbuild-clean
@if test -z "$(SUBDIRS)"; then \
$(MAKE) $(AM_MAKEFLAGS) clean-am ; \
else \
$(MAKE) $(AM_MAKEFLAGS) clean-recursive ; \
fi
kbuild-clean:
$(KBUILD) clean