bitcoin: fix building of submodules libbase58 submodule.

This does it properly, as learned from Stack Overflow.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell
2017-02-21 15:15:28 +10:30
parent fb93503e6d
commit 4f6033ba29

View File

@@ -26,15 +26,10 @@ LIBBASE58_SRC := bitcoin/libbase58/base58.c
# Can't be inside submodule, as that makes git think it's dirty.
LIBBASE58_OBJS := bitcoin/libbase58.o
# Git submodules are seriously broken.
bitcoin/libbase58/libbase58.h:
# Wildcards here are magic. See http://stackoverflow.com/questions/2973445/gnu-makefile-rule-generating-a-few-targets-from-a-single-source-file
bitcoin/libbase58/libbase58.% bitcoin/libbase58/base58.%:
git submodule update bitcoin/libbase58/
[ -f $@ ] || git submodule update --init bitcoin/libbase58/
# If we tell Make that the above builds both, it runs it twice in
# parallel. So we lie :(
bitcoin/libbase58/base58.c: bitcoin/libbase58/libbase58.h
[ -f $@ ]
bitcoin/libbase58.o: bitcoin/libbase58/base58.c
$(COMPILE.c) $(OUTPUT_OPTION) $<