Re-enabled the Makefile set -eo commands because by default

Mac OS uses an old version of make which does not support
the .SHELLFLAGS feature.
This commit is contained in:
evandrocoan 2020-03-25 01:38:37 -03:00
parent 206e167f85
commit eab11622fd

View file

@ -62,19 +62,20 @@ all: run
pyenv: pyenv:
# https://github.com/PyO3/maturin/issues/283 # https://github.com/PyO3/maturin/issues/283
# Expected `python` to be a python interpreter inside a virtualenv # Expected `python` to be a python interpreter inside a virtualenv
"${PYTHON_BIN}" -m pip install virtualenv && \ set -eu -o pipefail ${SHELLFLAGS}; \
"${PYTHON_BIN}" -m venv pyenv && \ "${PYTHON_BIN}" -m pip install virtualenv; \
"${PYTHON_BIN}" -m venv pyenv; \
case "$$(uname -s)" in CYGWIN*|MINGW*|MSYS*) \ case "$$(uname -s)" in CYGWIN*|MINGW*|MSYS*) \
dos2unix "${ACTIVATE_SCRIPT}" && \ dos2unix "${ACTIVATE_SCRIPT}"; \
VIRTUAL_ENV="$$(pwd)" && \ VIRTUAL_ENV="$$(pwd)"; \
VIRTUAL_ENV="$$(cygpath -m "$${VIRTUAL_ENV}")" && \ VIRTUAL_ENV="$$(cygpath -m "$${VIRTUAL_ENV}")"; \
sed -i -- "s@VIRTUAL_ENV=\".*\"@VIRTUAL_ENV=\"$$(pwd)/pyenv\"@g" "${ACTIVATE_SCRIPT}" && \ sed -i -- "s@VIRTUAL_ENV=\".*\"@VIRTUAL_ENV=\"$$(pwd)/pyenv\"@g" "${ACTIVATE_SCRIPT}"; \
sed -i -- "s@export PATH@export PATH; VIRTUAL_ENV=\"$${VIRTUAL_ENV}/pyenv\";@g" "${ACTIVATE_SCRIPT}"; \ sed -i -- "s@export PATH@export PATH; VIRTUAL_ENV=\"$${VIRTUAL_ENV}/pyenv\";@g" "${ACTIVATE_SCRIPT}"; \
;; esac && \ ;; esac; \
. "${ACTIVATE_SCRIPT}" && \ . "${ACTIVATE_SCRIPT}"; \
python --version && \ python --version; \
python -m pip install --upgrade pip setuptools && \ python -m pip install --upgrade pip setuptools; \
${ANKI_EXTRA_PIP} && \ ${ANKI_EXTRA_PIP}; \
if ! python -c 'import PyQt5' 2>/dev/null; then \ if ! python -c 'import PyQt5' 2>/dev/null; then \
python -m pip install -r qt/requirements.qt; \ python -m pip install -r qt/requirements.qt; \
fi; fi;
@ -82,23 +83,26 @@ pyenv:
# update build hash # update build hash
.PHONY: buildhash .PHONY: buildhash
buildhash: buildhash:
@oldhash=$$(test -f meta/buildhash && cat meta/buildhash || true) && \ @set -eu -o pipefail ${SHELLFLAGS}; \
newhash=$$(git rev-parse --short=8 HEAD || echo dev) && \ oldhash=$$(test -f meta/buildhash && cat meta/buildhash || true); \
newhash=$$(git rev-parse --short=8 HEAD || echo dev); \
if [ "$$oldhash" != "$$newhash" ]; then \ if [ "$$oldhash" != "$$newhash" ]; then \
echo $$newhash > meta/buildhash; \ echo $$newhash > meta/buildhash; \
fi fi
.PHONY: develop .PHONY: develop
develop: pyenv buildhash prepare develop: pyenv buildhash prepare
@. "${ACTIVATE_SCRIPT}" && \ @set -eu -o pipefail ${SHELLFLAGS}; \
. "${ACTIVATE_SCRIPT}"; \
for dir in $(DEVEL); do \ for dir in $(DEVEL); do \
$(SUBMAKE) -C $$dir develop DEVFLAGS="$(DEVFLAGS)"; \ $(SUBMAKE) -C $$dir develop DEVFLAGS="$(DEVFLAGS)"; \
done done
.PHONY: run .PHONY: run
run: develop run: develop
@. "${ACTIVATE_SCRIPT}" && \ @set -eu -o pipefail ${SHELLFLAGS}; \
echo "Starting Anki..." && \ . "${ACTIVATE_SCRIPT}"; \
echo "Starting Anki..."; \
python qt/runanki $(RUNFLAGS) python qt/runanki $(RUNFLAGS)
.PHONY: prepare .PHONY: prepare
@ -118,23 +122,27 @@ build: clean-dist build-rspy build-pylib build-qt add-buildhash
.PHONY: build-rspy .PHONY: build-rspy
build-rspy: pyenv buildhash build-rspy: pyenv buildhash
@. "${ACTIVATE_SCRIPT}" && \ @set -eu -o pipefail ${SHELLFLAGS}; \
. "${ACTIVATE_SCRIPT}"; \
$(SUBMAKE) -C rspy build BUILDFLAGS="$(BUILDFLAGS)" $(SUBMAKE) -C rspy build BUILDFLAGS="$(BUILDFLAGS)"
.PHONY: build-pylib .PHONY: build-pylib
build-pylib: build-pylib:
@. "${ACTIVATE_SCRIPT}" && \ @set -eu -o pipefail ${SHELLFLAGS}; \
. "${ACTIVATE_SCRIPT}"; \
$(SUBMAKE) -C pylib build $(SUBMAKE) -C pylib build
.PHONY: build-qt .PHONY: build-qt
build-qt: build-qt:
@. "${ACTIVATE_SCRIPT}" && \ @set -eu -o pipefail ${SHELLFLAGS}; \
. "${ACTIVATE_SCRIPT}"; \
$(SUBMAKE) -C qt build $(SUBMAKE) -C qt build
.PHONY: clean .PHONY: clean
clean: clean-dist clean: clean-dist
@for dir in $(DEVEL); do \ @set -eu -o pipefail ${SHELLFLAGS}; \
$(SUBMAKE) -C $$dir clean; \ for dir in $(DEVEL); do \
$(SUBMAKE) -C $$dir clean; \
done done
.PHONY: clean-dist .PHONY: clean-dist
@ -143,13 +151,14 @@ clean-dist:
.PHONY: check .PHONY: check
check: pyenv buildhash prepare check: pyenv buildhash prepare
@.github/scripts/trailing-newlines.sh && \ @set -eu -o pipefail ${SHELLFLAGS}; \
.github/scripts/trailing-newlines.sh; \
for dir in $(CHECKABLE_RS); do \ for dir in $(CHECKABLE_RS); do \
$(SUBMAKE) -C $$dir check; \ $(SUBMAKE) -C $$dir check; \
done && \ done; \
. "${ACTIVATE_SCRIPT}" && \ . "${ACTIVATE_SCRIPT}"; \
$(SUBMAKE) -C rspy develop && \ $(SUBMAKE) -C rspy develop; \
$(SUBMAKE) -C pylib develop && \ $(SUBMAKE) -C pylib develop; \
for dir in $(CHECKABLE_PY); do \ for dir in $(CHECKABLE_PY); do \
$(SUBMAKE) -C $$dir check; \ $(SUBMAKE) -C $$dir check; \
done; done;
@ -158,18 +167,20 @@ check: pyenv buildhash prepare
.PHONY: fix .PHONY: fix
fix: fix:
@. "${ACTIVATE_SCRIPT}" && \ @set -eu -o pipefail ${SHELLFLAGS}; \
. "${ACTIVATE_SCRIPT}"; \
for dir in $(CHECKABLE_RS) $(CHECKABLE_PY); do \ for dir in $(CHECKABLE_RS) $(CHECKABLE_PY); do \
$(SUBMAKE) -C $$dir fix; \ $(SUBMAKE) -C $$dir fix; \
done; \ done; \
.PHONY: add-buildhash .PHONY: add-buildhash
add-buildhash: add-buildhash:
@if [[ ! -f rename ]]; then \ @set -eu -o pipefail ${SHELLFLAGS}; \
if [[ ! -f rename ]]; then \
curl --silent -LO https://raw.githubusercontent.com/subogero/rename/master/rename; \ curl --silent -LO https://raw.githubusercontent.com/subogero/rename/master/rename; \
fi && \ fi; \
ver="$$(cat meta/version)" && \ ver="$$(cat meta/version)"; \
hash="$$(cat meta/buildhash)" && \ hash="$$(cat meta/buildhash)"; \
${RENAME_BIN} "s/-$${ver}-/-$${ver}+$${hash}-/" dist/*-"$${ver}"-* ${RENAME_BIN} "s/-$${ver}-/-$${ver}+$${hash}-/" dist/*-"$${ver}"-*