mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 12:03:31 +01:00
make: Add py-defs.mk py-mod.mk py-run.mk
Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
00af05abf1
commit
d49340917b
5 changed files with 91 additions and 0 deletions
|
|
@ -88,6 +88,12 @@ SCRIPTMODE ?= $(EXEMODE)
|
|||
SCRIPTDIROWNER ?= $(EXEDIROWNER)
|
||||
SCRIPTDIRGROUP ?= $(EXEDIRGROUP)
|
||||
SCRIPTDIRMODE ?= $(EXEDIRMODE)
|
||||
PYMODOWNER ?= $(shell id -un)
|
||||
PYMODGROUP ?= $(shell id -gn)
|
||||
PYMODMODE ?= 644
|
||||
PYMODDIROWNER ?= $(shell id -un)
|
||||
PYMODDIRGROUP ?= $(shell id -gn)
|
||||
PYMODDIRMODE ?= 755
|
||||
INITOWNER ?= $(EXEOWNER)
|
||||
INITGROUP ?= $(EXEGROUP)
|
||||
INITMODE ?= $(EXEMODE)
|
||||
|
|
|
|||
|
|
@ -88,6 +88,12 @@ SCRIPTMODE ?= $(EXEMODE)
|
|||
SCRIPTDIROWNER ?= $(EXEDIROWNER)
|
||||
SCRIPTDIRGROUP ?= $(EXEDIRGROUP)
|
||||
SCRIPTDIRMODE ?= $(EXEDIRMODE)
|
||||
PYMODOWNER ?= root
|
||||
PYMODGROUP ?= root
|
||||
PYMODMODE ?= 644
|
||||
PYMODDIROWNER ?= root
|
||||
PYMODDIRGROUP ?= root
|
||||
PYMODDIRMODE ?= 755
|
||||
INITDIRMODE ?= $(EXEDIRMODE)
|
||||
INITOWNER ?= $(EXEOWNER)
|
||||
INITGROUP ?= $(EXEGROUP)
|
||||
|
|
|
|||
36
make/py-defs.mk
Normal file
36
make/py-defs.mk
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
include $(MODDIR)/make/defs.mk
|
||||
|
||||
ifneq ($(DEVELOPMENT),true)
|
||||
PY_SITE_PACKAGES_PATH = $(shell python -c "import site; print site.getsitepackages()[0]")
|
||||
else
|
||||
PY_SITE_PACKAGES_PATH = $(PREFIX)/python/site-packages
|
||||
endif
|
||||
|
||||
PY_PROJ_MODULES_DIR ?= $(TOPDIR)/tools/python
|
||||
PY_MODULES_DIR ?= $(PY_PROJ_MODULES_DIR)
|
||||
PY_PROJ_MODULES += $(dir $(wildcard $(PY_MODULES_DIR)/*/__init__.py))
|
||||
PY_MODULES ?= $(PY_PROJ_MODULES)
|
||||
PY_INSTALL_MOD ?= $(shell pwd | sed 's%.*/python/%%; s%/.*%%')
|
||||
PY_INSTALL_SUBMOD ?= $(shell pwd | sed "s%.*/$(PY_INSTALL_MOD)\(/\|$$\)%%")
|
||||
PY_SRC_PY = $(sort $(wildcard *.py) __init__.py)
|
||||
PY_PYC = $(patsubst %.py,%.pyc,$(PY_SRC_PY))
|
||||
|
||||
ifneq ($(PY_INSTALL_SUBMOD),)
|
||||
PY_INSTALL_DIR = $(ENV_PREFIX)$(PY_SITE_PACKAGES_PATH)/$(PY_INSTALL_MOD)/$(PY_INSTALL_SUBMOD)
|
||||
else
|
||||
PY_INSTALL_DIR = $(ENV_PREFIX)$(PY_SITE_PACKAGES_PATH)/$(PY_INSTALL_MOD)
|
||||
endif
|
||||
|
||||
PY_INSTALLED_REG = $(addprefix $(PY_INSTALL_DIR)/,$(PY_SRC_PY) $(PY_PYC))
|
||||
|
||||
#PYTHONPATH := $(PYTHONPATH)$(foreach p,$(PY_MODULES),:$(p))
|
||||
PYTHONPATH := $(PYTHONPATH):$(PY_MODULES_DIR)
|
||||
export PYTHONPATH
|
||||
|
||||
all:
|
||||
echo-py:
|
||||
@echo PY_SITE_PACKAGES_PATH = $(PY_SITE_PACKAGES_PATH)
|
||||
@echo PY_MODULES = $(PY_MODULES)
|
||||
@echo PYTHONPATH = $(PYTHONPATH)
|
||||
@echo PY_INSTALL_MOD = $(PY_INSTALL_MOD)
|
||||
@echo PY_INSTALL_SUBMOD = $(PY_INSTALL_SUBMOD)
|
||||
30
make/py-mod.mk
Normal file
30
make/py-mod.mk
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
include $(MODDIR)/make/py-defs.mk
|
||||
include $(MODDIR)/make/dirs.mk
|
||||
|
||||
all: $(PY_PYC)
|
||||
install: install-dirs.done install-reg.done
|
||||
clean: py.clean
|
||||
distclean:
|
||||
|
||||
py.clean:
|
||||
rm -f *.done *.pyc
|
||||
if [ ! -s __init__.py ]; then /bin/bash $(MOD_SCRIPT_DIR)/scm.sh clean -f __init__.py; fi
|
||||
|
||||
install-dirs.done:
|
||||
$(INSTALL) -d -m $(PYMODDIRMODE) -o $(PYMODDIROWNER) -g $(PYMODDIRGROUP) $(PY_INSTALL_DIR)
|
||||
touch $@
|
||||
|
||||
install-reg.done: install-dirs.done $(PY_INSTALLED_REG)
|
||||
touch $@
|
||||
|
||||
%.pyc: %.py
|
||||
python -c "import py_compile; py_compile.compile(\"$<\")"
|
||||
|
||||
$(PY_INSTALL_DIR)/%.py: %.py
|
||||
$(INSTALL) -m $(PYMODMODE) -o $(PYMODOWNER) -g $(PYMODGROUP) $< $@
|
||||
|
||||
$(PY_INSTALL_DIR)/%.pyc: %.pyc
|
||||
$(INSTALL) -m $(PYMODMODE) -o $(PYMODOWNER) -g $(PYMODGROUP) $< $@
|
||||
|
||||
__init__.py:
|
||||
touch $@
|
||||
13
make/py-run.mk
Normal file
13
make/py-run.mk
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
include $(MODDIR)/make/py-defs.mk
|
||||
|
||||
EXE ?= $(firstword $(wildcard main.py runme.py *.py))
|
||||
EXE_ARGS ?=
|
||||
|
||||
all:
|
||||
install:
|
||||
clean:
|
||||
distclean:
|
||||
|
||||
run:
|
||||
/usr/bin/python $(EXE) $(EXE_ARGS)
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue