[PATCH 2/4] build: fix that passwd.h is always built
Sam Ravnborg
sam at ravnborg.org
Tue Dec 26 10:36:00 PST 2017
>From 48fe20e2bf2249b2f89d96c9787e0b489c015054 Mon Sep 17 00:00:00 2001
From: Sam Ravnborg <sam at ravnborg.org>
Date: Tue, 26 Dec 2017 18:02:17 +0100
Subject: [PATCH 2/4] build: fix that passwd.h is always built
Use the kbuild provided support for generated
files to avoid that passwd.h is always generated
thus triggering further re-builds
Signed-off-by: Sam Ravnborg <sam at ravnborg.org>
---
common/Makefile | 28 +++++++++++++++-------------
1 file changed, 15 insertions(+), 13 deletions(-)
diff --git a/common/Makefile b/common/Makefile
index 8cd0ab300..5351ef0f7 100644
--- a/common/Makefile
+++ b/common/Makefile
@@ -63,27 +63,29 @@ obj-$(CONFIG_BAREBOX_UPDATE_IMX_NAND_FCB) += imx-bbu-nand-fcb.o
obj-$(CONFIG_CONSOLE_RATP) += ratp.o
obj-$(CONFIG_BOOT) += boot.o
-quiet_cmd_pwd_h = PWDH $@
ifdef CONFIG_PASSWORD
-ifneq ($(CONFIG_PASSWORD_DEFAULT),"")
-PASSWD_FILE := $(shell cd $(srctree); find $(CONFIG_PASSWORD_DEFAULT) -type f)
-cmd_pwd_h = echo -n "static const char default_passwd[] = \"" > $@; \
- cat $< | tr -d '\n' >> $@; \
- echo "\";" >> $@
-include/generated/passwd.h: $(PASSWD_FILE)
- $(call if_changed,pwd_h)
+ifeq ($(CONFIG_PASSWORD_DEFAULT),"")
+define filechk_passwd
+ echo "static const char default_passwd[] = \"\";"
+endef
else
-cmd_pwd_h = echo "static const char default_passwd[] = \"\";" > $@
-
-include/generated/passwd.h: FORCE
- $(call if_changed,pwd_h)
+define filechk_passwd
+( \
+echo -n "static const char default_passwd[] = \""; \
+cat $(shell find $(srctree) -name $(CONFIG_PASSWORD_DEFAULT) -type f) | tr -d '\n';\
+echo "\";" \
+)
+endef
endif
+include/generated/passwd.h: $(srctree)/$(src)/Makefile FORCE
+ $(call filechk,passwd)
+
targets += include/generated/passwd.h
$(obj)/password.o: include/generated/passwd.h
-endif
+endif # CONFIG_PASSWORD
# dependencies on generated files need to be listed explicitly
$(obj)/version.o: include/generated/compile.h
--
2.12.0
More information about the barebox
mailing list