msspec_python3/Makefile

74 lines
2.1 KiB
Makefile
Raw Permalink Normal View History

include src/options.mk
.PHONY: pybinding install devel venv doc clean
2020-12-02 08:49:59 +01:00
pybinding:
2021-02-22 20:28:13 +01:00
@+$(INSIDE_VENV) $(MAKE) -C src pybinding
venv:
2021-02-22 20:28:13 +01:00
ifeq ($(NO_VENV),0)
@virtualenv --python=$(PYTHON_EXE) --prompt="(msspec-$(VERSION)) " $(VENV_PATH)
$(INSIDE_VENV) \
wget https://bootstrap.pypa.io/get-pip.py && \
python get-pip.py && \
pip install --upgrade setuptools && \
pip install -r src/pip.freeze && \
rm -f get-pip.py
2021-02-22 20:28:13 +01:00
endif
2021-02-22 20:28:13 +01:00
install: venv pybinding wx
@+$(INSIDE_VENV) $(MAKE) -C src sdist
@+$(INSIDE_VENV) $(MAKE) -C src frontend
@+$(INSIDE_VENV) pip install src/dist/msspec-$(VERSION).tar.gz
@echo "Do not forget to check that $(INSTALL_PREFIX)/bin is set in your \$$PATH"
devel: VENV_PATH = ./_venv
2021-02-22 20:28:13 +01:00
devel: venv pybinding wx
@$(INSIDE_VENV) pip install -e src/
_build_wx/wxPython.target:
2021-02-23 10:26:22 +01:00
@$(INSIDE_VENV) echo "Building wxPython for your `python --version 2>&1` under Linux $(DISTRO_RELEASE)..."
2021-02-22 20:28:13 +01:00
# Create a folder to build wx into
@mkdir -p _build_wx
# download the wheel or the source if it cannot find a wheel
@$(INSIDE_VENV) cd _build_wx && pip download -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/$(DISTRO_RELEASE) wxPython
# Build the source if a tar.gz was downloaded
@$(INSIDE_VENV) cd _build_wx && \
2021-02-23 10:26:22 +01:00
if [ -e wxPython*.tar.gz ]; then \
tar -x --skip-old-files -vzf wxPython*.tar.gz; \
cd `ls -d wxPython*/`; \
pip install requests; \
python build.py dox etg --nodoc sip build bdist_wheel; \
ln -sf `readlink -f dist/wxPython*.whl` ../; \
2021-02-23 10:26:22 +01:00
fi;
# Finally touch a dummy file to avoid phony target
@touch _build_wx/wxPython.target
wx: _build_wx/wxPython.target
2021-02-22 20:28:13 +01:00
# Install the wheel
@$(INSIDE_VENV) cd _build_wx && pip install wxPython*.whl
doc: VENV_PATH = ./_venv
doc: venv
@echo "Building pdf and html documentation..."
2021-02-23 10:26:22 +01:00
@$(INSIDE_VENV) pip install sphinx
# @+$(INSIDE_VENV) $(MAKE) -C doc/ latexpdf
2021-02-23 10:26:22 +01:00
@+$(INSIDE_VENV) $(MAKE) -C doc/ html
clean::
@+$(MAKE) -C src/ clean
2021-01-13 18:26:08 +01:00
help:
@echo "Top Makefile help message"