diff --git a/daemon/Makefile b/daemon/Makefile index 51cca3fb3..863c220b5 100644 --- a/daemon/Makefile +++ b/daemon/Makefile @@ -13,17 +13,29 @@ DAEMON_SRC := \ daemon/pseudorand.c DAEMON_OBJS := $(DAEMON_SRC:.c=.o) +DAEMON_JSMN_OBJS := daemon/jsmn.o +DAEMON_JSMN_HEADERS := daemon/jsmn/jsmn.h + DAEMON_HEADERS := \ daemon/configdir.h \ daemon/lightningd.h \ daemon/log.h \ daemon/pseudorand.h -$(DAEMON_OBJS): $(DAEMON_HEADERS) $(BITCOIN_HEADERS) $(CORE_HEADERS) $(GEN_HEADERS) $(CCAN_HEADERS) +$(DAEMON_OBJS): $(DAEMON_HEADERS) $(DAEMON_JSMN_HEADERS) $(BITCOIN_HEADERS) $(CORE_HEADERS) $(GEN_HEADERS) $(CCAN_HEADERS) +$(DAEMON_JSMN_OBJS): $(DAEMON_JSMN_HEADERS) check-source: $(DAEMON_SRC:%=check-src-include-order/%) check-source: $(DAEMON_HEADERS:%=check-hdr-include-order/%) check-daemon-makefile: @if [ "`echo daemon/*.h`" != "$(DAEMON_HEADERS)" ]; then echo DAEMON_HEADERS incorrect; exit 1; fi -daemon/lightningd: $(DAEMON_OBJS) $(CORE_OBJS) $(BITCOIN_OBJS) $(CCAN_OBJS) libsecp256k1.a +# Git submodules are seriously broken. +daemon/jsmn/jsmn.c: + git submodule update daemon/jsmn/ + [ -f $@ ] || git submodule update --init daemon/jsmn/ + +daemon/jsmn.o: daemon/jsmn/jsmn.c + $(COMPILE.c) -DJSMN_STRICT=1 $(OUTPUT_OPTION) $< + +daemon/lightningd: $(DAEMON_OBJS) $(DAEMON_JSMN_OBJS) $(CORE_OBJS) $(BITCOIN_OBJS) $(CCAN_OBJS) libsecp256k1.a