Currently the Makefile creates TAGS for emacs with the command: find "$(SRC_PATH)" -name '*.[hc]' -print0 | xargs -0 etags That works only if xargs ends up invoking etags just once. If xargs runs etags several times, as it will if there are enough files, then the later invocations will overwrite the output from the earlier invocations. This patch uses the etags --append option to fix the bug.
Signed-off-by: David Gibson <da...@gibson.dropbear.id.au> --- v2: Improved portability based on suggest from Markus Armbruster. --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 12c7662..6915178 100644 --- a/Makefile +++ b/Makefile @@ -334,7 +334,8 @@ test speed: all .PHONY: TAGS TAGS: - find "$(SRC_PATH)" -name '*.[hc]' -print0 | xargs -0 etags + rm -f $@ + find "$(SRC_PATH)" -name '*.[hc]' -exec etags --append {} + cscope: rm -f ./cscope.* -- 1.7.10.4