1# Makefile orchestrating python_modules 2 3include $(VERSIONER_PYTHON_VERSION).inc 4 5EXTRAS = $(shell python -c "import sys, os;print(os.path.join(sys.prefix, 'Extras'))") 6EXTRASPYTHON = $(EXTRAS)/lib/python 7 8make := $(SRCROOT)/make.pl 9export PYTHONPATH := $(DSTROOT)$(EXTRASPYTHON) 10ifeq ($(DEBUG),YES) 11export DISTUTILS_DEBUG := YES 12endif 13 14no_target: 15 echo 'specify target install, installsrc, installhdrs, clean' 16 false 17 18install: 19 @set -x && for i in $(MODULES); do \ 20 echo ===== Installing $$i ===== && \ 21 $(make) -C Modules/$$i install \ 22 EXTRAS="$(EXTRAS)" EXTRASPYTHON="$(EXTRASPYTHON)" \ 23 OSL='$(OSL)' OSV='$(OSV)' \ 24 || exit 1; \ 25 done 26 @echo ===== Stripping binaries ===== 27 set -x && cd $(DSTROOT)$(EXTRASPYTHON) && \ 28 for i in `find . -name \*.so | sed 's,^\./,,'`; do \ 29 rsync -R $$i $(SYMROOT) && \ 30 strip -x $$i || exit 1; \ 31 done 32 @echo ===== Fixing empty files ===== 33 @set -x && \ 34 for i in `find $(DSTROOT)$(EXTRASPYTHON) -name __init__.py -size 0c`; do \ 35 echo '#' > $$i && \ 36 j=`echo $$i | sed 's,^$(DSTROOT),,'` && \ 37 python -c "from py_compile import compile;compile('$$i', dfile='$$j', doraise=True)" && \ 38 python -O -c "from py_compile import compile;compile('$$i', dfile='$$j', doraise=True)" || exit 1; \ 39 done 40 for i in `find $(DSTROOT)$(EXTRASPYTHON) -name zip-safe -size 0c`; do \ 41 echo > $$i || exit 1; \ 42 done 43 44installhdrs: 45 @echo $(Project) has no headers to install 46 47installsrc: 48 ditto . $(SRCROOT) 49 50clean: 51