add pytest and rst2man lookups though command-v and which if available,
default to ENV/ARGS in the case of user specified locations and otherwise lookup via shell
Signed-off-by: Kayla Firestack <dev@kaylafire.me>
PREFIX?=/usr/local
PKG_CONFIG?=pkg-config
INSTALL=install
PREFIX?=/usr/local
PKG_CONFIG?=pkg-config
INSTALL=install
CFLAGS+=-std=gnu89 -O2 -g -MMD -Wall -fPIC \
-Wno-pointer-sign \
-fno-strict-aliasing \
CFLAGS+=-std=gnu89 -O2 -g -MMD -Wall -fPIC \
-Wno-pointer-sign \
-fno-strict-aliasing \
-DVERSION_STRING='"$(VERSION)"' \
$(EXTRA_CFLAGS)
LDFLAGS+=$(CFLAGS) $(EXTRA_LDFLAGS)
-DVERSION_STRING='"$(VERSION)"' \
$(EXTRA_CFLAGS)
LDFLAGS+=$(CFLAGS) $(EXTRA_LDFLAGS)
+
+## Configure Tools
+PYTEST_ARGS?=
+PYTEST_CMD?=$(shell \
+ command -v pytest-3 \
+ || which pytest-3 \
+)
+PYTEST:=$(PYTEST_CMD) $(PYTEST_ARGS)
+
+RST2MAN_ARGS?=
+RST2MAN_CMD?=$(shell \
+ command -v rst2man \
+ || which rst2man \
+ || command -v rst2man.py \
+ || which rst2man.py \
+)
+RST2MAN:=$(RST2MAN_CMD) $(RST2MAN_ARGS)
+
CARGO_ARGS=
CARGO=cargo $(CARGO_ARGS)
CARGO_PROFILE=release
CARGO_ARGS=
CARGO=cargo $(CARGO_ARGS)
CARGO_PROFILE=release
INITRAMFS_DIR=/etc/initramfs-tools
endif
INITRAMFS_DIR=/etc/initramfs-tools
endif
-RST2MAN:=$(shell command -v rst2man)
-ifeq ($(RST2MAN),)
- RST2MAN:=$(shell command -v rst2man.py)
- ifeq ($(RST2MAN),)
- @echo "WARNING: no rst2man found! Man page not generated."
- endif
-endif
-
.PHONY: all
all: bcachefs bcachefs.5 lib
.PHONY: all
all: bcachefs bcachefs.5 lib
.PHONY: check
check: tests bcachefs
.PHONY: check
check: tests bcachefs
+else
+ @echo "WARNING: pytest not found or specified, tests could not be run."
+endif
DOCGENERATED := bcachefs.5 doc/bcachefs.5.rst
DOCDEPS := $(addprefix ./doc/,$(DOCSRC))
bcachefs.5: $(DOCDEPS) libbcachefs/opts.h
DOCGENERATED := bcachefs.5 doc/bcachefs.5.rst
DOCDEPS := $(addprefix ./doc/,$(DOCSRC))
bcachefs.5: $(DOCDEPS) libbcachefs/opts.h
$(CC) doc/opts_macro.h -I libbcachefs -I include -E 2>/dev/null \
| doc/macro2rst.py
$(RST2MAN) doc/bcachefs.5.rst bcachefs.5
$(CC) doc/opts_macro.h -I libbcachefs -I include -E 2>/dev/null \
| doc/macro2rst.py
$(RST2MAN) doc/bcachefs.5.rst bcachefs.5
$(RM) libbcachefs/*.mod.c
git -C $(LINUX_DIR) rev-parse HEAD | tee .bcachefs_revision
git add .bcachefs_revision
$(RM) libbcachefs/*.mod.c
git -C $(LINUX_DIR) rev-parse HEAD | tee .bcachefs_revision
git add .bcachefs_revision
.PHONY: update-commit-bcachefs-sources
update-commit-bcachefs-sources: update-bcachefs-sources
.PHONY: update-commit-bcachefs-sources
update-commit-bcachefs-sources: update-bcachefs-sources