diff options
Diffstat (limited to '')
-rw-r--r-- | Makefile | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..8425ecb --- /dev/null +++ b/Makefile @@ -0,0 +1,119 @@ +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. This file is offered as-is, +# without any warranty. + + +# The package path prefix, if you want to install to another root, set DESTDIR to that root +PREFIX ?= /usr +# The library path excluding prefix +LIB ?= /lib +# The resource path excluding prefix +DATA ?= /share +# The library path including prefix +LIBDIR ?= $(PREFIX)$(LIB) +# The resource path including prefix +DATADIR ?= $(PREFIX)$(DATA) +# The generic documentation path including prefix +DOCDIR ?= $(DATADIR)/doc +# The info manual documentation path including prefix +INFODIR ?= $(DATADIR)/info +# The license base path including prefix +LICENSEDIR ?= $(DATADIR)/licenses + +# The name of the package as it should be installed +PKGNAME ?= solar-python + +# The major version number of the current Python installation +PY_MAJOR = 3 +# The minor version number of the current Python installation +PY_MINOR = 4 +# The version number of the current Python installation without a dot +PY_VER = $(PY_MAJOR)$(PY_MINOR) +# The version number of the current Python installation with a dot +PY_VERSION = $(PY_MAJOR).$(PY_MINOR) + +# The modules this library is comprised of +SRC = solar_python + + + +.PHONY: all +all: compiled optimised + +.PHONY: compiled +compiled: $(foreach M,$(SRC),src/__pycache__/$(M).cpython-$(PY_VER).pyc) + +.PHONY: optimised +optimised: $(foreach M,$(SRC),src/__pycache__/$(M).cpython-$(PY_VER).pyo) + + +src/__pycache__/%.cpython-$(PY_VER).pyc: src/%.py + python -m compileall $< + +src/__pycache__/solar_python.cpython-$(PY_VER).pyo: src/solar_python.py + python -OO -m compileall $< + + + +.PHONY: install +install: install-base + +.PHONY: install-all +install-all: install-base + +.PHONY: install-base +install-base: install-lib install-copyright + + +.PHONY: install-lib +install-lib: install-source install-compiled install-optimised + +.PHONY: install-source +install-source: $(foreach M,$(SRC),src/$(M).py) + install -dm755 -- "$(DESTDIR)$(LIBDIR)/python$(PY_VERSION)" + install -m644 $^ -- "$(DESTDIR)$(LIBDIR)/python$(PY_VERSION)" + +.PHONY: install-compiled +install-compiled: $(foreach M,$(SRC),src/__pycache__/$(M).cpython-$(PY_VER).pyc) + install -dm755 -- "$(DESTDIR)$(LIBDIR)/python$(PY_VERSION)/__pycache__" + install -m644 $^ -- "$(DESTDIR)$(LIBDIR)/python$(PY_VERSION)/__pycache__" + +.PHONY: install-optimised +install-optimised: $(foreach M,$(SRC),src/__pycache__/$(M).cpython-$(PY_VER).pyo) + install -dm755 -- "$(DESTDIR)$(LIBDIR)/python$(PY_VERSION)/__pycache__" + install -m644 $^ -- "$(DESTDIR)$(LIBDIR)/python$(PY_VERSION)/__pycache__" + + +.PHONY: install-copyright +install-copyright: install-copying install-license + +.PHONY: install-copying +install-copying: COPYING + install -dm755 -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)" + install -m644 $^ -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)" + +.PHONY: install-license +install-license: LICENSE + install -dm755 -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)" + install -m644 $^ -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)" + + + +.PHONY: uninstall +uninstall: + -rm -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)/LICENSE" + -rm -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)/COPYING" + -rmdir -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)" + -rm -- $(foreach M,$(SRC),"$(DESTDIR)$(LIBDIR)/python$(PY_VERSION)/__pycache__/$(M).cpython-$(PY_VER).pyo") + -rm -- $(foreach M,$(SRC),"$(DESTDIR)$(LIBDIR)/python$(PY_VERSION)/__pycache__/$(M).cpython-$(PY_VER).pyc") + -rmdir -- "$(DESTDIR)$(LIBDIR)/python$(PY_VERSION)/__pycache__" + -rm -- $(foreach M,$(SRC),"$(DESTDIR)$(LIBDIR)/python$(PY_VERSION)/$(M).py") + -rmdir -- "$(DESTDIR)$(LIBDIR)/python$(PY_VERSION)" + + + +.PHONY: clean +clean: + -rm -r src/__pycache__ + |