mirror of
https://github.com/ankitects/anki.git
synced 2025-09-21 07:22:23 -04:00
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:
parent
206e167f85
commit
eab11622fd
1 changed files with 42 additions and 31 deletions
71
Makefile
71
Makefile
|
@ -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,22 +122,26 @@ 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}; \
|
||||||
|
for dir in $(DEVEL); do \
|
||||||
$(SUBMAKE) -C $$dir clean; \
|
$(SUBMAKE) -C $$dir clean; \
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -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}"-*
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue