47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Makefile
		
	
	
	
| include src/options.mk
 | |
| 
 | |
| PYTHON = python
 | |
| 
 | |
| # Checking Python version
 | |
| PYTHON_EXE := $(shell command -v $(PYTHON) 2> /dev/null)
 | |
| 
 | |
| ifndef PYTHON_EXE
 | |
|   $(error Unable to find the $(PYTHON) executable!)
 | |
| endif
 | |
| 
 | |
| PYTHON_VERSION_MAJOR := $(shell $(PYTHON_EXE) --version 2>&1 | cut -d" " -f2 | cut -d. -f1)
 | |
| PYTHON_VERSION_MINOR := $(shell $(PYTHON_EXE) --version 2>&1 | cut -d" " -f2 | cut -d. -f2)
 | |
| 
 | |
| ifneq ($(shell test $(PYTHON_VERSION_MAJOR) -ge 3 -a $(PYTHON_VERSION_MINOR) -ge 6; echo $$?),0)
 | |
|   $(error Python version >= 3.6 is needed!)
 | |
| endif
 | |
| 
 | |
| 
 | |
| .PHONY: pybinding venv doc clean
 | |
| 
 | |
| 
 | |
| pybinding:
 | |
| 	@+$(MAKE) -C src pybinding
 | |
| 
 | |
| 
 | |
| install: venv
 | |
| 	@+$(MAKE) -C src sdist
 | |
| 	@+$(MAKE) -C src frontend
 | |
| 	@. $(VENV_PATH)/bin/activate && pip install src/dist/msspec-$(VERSION).tar.gz
 | |
| 
 | |
| venv:
 | |
| 	virtualenv --python=$(PYTHON_EXE) --prompt="(msspec-$(VERSION)) " $(VENV_PATH)
 | |
| 	. $(VENV_PATH)/bin/activate && pip install --upgrade pip && pip install -r src/pip.freeze
 | |
| 
 | |
| doc:
 | |
| 	@echo "Building pdf and html documentation..."
 | |
| 	@mkdir -p package/
 | |
| 	@+$(MAKE) -C doc/ latexpdf
 | |
| 	@rm -rf package/*.pdf
 | |
| 	@cp "doc/build/latex/MsSpec-python.pdf" "./package/MsSpec-$(VERSION).pdf"
 | |
| 	@+$(MAKE) -C doc/ html
 | |
| 
 | |
| clean::
 | |
| 	@+$(MAKE) -C src/ clean
 | |
| 
 |