core-lightning/wallet/Makefile
Michael Schmoock db19f19eb3 chore: adds env NO_PYTHON check to Makefiles
This adds an environment variable $NO_PYTHON check to Makefiles so that:
 - It checks and runs into an defined error instead of some python hickup:
   `ModuleNotFoundError: No module named 'mako'`
 - makes it possible to manually export this environment variable NO_PYTHON=1
   to run the same testcase that travis is running on job 1 which causes
   so much pain ;)

Changelog-None
2020-10-19 13:17:03 +02:00

57 lines
1.8 KiB
Makefile

#! /usr/bin/make
WALLET_LIB_SRC := \
wallet/db.c \
wallet/invoices.c \
wallet/txfilter.c \
wallet/wallet.c \
wallet/walletrpc.c
WALLET_LIB_SRC_NOHDR := \
wallet/reservation.c
WALLET_DB_DRIVERS := \
wallet/db_postgres.c \
wallet/db_sqlite3.c
WALLET_SRC := $(WALLET_LIB_SRC) $(WALLET_LIB_SRC_NOHDR) $(WALLET_DB_DRIVERS)
WALLET_HDRS := $(WALLET_LIB_SRC:.c=.h)
WALLET_OBJS := $(WALLET_SRC:.c=.o)
$(WALLET_OBJS): $(WALLET_HDRS) $(LIGHTNINGD_HEADERS)
# Make sure these depend on everything.
ALL_C_SOURCES += $(WALLET_SRC) wallet/db_sqlite3_sqlgen.c wallet/db_postgres_sqlgen.c
ALL_C_HEADERS += $(WALLET_HDRS)
# Each database driver depends on its rewritten statements.
wallet/db_sqlite3.o: wallet/db_sqlite3_sqlgen.c
wallet/db_postgres.o: wallet/db_postgres_sqlgen.c
# The following files contain SQL-annotated statements that we need to extact
SQL_FILES := \
wallet/db.c \
wallet/invoices.c \
wallet/wallet.c \
wallet/test/run-db.c \
wallet/test/run-wallet.c \
wallet/statements_gettextgen.po: $(SQL_FILES) FORCE
@if $(call SHA256STAMP_CHANGED); then if [ "$$NO_PYTHON" == 1 ]; then echo "Error: NO_PYTHON on $@"; exit 1; fi; \
$(call VERBOSE,"xgettext $@",xgettext -kNAMED_SQL -kSQL --add-location --no-wrap --omit-header -o $@ $(SQL_FILES) && $(call SHA256STAMP,# )); \
fi
wallet/db_%_sqlgen.c: wallet/statements_gettextgen.po devtools/sql-rewrite.py FORCE
@if $(call SHA256STAMP_CHANGED); then if [ "$$NO_PYTHON" == 1 ]; then echo "Error: NO_PYTHON on $@"; exit 1; fi; \
$(call VERBOSE,"sql-rewrite $@",devtools/sql-rewrite.py wallet/statements_gettextgen.po $* > $@ && $(call SHA256STAMP,//)); \
fi
maintainer-clean: wallet-maintainer-clean
wallet-maintainer-clean:
$(RM) wallet/statements.po
$(RM) wallet/statements_gettextgen.po
$(RM) wallet/db_sqlite3_sqlgen.c
$(RM) wallet/db_postgres_sqlgen.c
include wallet/test/Makefile