From: Uwe Kleine-König <uwe@xxxxxxxxxxxxxxxxx> This way version.h isn't generated when running $(make clean) but only when lib.c is about to be compiled. This simplifies packaging for Debian because the package building programs abort when there are additional files after $(make clean). Signed-off-by: Uwe Kleine-König <uwe@xxxxxxxxxxxxxxxxx> Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> --- Makefile | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 460a261f1..ea3ce89a4 100644 --- a/Makefile +++ b/Makefile @@ -1,13 +1,5 @@ VERSION=0.5.1 -# Generating file version.h if current version has changed -SPARSE_VERSION:=$(shell git describe 2>/dev/null || echo '$(VERSION)') -VERSION_H := $(shell cat version.h 2>/dev/null) -ifneq ($(lastword $(VERSION_H)),"$(SPARSE_VERSION)") -$(info $(shell echo ' GEN 'version.h)) -$(shell echo '#define SPARSE_VERSION "$(SPARSE_VERSION)"' > version.h) -endif - OS = linux @@ -199,6 +191,18 @@ cflags += $($(*)_CFLAGS) $(CPPFLAGS) $(CFLAGS) selfcheck: $(OBJS:.o=.sc) +SPARSE_VERSION:=$(shell git describe 2>/dev/null || echo '$(VERSION)') +lib.o: version.h +version.h: FORCE + @echo '#define SPARSE_VERSION "$(SPARSE_VERSION)"' > version.h.tmp + @if cmp -s version.h version.h.tmp; then \ + rm version.h.tmp; \ + else \ + echo ' GEN '$@; \ + mv version.h.tmp version.h; \ + fi + + clean: clean-check rm -f *.[oa] .*.d *.so $(PROGRAMS) $(SLIB_FILE) pre-process.h version.h @@ -220,3 +224,5 @@ clean-check: -o -name "*.c.error.got" \ -o -name "*.c.error.diff" \ \) -exec rm {} \; + +.PHONY: FORCE -- 2.14.0 -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html