From 6bf3c30a10cb0f0b22a1be5b9b70cae7d475b655 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Fri, 13 Jan 2017 10:48:11 +1030 Subject: [PATCH] lightningd/Makefile: fix check-source Signed-off-by: Rusty Russell --- daemon/Makefile | 6 +++--- lightningd/Makefile | 34 +++++++++++++++++++++++----------- lightningd/gossip/Makefile | 2 +- lightningd/handshake/Makefile | 2 +- lightningd/hsm/Makefile | 2 +- lightningd/test/Makefile | 2 +- 6 files changed, 30 insertions(+), 18 deletions(-) diff --git a/daemon/Makefile b/daemon/Makefile index 184f65579..fa8477d8a 100644 --- a/daemon/Makefile +++ b/daemon/Makefile @@ -123,10 +123,10 @@ check-source: $(DAEMON_LIB_SRC:%=check-src-include-order/%) check-source: $(DAEMON_CLI_SRC:%=check-src-include-order/%) check-source: $(DAEMON_HEADERS:%=check-hdr-include-order/%) check-daemon-makefile: - echo $(DAEMON_HEADERS) | tr ' ' '\012' > /tmp/daemon-headers-makefile - ls daemon/*.h | grep -v daemon/gen > /tmp/daemon-headers-file + @echo $(DAEMON_HEADERS) | tr ' ' '\012' > /tmp/daemon-headers-makefile + @ls daemon/*.h | grep -v daemon/gen > /tmp/daemon-headers-file @if [ "`diff -w /tmp/daemon-headers-makefile /tmp/daemon-headers-file`" != "" ]; then echo DAEMON_HEADERS incorrect; diff -w --context=2 /tmp/daemon-headers-makefile /tmp/daemon-headers-file; exit 1; fi - rm /tmp/daemon-headers-makefile /tmp/daemon-headers-file + @rm /tmp/daemon-headers-makefile /tmp/daemon-headers-file check-source-bolt: $(DAEMON_SRC:%=bolt-check/%) $(DAEMON_HEADERS:%=bolt-check/%) diff --git a/lightningd/Makefile b/lightningd/Makefile index ff65855a0..53a75ec7a 100644 --- a/lightningd/Makefile +++ b/lightningd/Makefile @@ -43,41 +43,53 @@ LIGHTNINGD_OBJS := $(LIGHTNINGD_SRC:.c=.o) LIGHTNINGD_JSMN_OBJS := daemon/jsmn.o LIGHTNINGD_JSMN_HEADERS := daemon/jsmn/jsmn.h -# We accumulate all lightningd/ headers in here -LIGHTNINGD_HEADERS = \ +# We accumulate all lightningd/ headers in these three: +LIGHTNINGD_HEADERS_NOGEN = \ lightningd/gossip_control.h \ lightningd/hsm_control.h \ lightningd/lightningd.h \ lightningd/peer_control.h \ lightningd/subdaemon.h \ - $(WIRE_HEADERS) $(WIRE_GEN_HEADERS) \ - $(LIGHTNINGD_JSMN_HEADERS) \ + $(LIGHTNINGD_LIB_HEADERS) \ + $(WIRE_HEADERS) \ $(BITCOIN_HEADERS) \ $(CORE_HEADERS) \ - $(GEN_HEADERS) \ + $(DAEMON_HEADERS) + +# Generated headers +LIGHTNINGD_HEADERS_GEN = \ + $(WIRE_GEN_HEADERS) \ + $(GEN_HEADERS) + +# Headers we don't directly own (ie. don't check them) +LIGHTNINGD_EXTERNAL_HEADERS = \ + $(LIGHTNINGD_JSMN_HEADERS) \ $(CCAN_HEADERS) \ - $(DAEMON_HEADERS) \ $(LIBBASE58_HEADERS) \ $(LIBSODIUM_HEADERS) +# All together in one convenient var +LIGHTNINGD_HEADERS = $(LIGHTNINGD_HEADERS_NOGEN) $(LIGHTNINGD_HEADERS_GEN) $(LIGHTNINGD_EXTERNAL_HEADERS) + # These included makefiles add their headers to the LIGHTNINGD_HEADERS # variable so the include must preceed any actual use of the variable. include lightningd/hsm/Makefile include lightningd/handshake/Makefile include lightningd/gossip/Makefile -$(LIGHTNINGD_OBJS) $(LIGHTNINGD_LIB_OBJS): $(LIGHTNINGD_HEADERS) +$(LIGHTNINGD_OBJS) $(LIGHTNINGD_LIB_OBJS): $(LIGHTNINGD_HEADERS) check-source: $(LIGHTNINGD_SRC:%=check-src-include-order/%) check-source: $(LIGHTNINGD_LIB_SRC:%=check-src-include-order/%) check-source: $(LIGHTNINGD_CLI_SRC:%=check-src-include-order/%) -check-source: $(LIGHTNINGD_HEADERS:%=check-hdr-include-order/%) -check-source-bolt: $(LIGHTNINGD_SRC:%=bolt-check/%) $(LIGHTNINGD_HEADERS:%=bolt-check/%) +check-source: $(LIGHTNINGD_HEADERS_NOGEN:%=check-hdr-include-order/%) +check-source-bolt: $(LIGHTNINGD_SRC:%=bolt-check/%) $(LIGHTNINGD_HEADERS_NOGEN:%=bolt-check/%) -check-whitespace: $(LIGHTNINGD_SRC:%=check-whitespace/%) $(LIGHTNINGD_HEADERS:%=check-whitespace/%) $(LIGHTNINGD_LIB_SRC:%=check-whitespace/%) $(LIGHTNINGD_LIB_HEADERS:%=check-whitespace/%) +check-whitespace: $(LIGHTNINGD_SRC:%=check-whitespace/%) $(LIGHTNINGD_HEADERS_NOGEN:%=check-whitespace/%) $(LIGHTNINGD_LIB_SRC:%=check-whitespace/%) $(LIGHTNINGD_LIB_HEADERS:%=check-whitespace/%) +check-makefile: check-lightningd-makefile check-lightningd-makefile: - @if [ "`ls lightningd/*.h | grep -v lightningd/gen | tr '\012' ' '`" != "`echo $(LIGHTNINGD_HEADERS) ''`" ]; then echo LIGHTNINGD_HEADERS incorrect; exit 1; fi + @for f in lightningd/*.h lightningd/*/*.h; do if ! echo $(LIGHTNINGD_HEADERS_NOGEN) $(LIGHTNINGD_HEADERS_GEN) "" | grep -q "$$f "; then echo $$f not mentioned in LIGHTNINGD_HEADERS_NOGEN or LIGHTNINGD_HEADERS_GEN >&2; exit 1; fi; done lightningd/lightningd: $(LIGHTNINGD_OBJS) $(LIGHTNINGD_OLD_OBJS) $(LIGHTNINGD_LIB_OBJS) $(LIGHTNINGD_JSMN_OBJS) $(CORE_OBJS) $(BITCOIN_OBJS) $(WIRE_OBJS) $(CCAN_OBJS) $(LIGHTNINGD_HSM_CONTROL_OBJS) $(LIGHTNINGD_HANDSHAKE_CONTROL_OBJS) $(LIGHTNINGD_GOSSIP_CONTROL_OBJS) $(LIBBASE58_OBJS) libsecp256k1.a libsodium.a diff --git a/lightningd/gossip/Makefile b/lightningd/gossip/Makefile index a48494b7a..b15ca40e3 100644 --- a/lightningd/gossip/Makefile +++ b/lightningd/gossip/Makefile @@ -25,7 +25,7 @@ LIGHTNINGD_GOSSIP_ALLSRC_NOGEN := $(filter-out lightningd/gossip/gen_%, $(LIGHTN LIGHTNINGD_GOSSIP_ALLHEADERS_NOGEN := $(filter-out lightningd/gossip/gen_%, $(LIGHTNINGD_GOSSIP_CLIENT_HEADERS) $(LIGHTNINGD_GOSSIP_HEADERS)) # Add to headers which any object might need. -LIGHTNINGD_HEADERS += $(LIGHTNINGD_GOSSIP_HEADERS) +LIGHTNINGD_HEADERS_GEN += $(LIGHTNINGD_GOSSIP_HEADERS) $(LIGHTNINGD_GOSSIP_OBJS) $(LIGHTNINGD_GOSSIP_CLIENT_OBJS): $(LIGHTNINGD_HEADERS) diff --git a/lightningd/handshake/Makefile b/lightningd/handshake/Makefile index d5ce204f5..55c6d70e0 100644 --- a/lightningd/handshake/Makefile +++ b/lightningd/handshake/Makefile @@ -26,7 +26,7 @@ LIGHTNINGD_HANDSHAKE_GEN_SRC := $(filter lightningd/handshake/gen_%, $(LIGHTNING LIGHTNINGD_HANDSHAKE_SRC_NOGEN := $(filter-out lightningd/handshake/gen_%, $(LIGHTNINGD_HANDSHAKE_SRC)) # Add to headers which any object might need. -LIGHTNINGD_HEADERS += $(LIGHTNINGD_HANDSHAKE_HEADERS) +LIGHTNINGD_HEADERS_GEN += $(LIGHTNINGD_HANDSHAKE_HEADERS) $(LIGHTNINGD_HANDSHAKE_OBJS): $(LIGHTNINGD_HEADERS) diff --git a/lightningd/hsm/Makefile b/lightningd/hsm/Makefile index 0d6126a71..dc7605d86 100644 --- a/lightningd/hsm/Makefile +++ b/lightningd/hsm/Makefile @@ -31,7 +31,7 @@ LIGHTNINGD_HSM_ALLSRC_NOGEN := $(filter-out lightningd/hsm/gen_%, $(LIGHTNINGD_H LIGHTNINGD_HSM_ALLHEADERS_NOGEN := $(filter-out lightningd/hsm/gen_%, $(LIGHTNINGD_HSM_CLIENT_HEADERS) $(LIGHTNINGD_HSM_HEADERS)) # Add to headers which any object might need. -LIGHTNINGD_HEADERS += $(LIGHTNINGD_HSM_HEADERS) +LIGHTNINGD_HEADERS_GEN += $(LIGHTNINGD_HSM_HEADERS) $(LIGHTNINGD_HSM_CLIENT_HEADERS) $(LIGHTNINGD_HSM_OBJS) $(LIGHTNINGD_HSM_CLIENT_OBJS): $(LIGHTNINGD_HEADERS) diff --git a/lightningd/test/Makefile b/lightningd/test/Makefile index 518326a2b..76e7ae4b9 100644 --- a/lightningd/test/Makefile +++ b/lightningd/test/Makefile @@ -13,7 +13,7 @@ update-mocks: $(LIGHTNINGD_TEST_SRC:%=update-mocks/%) $(LIGHTNINGD_TEST_PROGRAMS): $(CCAN_OBJS) $(BITCOIN_OBJS) $(WIRE_OBJS) $(LIBBASE58_OBJS) $(LIGHTNINGD_HANDSHAKE_GEN_SRC:.c=.o) utils.o libsecp256k1.a libsodium.a -$(LIGHTNINGD_TEST_OBJS): $(LIGHTNINGD_HEADERS) $(BITCOIN_HEADERS) $(CORE_HEADERS) $(GEN_HEADERS) $(WIRE_HEADERS) $(CCAN_HEADERS) $(LIBBASE58_HEADERS) +$(LIGHTNINGD_TEST_OBJS): $(LIGHTNINGD_HEADERS) lightningd/tests: $(LIGHTNINGD_TEST_PROGRAMS:%=unittest/%)