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