python-cffi: introduce stamp file

Although the rebuild does not take long, it is a bit noisy, so assume
if it succeeds once, it doesn't need to re-invoke setup.py until the
shared library is rebuilt. This is a partial fix for [1].

[1]: id:87r29wwgq2.fsf@fifthhorseman.net
This commit is contained in:
David Bremner 2021-10-30 17:48:55 -03:00
parent 904c067f32
commit c01152885c

View file

@ -15,11 +15,14 @@ ifeq ($(HAVE_RUBY_DEV),1)
$(MAKE) -C $(dir)/ruby CFLAGS="$(CFLAGS) -pipe -fno-plt -fPIC" && touch $@ $(MAKE) -C $(dir)/ruby CFLAGS="$(CFLAGS) -pipe -fno-plt -fPIC" && touch $@
endif endif
python-cffi-bindings: lib/$(LINKER_NAME) python-cffi-bindings: $(dir)/python-cffi.stamp
$(dir)/python-cffi.stamp: lib/$(LINKER_NAME)
ifeq ($(HAVE_PYTHON3_CFFI),1) ifeq ($(HAVE_PYTHON3_CFFI),1)
cd $(dir)/python-cffi && \ cd $(dir)/python-cffi && \
${PYTHON} setup.py build --build-lib build/stage && \ ${PYTHON} setup.py build --build-lib build/stage && \
mkdir -p build/stage/tests && cp tests/*.py build/stage/tests && touch ../../$@ mkdir -p build/stage/tests && cp tests/*.py build/stage/tests && \
touch ../python-cffi.stamp
endif endif
CLEAN += $(patsubst %,$(dir)/ruby/%, \ CLEAN += $(patsubst %,$(dir)/ruby/%, \
@ -30,4 +33,4 @@ CLEAN += $(patsubst %,$(dir)/ruby/%, \
CLEAN += bindings/ruby/.vendorarchdir.time $(dir)/ruby.stamp CLEAN += bindings/ruby/.vendorarchdir.time $(dir)/ruby.stamp
CLEAN += bindings/python-cffi/build CLEAN += bindings/python-cffi/build $(dir)/python-cffi.stamp