From b41d71da30f90a47d034614b7178dac0bbcb8482 Mon Sep 17 00:00:00 2001 From: Christian Decker Date: Thu, 12 Jan 2017 14:15:30 +0100 Subject: [PATCH] Makefile: Making sure header vars are populated correctly The problem with wire headers not being generated in time before stuff depended on it turns out to be related with inclusion order of sub-makefiles. The inclusions must preceed the use of LIGHTNINGD_HEADERS since they append to that variable. --- lightningd/Makefile | 8 ++++---- lightningd/gossip/Makefile | 2 ++ lightningd/hsm/Makefile | 2 ++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lightningd/Makefile b/lightningd/Makefile index c696ea5c3..ff65855a0 100644 --- a/lightningd/Makefile +++ b/lightningd/Makefile @@ -57,17 +57,17 @@ LIGHTNINGD_HEADERS = \ $(GEN_HEADERS) \ $(CCAN_HEADERS) \ $(DAEMON_HEADERS) \ - $(LIGHTNINGD_HSM_CONTROL_HEADERS) \ - $(LIGHTNINGD_HANDSHAKE_CONTROL_HEADERS) \ $(LIBBASE58_HEADERS) \ $(LIBSODIUM_HEADERS) -$(LIGHTNINGD_OBJS) $(LIGHTNINGD_LIB_OBJS): $(LIGHTNINGD_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) + 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/%) diff --git a/lightningd/gossip/Makefile b/lightningd/gossip/Makefile index f5a58cb5c..a48494b7a 100644 --- a/lightningd/gossip/Makefile +++ b/lightningd/gossip/Makefile @@ -29,6 +29,8 @@ LIGHTNINGD_HEADERS += $(LIGHTNINGD_GOSSIP_HEADERS) $(LIGHTNINGD_GOSSIP_OBJS) $(LIGHTNINGD_GOSSIP_CLIENT_OBJS): $(LIGHTNINGD_HEADERS) +$(LIGHTNINGD_GOSSIP_CONTROL_OBJS) : $(LIGHTNINGD_GOSSIP_CONTROL_HEADERS) + lightningd/gossip-all: lightningd/lightningd_gossip $(LIGHTNINGD_GOSSIP_CLIENT_OBJS) lightningd/lightningd_gossip: $(LIGHTNINGD_GOSSIP_OBJS) $(CORE_OBJS) $(BITCOIN_OBJS) $(WIRE_OBJS) $(CCAN_OBJS) $(LIGHTNINGD_LIB_OBJS) $(LIBBASE58_OBJS) libsecp256k1.a libsodium.a diff --git a/lightningd/hsm/Makefile b/lightningd/hsm/Makefile index aca47fa9d..0d6126a71 100644 --- a/lightningd/hsm/Makefile +++ b/lightningd/hsm/Makefile @@ -35,6 +35,8 @@ LIGHTNINGD_HEADERS += $(LIGHTNINGD_HSM_HEADERS) $(LIGHTNINGD_HSM_OBJS) $(LIGHTNINGD_HSM_CLIENT_OBJS): $(LIGHTNINGD_HEADERS) +$(LIGHTNINGD_HSM_CONTROL_OBJS) : $(LIGHTNINGD_HSM_CONTROL_HEADERS) + lightningd/hsm-all: lightningd/lightningd_hsm $(LIGHTNINGD_HSM_CLIENT_OBJS) lightningd/lightningd_hsm: $(LIGHTNINGD_HSM_OBJS) $(CORE_OBJS) $(BITCOIN_OBJS) $(WIRE_OBJS) $(CCAN_OBJS) $(LIBBASE58_OBJS) libsecp256k1.a libsodium.a