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