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)
|
SCRIPTDIROWNER ?= $(EXEDIROWNER)
|
||||||
SCRIPTDIRGROUP ?= $(EXEDIRGROUP)
|
SCRIPTDIRGROUP ?= $(EXEDIRGROUP)
|
||||||
SCRIPTDIRMODE ?= $(EXEDIRMODE)
|
SCRIPTDIRMODE ?= $(EXEDIRMODE)
|
||||||
|
PYMODOWNER ?= $(shell id -un)
|
||||||
|
PYMODGROUP ?= $(shell id -gn)
|
||||||
|
PYMODMODE ?= 644
|
||||||
|
PYMODDIROWNER ?= $(shell id -un)
|
||||||
|
PYMODDIRGROUP ?= $(shell id -gn)
|
||||||
|
PYMODDIRMODE ?= 755
|
||||||
INITOWNER ?= $(EXEOWNER)
|
INITOWNER ?= $(EXEOWNER)
|
||||||
INITGROUP ?= $(EXEGROUP)
|
INITGROUP ?= $(EXEGROUP)
|
||||||
INITMODE ?= $(EXEMODE)
|
INITMODE ?= $(EXEMODE)
|
||||||
|
|
|
||||||
|
|
@ -88,6 +88,12 @@ SCRIPTMODE ?= $(EXEMODE)
|
||||||
SCRIPTDIROWNER ?= $(EXEDIROWNER)
|
SCRIPTDIROWNER ?= $(EXEDIROWNER)
|
||||||
SCRIPTDIRGROUP ?= $(EXEDIRGROUP)
|
SCRIPTDIRGROUP ?= $(EXEDIRGROUP)
|
||||||
SCRIPTDIRMODE ?= $(EXEDIRMODE)
|
SCRIPTDIRMODE ?= $(EXEDIRMODE)
|
||||||
|
PYMODOWNER ?= root
|
||||||
|
PYMODGROUP ?= root
|
||||||
|
PYMODMODE ?= 644
|
||||||
|
PYMODDIROWNER ?= root
|
||||||
|
PYMODDIRGROUP ?= root
|
||||||
|
PYMODDIRMODE ?= 755
|
||||||
INITDIRMODE ?= $(EXEDIRMODE)
|
INITDIRMODE ?= $(EXEDIRMODE)
|
||||||
INITOWNER ?= $(EXEOWNER)
|
INITOWNER ?= $(EXEOWNER)
|
||||||
INITGROUP ?= $(EXEGROUP)
|
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