From 015eb072b80b6289bbbf331a38d0a5a462cea4f0 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Tue, 10 Jan 2017 15:38:33 +1030 Subject: [PATCH] Makefile: split CORE_SRC into CORE_SRC, CORE_TX_SRC and CORE_PROTOBUF_SRC With the lightningd daemon split, we don't need them all. Signed-off-by: Rusty Russell --- Makefile | 44 ++++++++++++++++++++++++++++---------------- daemon/Makefile | 4 ++-- daemon/test/Makefile | 4 ++-- 3 files changed, 32 insertions(+), 20 deletions(-) diff --git a/Makefile b/Makefile index e68f9008b..a418ddd28 100644 --- a/Makefile +++ b/Makefile @@ -45,12 +45,7 @@ BITCOIN_SRC := \ BITCOIN_OBJS := $(BITCOIN_SRC:.c=.o) CORE_SRC := \ - close_tx.c \ - find_p2sh_out.c \ - lightning.pb-c.c \ opt_bits.c \ - permute_tx.c \ - protobuf_convert.c \ status.c \ type_to_string.c \ utils.c \ @@ -58,6 +53,19 @@ CORE_SRC := \ CORE_OBJS := $(CORE_SRC:.c=.o) +CORE_TX_SRC := \ + close_tx.c \ + find_p2sh_out.c \ + permute_tx.c + +CORE_TX_OBJS := $(CORE_TX_SRC:.c=.o) + +CORE_PROTOBUF_SRC := \ + lightning.pb-c.c \ + protobuf_convert.c + +CORE_PROTOBUF_OBJS := $(CORE_PROTOBUF_SRC:.c=.o) + CCAN_OBJS := \ ccan-asort.o \ ccan-autodata.o \ @@ -168,14 +176,15 @@ BITCOIN_HEADERS := bitcoin/address.h \ bitcoin/tx.h \ bitcoin/varint.h -CORE_HEADERS := close_tx.h \ +CORE_TX_HEADERS := close_tx.h \ find_p2sh_out.h \ - irc.h \ + permute_tx.h \ + remove_dust.h + +CORE_HEADERS := irc.h \ opt_bits.h \ overflows.h \ - permute_tx.h \ protobuf_convert.h \ - remove_dust.h \ status.h \ type_to_string.h \ utils.h \ @@ -221,7 +230,7 @@ $(MANPAGES): doc/%: doc/%.txt $(CCAN_OBJS) $(CDUMP_OBJS) $(HELPER_OBJS) $(BITCOIN_OBJS) $(TEST_PROGRAMS:=.o) ccan/ccan/cdump/tools/cdump-enumstr.o: $(CCAN_HEADERS) # Except for CCAN, everything depends on bitcoin/ and core headers. -$(HELPER_OBJS) $(CORE_OBJS) $(BITCOIN_OBJS) $(LIBBASE58_OBJS) $(WIRE_OBJS) $(TEST_PROGRAMS:=.o): $(BITCOIN_HEADERS) $(CORE_HEADERS) $(CCAN_HEADERS) $(GEN_HEADERS) $(LIBBASE58_HEADERS) +$(HELPER_OBJS) $(CORE_OBJS) $(CORE_TX_OBJS) $(CORE_PROTOBUF_OBJS) $(BITCOIN_OBJS) $(LIBBASE58_OBJS) $(WIRE_OBJS) $(TEST_PROGRAMS:=.o): $(BITCOIN_HEADERS) $(CORE_HEADERS) $(CCAN_HEADERS) $(GEN_HEADERS) $(LIBBASE58_HEADERS) test-protocol: test/test_protocol set -e; TMP=`mktemp`; for f in test/commits/*.script; do if ! $(VALGRIND) test/test_protocol < $$f > $$TMP; then echo "test/test_protocol < $$f FAILED" >&2; exit 1; fi; diff -u $$TMP $$f.expected; done; rm $$TMP @@ -245,7 +254,7 @@ check-hdr-include-order/%: % # Make sure Makefile includes all headers. check-makefile: check-daemon-makefile @if [ "`echo bitcoin/*.h`" != "$(BITCOIN_HEADERS)" ]; then echo BITCOIN_HEADERS incorrect; exit 1; fi - @if [ x"`ls *.h | grep -v ^gen_ | fgrep -v lightning.pb-c.h | tr '\n' ' '`" != x"$(CORE_HEADERS) " ]; then echo CORE_HEADERS incorrect; exit 1; fi + @if [ x"`ls *.h | grep -v ^gen_ | fgrep -v lightning.pb-c.h`" != x"`echo $(CORE_HEADERS) $(CORE_TX_HEADERS) | tr ' ' '\n' | LC_ALL=C sort`" ]; then echo CORE_HEADERS incorrect; exit 1; fi @if [ x"$(CCANDIR)/config.h `find $(CCANDIR)/ccan -name '*.h' | grep -v /test/ | LC_ALL=C sort | tr '\n' ' '`" != x"$(CCAN_HEADERS) " ]; then echo CCAN_HEADERS incorrect; exit 1; fi # Any mention of BOLT# must be followed by an exact quote, modulo whitepace. @@ -255,7 +264,7 @@ bolt-check/%: % bolt-precheck check-bolt bolt-precheck: @rm -rf .tmp.lightningrfc; if [ ! -d $(BOLTDIR) ]; then echo Not checking BOLT references: BOLTDIR $(BOLTDIR) does not exist >&2; exit 0; fi; set -e; if [ -n "$(BOLTVERSION)" ]; then git clone -q -b $(BOLTVERSION) $(BOLTDIR) .tmp.lightningrfc; else cp -a $(BOLTDIR) .tmp.lightningrfc; fi -check-source-bolt: $(CORE_SRC:%=bolt-check/%) $(CORE_HEADERS:%=bolt-check/%) $(TEST_PROGRAMS:%=bolt-check/%.c) +check-source-bolt: $(CORE_SRC:%=bolt-check/%) $(CORE_TX_SRC:%=bolt-check/%) $(CORE_PROTOBUF_SRC:%=bolt-check/%) $(CORE_HEADERS:%=bolt-check/%) $(TEST_PROGRAMS:%=bolt-check/%.c) check-bolt: check-bolt.o $(CCAN_OBJS) @@ -264,12 +273,15 @@ check-bolt.o: $(CCAN_HEADERS) check-whitespace/%: % @if grep -Hn '[ ]$$' $<; then echo Extraneous whitespace found >&2; exit 1; fi -check-whitespace: check-whitespace/Makefile check-whitespace/check-bolt.c $(CORE_SRC:%=check-whitespace/%) $(CORE_HEADERS:%=check-whitespace/%) +check-whitespace: check-whitespace/Makefile check-whitespace/check-bolt.c $(CORE_SRC:%=check-whitespace/%) $(CORE_TX_SRC:%=check-whitespace/%) $(CORE_PROTOBUF_SRC:%=check-whitespace/%) $(CORE_HEADERS:%=check-whitespace/%) check-source: check-makefile check-source-bolt check-whitespace \ - $(CORE_SRC:%=check-src-include-order/%) \ - $(BITCOIN_SRC:%=check-src-include-order/%) \ - $(CORE_HEADERS:%=check-hdr-include-order/%) \ + $(CORE_SRC:%=check-src-include-order/%) \ + $(CORE_TX_SRC:%=check-src-include-order/%) \ + $(CORE_PROTOBUF_SRC:%=check-src-include-order/%) \ + $(BITCOIN_SRC:%=check-src-include-order/%) \ + $(CORE_HEADERS:%=check-hdr-include-order/%) \ + $(CORE_TX_HEADERS:%=check-hdr-include-order/%) \ $(BITCOIN_HEADERS:%=check-hdr-include-order/%) full-check: check $(TEST_PROGRAMS) check-source diff --git a/daemon/Makefile b/daemon/Makefile index a6d3358ff..c4931a1bb 100644 --- a/daemon/Makefile +++ b/daemon/Makefile @@ -115,7 +115,7 @@ daemon/gen_state_names.h: daemon/state_types.h ccan/ccan/cdump/tools/cdump-enums daemon/gen_pkt_names.h: lightning.pb-c.h ccan/ccan/cdump/tools/cdump-enumstr (echo 'enum PktCase {'; grep '^ PKT__' lightning.pb-c.h; echo '};') | ccan/ccan/cdump/tools/cdump-enumstr - | sed 's/enum PktCase/Pkt__PktCase/' > $@ -$(DAEMON_OBJS) $(DAEMON_LIB_OBJS) $(DAEMON_CLI_OBJS): $(DAEMON_HEADERS) $(DAEMON_JSMN_HEADERS) $(BITCOIN_HEADERS) $(CORE_HEADERS) $(GEN_HEADERS) $(DAEMON_GEN_HEADERS) $(CCAN_HEADERS) $(WIRE_HEADERS) $(WIRE_GEN_HEADERS) +$(DAEMON_OBJS) $(DAEMON_LIB_OBJS) $(DAEMON_CLI_OBJS): $(DAEMON_HEADERS) $(DAEMON_JSMN_HEADERS) $(BITCOIN_HEADERS) $(CORE_HEADERS) $(CORE_TX_HEADERS) $(GEN_HEADERS) $(DAEMON_GEN_HEADERS) $(CCAN_HEADERS) $(WIRE_HEADERS) $(WIRE_GEN_HEADERS) $(DAEMON_JSMN_OBJS): $(DAEMON_JSMN_HEADERS) check-source: $(DAEMON_SRC:%=check-src-include-order/%) @@ -145,7 +145,7 @@ daemon/jsmn/jsmn.c: daemon/jsmn/jsmn.h daemon/jsmn.o: daemon/jsmn/jsmn.c $(COMPILE.c) -DJSMN_STRICT=1 $(OUTPUT_OPTION) $< -daemon/lightningd: $(DAEMON_OBJS) $(DAEMON_LIB_OBJS) $(DAEMON_JSMN_OBJS) $(CORE_OBJS) $(BITCOIN_OBJS) $(LIBBASE58_OBJS) $(WIRE_OBJS) $(CCAN_OBJS) libsecp256k1.a +daemon/lightningd: $(DAEMON_OBJS) $(DAEMON_LIB_OBJS) $(DAEMON_JSMN_OBJS) $(CORE_OBJS) $(CORE_TX_OBJS) $(CORE_PROTOBUF_OBJS) $(BITCOIN_OBJS) $(LIBBASE58_OBJS) $(WIRE_OBJS) $(CCAN_OBJS) libsecp256k1.a daemon/lightning-cli: $(DAEMON_CLI_OBJS) $(DAEMON_LIB_OBJS) $(DAEMON_JSMN_OBJS) $(CORE_OBJS) $(BITCOIN_OBJS) $(LIBBASE58_OBJS) $(WIRE_OBJS) $(CCAN_OBJS) libsecp256k1.a diff --git a/daemon/test/Makefile b/daemon/test/Makefile index bf1c88afe..54a7355da 100644 --- a/daemon/test/Makefile +++ b/daemon/test/Makefile @@ -63,9 +63,9 @@ DAEMON_TEST_PROGRAMS := $(DAEMON_TEST_OBJS:.o=) update-mocks: $(DAEMON_TEST_SRC:%=update-mocks/%) -$(DAEMON_TEST_PROGRAMS): $(CCAN_OBJS) $(BITCOIN_OBJS) $(CORE_OBJS) $(LIBBASE58_OBJS) $(WIRE_OBJS) libsecp256k1.a utils.o +$(DAEMON_TEST_PROGRAMS): $(CCAN_OBJS) $(BITCOIN_OBJS) $(CORE_OBJS) $(CORE_TX_OBJS) $(CORE_PROTOBUF_OBJS) $(LIBBASE58_OBJS) $(WIRE_OBJS) libsecp256k1.a utils.o -$(DAEMON_TEST_OBJS): $(DAEMON_HEADERS) $(DAEMON_JSMN_HEADERS) $(BITCOIN_HEADERS) $(CORE_HEADERS) $(GEN_HEADERS) $(DAEMON_GEN_HEADERS) $(CCAN_HEADERS) $(WIRE_HEADERS) +$(DAEMON_TEST_OBJS): $(DAEMON_HEADERS) $(DAEMON_JSMN_HEADERS) $(BITCOIN_HEADERS) $(CORE_HEADERS) $(CORE_TX_HEADERS) $(GEN_HEADERS) $(DAEMON_GEN_HEADERS) $(CCAN_HEADERS) $(WIRE_HEADERS) daemon-unit-tests: $(DAEMON_TEST_PROGRAMS:%=unittest/%)