81 lines
2.3 KiB
Makefile
81 lines
2.3 KiB
Makefile
include src/options.mk
|
|
|
|
|
|
.PHONY: pybinding install devel venv doc clean
|
|
|
|
|
|
pybinding:
|
|
@+$(INSIDE_VENV) $(MAKE) -C src pybinding
|
|
|
|
|
|
venv:
|
|
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
|
|
endif
|
|
|
|
|
|
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
|
|
devel: venv pybinding wx
|
|
@$(INSIDE_VENV) pip install -e src/
|
|
|
|
|
|
light: VENV_PATH = ./_venv
|
|
light: venv
|
|
@$(INSIDE_VENV) pip install src/
|
|
|
|
|
|
_build_wx/wxPython.target:
|
|
@$(INSIDE_VENV) echo "Building wxPython for your `python --version 2>&1` under Linux $(DISTRO_RELEASE)..."
|
|
# Create a folder to build wx into
|
|
@mkdir -p _build_wx
|
|
@$(INSIDE_VENV) pip install attrdict sip
|
|
# TODO: attrdict is no longer compatible with collections package. The build will fail
|
|
# 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 && \
|
|
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` ../; \
|
|
fi;
|
|
# Finally touch a dummy file to avoid phony target
|
|
@touch _build_wx/wxPython.target
|
|
|
|
|
|
wx: _build_wx/wxPython.target
|
|
# Install the wheel
|
|
@$(INSIDE_VENV) cd _build_wx && pip install wxPython*.whl
|
|
|
|
|
|
doc: VENV_PATH = ./_venv
|
|
doc: venv
|
|
@echo "Building pdf and html documentation..."
|
|
@$(INSIDE_VENV) pip install sphinx
|
|
# @+$(INSIDE_VENV) $(MAKE) -C doc/ latexpdf
|
|
@+$(INSIDE_VENV) $(MAKE) -C doc/ html
|
|
|
|
|
|
clean::
|
|
@+$(MAKE) -C src/ clean
|
|
|
|
|
|
help:
|
|
@echo "Top Makefile help message"
|
|
|