1 | # Generated automatically from Makefile.pre by makesetup. |
---|
2 | # Top-level Makefile for Python |
---|
3 | # |
---|
4 | # As distributed, this file is called Makefile.pre.in; it is processed |
---|
5 | # into the real Makefile by running the script ./configure, which |
---|
6 | # replaces things like @spam@ with values appropriate for your system. |
---|
7 | # This means that if you edit Makefile, your changes get lost the next |
---|
8 | # time you run the configure script. Ideally, you can do: |
---|
9 | # |
---|
10 | # ./configure |
---|
11 | # make |
---|
12 | # make test |
---|
13 | # make install |
---|
14 | # |
---|
15 | # If you have a previous version of Python installed that you don't |
---|
16 | # want to overwrite, you can use "make altinstall" instead of "make |
---|
17 | # install". Refer to the "Installing" section in the README file for |
---|
18 | # additional details. |
---|
19 | # |
---|
20 | # See also the section "Build instructions" in the README file. |
---|
21 | |
---|
22 | # === Variables set by makesetup === |
---|
23 | |
---|
24 | MODOBJS= Modules/threadmodule.o Modules/signalmodule.o Modules/posixmodule.o Modules/errnomodule.o Modules/pwdmodule.o Modules/_sre.o Modules/_codecsmodule.o Modules/_weakref.o Modules/zipimport.o Modules/symtablemodule.o Modules/xxsubtype.o |
---|
25 | MODLIBS= $(LOCALMODLIBS) $(BASEMODLIBS) |
---|
26 | |
---|
27 | # === Variables set by configure |
---|
28 | VERSION= 2.7 |
---|
29 | srcdir= . |
---|
30 | |
---|
31 | abs_srcdir= /home/bonkel/HDMU-BUILD/SH4_NEW/cdk/python-2.7.9 |
---|
32 | abs_builddir= /home/bonkel/HDMU-BUILD/SH4_NEW/cdk/python-2.7.9 |
---|
33 | build= x86_64-unknown-linux-gnu |
---|
34 | host= sh4-unknown-linux-gnu |
---|
35 | |
---|
36 | CC= sh4-linux-gcc -pthread |
---|
37 | CXX= sh4-linux-c++ |
---|
38 | MAINCC= $(CC) |
---|
39 | LINKCC= $(PURIFY) $(MAINCC) |
---|
40 | AR= sh4-linux-ar |
---|
41 | RANLIB= sh4-linux-ranlib |
---|
42 | SVNVERSION= svnversion $(srcdir) |
---|
43 | HGVERSION= |
---|
44 | HGTAG= |
---|
45 | HGBRANCH= |
---|
46 | |
---|
47 | GNULD= yes |
---|
48 | |
---|
49 | # Shell used by make (some versions default to the login shell, which is bad) |
---|
50 | SHELL= /bin/sh |
---|
51 | |
---|
52 | # Use this to make a link between python$(VERSION) and python in $(BINDIR) |
---|
53 | LN= ln |
---|
54 | |
---|
55 | # Portable install script (configure doesn't always guess right) |
---|
56 | INSTALL= /usr/bin/install -c |
---|
57 | INSTALL_PROGRAM=${INSTALL} |
---|
58 | INSTALL_SCRIPT= ${INSTALL} |
---|
59 | INSTALL_DATA= ${INSTALL} -m 644 |
---|
60 | # Shared libraries must be installed with executable mode on some systems; |
---|
61 | # rather than figuring out exactly which, we always give them executable mode. |
---|
62 | # Also, making them read-only seems to be a good idea... |
---|
63 | INSTALL_SHARED= ${INSTALL} -m 555 |
---|
64 | |
---|
65 | MKDIR_P= /bin/mkdir -p |
---|
66 | |
---|
67 | MAKESETUP= $(srcdir)/Modules/makesetup |
---|
68 | |
---|
69 | # Compiler options |
---|
70 | OPT= -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes |
---|
71 | BASECFLAGS= -fno-strict-aliasing |
---|
72 | CFLAGS= $(BASECFLAGS) -g -O2 $(OPT) $(EXTRA_CFLAGS) |
---|
73 | # Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to |
---|
74 | # be able to build extension modules using the directories specified in the |
---|
75 | # environment variables |
---|
76 | CPPFLAGS= -I. -IInclude -I$(srcdir)/Include |
---|
77 | LDFLAGS= |
---|
78 | LDLAST= |
---|
79 | SGI_ABI= |
---|
80 | CCSHARED= -fPIC |
---|
81 | LINKFORSHARED= -Xlinker -export-dynamic |
---|
82 | ARFLAGS= rc |
---|
83 | # Extra C flags added for building the interpreter object files. |
---|
84 | CFLAGSFORSHARED=$(CCSHARED) |
---|
85 | # C flags used for building the interpreter object files |
---|
86 | PY_CFLAGS= $(CFLAGS) $(CPPFLAGS) $(CFLAGSFORSHARED) -DPy_BUILD_CORE |
---|
87 | |
---|
88 | |
---|
89 | # Machine-dependent subdirectories |
---|
90 | MACHDEP= linux2 |
---|
91 | |
---|
92 | # Multiarch directory (may be empty) |
---|
93 | MULTIARCH= |
---|
94 | |
---|
95 | # Install prefix for architecture-independent files |
---|
96 | prefix= /usr |
---|
97 | |
---|
98 | # Install prefix for architecture-dependent files |
---|
99 | exec_prefix= ${prefix} |
---|
100 | |
---|
101 | # Install prefix for data files |
---|
102 | datarootdir= ${prefix}/share |
---|
103 | |
---|
104 | # Expanded directories |
---|
105 | BINDIR= ${exec_prefix}/bin |
---|
106 | LIBDIR= ${exec_prefix}/lib |
---|
107 | MANDIR= ${datarootdir}/man |
---|
108 | INCLUDEDIR= ${prefix}/include |
---|
109 | CONFINCLUDEDIR= $(exec_prefix)/include |
---|
110 | SCRIPTDIR= $(prefix)/lib |
---|
111 | |
---|
112 | # Detailed destination directories |
---|
113 | BINLIBDEST= $(LIBDIR)/python$(VERSION) |
---|
114 | LIBDEST= $(SCRIPTDIR)/python$(VERSION) |
---|
115 | INCLUDEPY= $(INCLUDEDIR)/python$(VERSION) |
---|
116 | CONFINCLUDEPY= $(CONFINCLUDEDIR)/python$(VERSION) |
---|
117 | LIBP= $(LIBDIR)/python$(VERSION) |
---|
118 | |
---|
119 | # Symbols used for using shared libraries |
---|
120 | SO= .so |
---|
121 | LDSHARED= $(CC) -shared $(LDFLAGS) |
---|
122 | BLDSHARED= $(CC) -shared $(LDFLAGS) |
---|
123 | LDCXXSHARED= $(CXX) -shared |
---|
124 | DESTSHARED= $(BINLIBDEST)/lib-dynload |
---|
125 | |
---|
126 | # Executable suffix (.exe on Windows and Mac OS X) |
---|
127 | EXE= |
---|
128 | BUILDEXE= |
---|
129 | |
---|
130 | # Short name and location for Mac OS X Python framework |
---|
131 | UNIVERSALSDK= |
---|
132 | PYTHONFRAMEWORK= |
---|
133 | PYTHONFRAMEWORKDIR= no-framework |
---|
134 | PYTHONFRAMEWORKPREFIX= |
---|
135 | PYTHONFRAMEWORKINSTALLDIR= |
---|
136 | # Deployment target selected during configure, to be checked |
---|
137 | # by distutils. The export statement is needed to ensure that the |
---|
138 | # deployment target is active during build. |
---|
139 | MACOSX_DEPLOYMENT_TARGET= |
---|
140 | #export MACOSX_DEPLOYMENT_TARGET |
---|
141 | |
---|
142 | # Options to enable prebinding (for fast startup prior to Mac OS X 10.3) |
---|
143 | OTHER_LIBTOOL_OPT= |
---|
144 | |
---|
145 | # Environment to run shared python without installed libraries |
---|
146 | RUNSHARED= |
---|
147 | |
---|
148 | # ensurepip options |
---|
149 | ENSUREPIP= no |
---|
150 | |
---|
151 | # Modes for directories, executables and data files created by the |
---|
152 | # install process. Default to user-only-writable for all file types. |
---|
153 | DIRMODE= 755 |
---|
154 | EXEMODE= 755 |
---|
155 | FILEMODE= 644 |
---|
156 | |
---|
157 | # configure script arguments |
---|
158 | CONFIG_ARGS= '--build=x86_64-unknown-linux-gnu' '--host=sh4-linux' '--target=sh4-linux' '--prefix=/usr' '--sysconfdir=/etc' '--enable-shared' '--enable-ipv6' '--with-threads' '--with-pymalloc' '--with-signal-module' '--with-wctype-functions' 'ac_sys_system=Linux' 'ac_sys_release=2' 'ac_cv_file__dev_ptmx=no' 'ac_cv_file__dev_ptc=no' 'ac_cv_no_strict_aliasing_ok=yes' 'ac_cv_pthread=yes' 'ac_cv_cxx_thread=yes' 'ac_cv_sizeof_off_t=8' 'ac_cv_have_chflags=no' 'ac_cv_have_lchflags=no' 'ac_cv_py_format_size_t=yes' 'ac_cv_broken_sem_getvalue=no' 'HOSTPYTHON=/home/bonkel/HDMU-BUILD/SH4_NEW/tufsbox/host/bin/python' 'build_alias=x86_64-unknown-linux-gnu' 'host_alias=sh4-linux' 'target_alias=sh4-linux' |
---|
159 | |
---|
160 | |
---|
161 | # Subdirectories with code |
---|
162 | SRCDIRS= Parser Grammar Objects Python Modules Mac |
---|
163 | |
---|
164 | # Other subdirectories |
---|
165 | SUBDIRSTOO= Include Lib Misc Demo |
---|
166 | |
---|
167 | # Files and directories to be distributed |
---|
168 | CONFIGFILES= configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in |
---|
169 | DISTFILES= README ChangeLog $(CONFIGFILES) |
---|
170 | DISTDIRS= $(SUBDIRS) $(SUBDIRSTOO) Ext-dummy |
---|
171 | DIST= $(DISTFILES) $(DISTDIRS) |
---|
172 | |
---|
173 | |
---|
174 | LIBRARY= libpython$(VERSION).a |
---|
175 | LDLIBRARY= libpython$(VERSION).so |
---|
176 | BLDLIBRARY= -L. -lpython$(VERSION) |
---|
177 | DLLLIBRARY= |
---|
178 | LDLIBRARYDIR= |
---|
179 | INSTSONAME= libpython$(VERSION).so.1.0 |
---|
180 | |
---|
181 | |
---|
182 | LIBS= -lpthread -ldl -lutil |
---|
183 | LIBM= -lm |
---|
184 | LIBC= |
---|
185 | SYSLIBS= $(LIBM) $(LIBC) |
---|
186 | SHLIBS= $(LIBS) |
---|
187 | |
---|
188 | THREADOBJ= Python/thread.o |
---|
189 | DLINCLDIR= . |
---|
190 | DYNLOADFILE= dynload_shlib.o |
---|
191 | MACHDEP_OBJS= |
---|
192 | LIBOBJDIR= Python/ |
---|
193 | LIBOBJS= |
---|
194 | UNICODE_OBJS= Objects/unicodeobject.o Objects/unicodectype.o |
---|
195 | |
---|
196 | PYTHON= python$(EXE) |
---|
197 | BUILDPYTHON= python$(BUILDEXE) |
---|
198 | HOSTPYTHON= ./$(BUILDPYTHON) |
---|
199 | |
---|
200 | PYTHON_FOR_BUILD=_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/plat-$(MACHDEP) python2.7 |
---|
201 | _PYTHON_HOST_PLATFORM=linux2-sh4 |
---|
202 | HOST_GNU_TYPE= sh4-unknown-linux-gnu |
---|
203 | |
---|
204 | # Tcl and Tk config info from --with-tcltk-includes and -libs options |
---|
205 | TCLTK_INCLUDES= |
---|
206 | TCLTK_LIBS= |
---|
207 | |
---|
208 | # The task to run while instrument when building the profile-opt target |
---|
209 | PROFILE_TASK= $(srcdir)/Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck |
---|
210 | #PROFILE_TASK= $(srcdir)/Lib/test/regrtest.py |
---|
211 | |
---|
212 | # === Definitions added by makesetup === |
---|
213 | |
---|
214 | LOCALMODLIBS= |
---|
215 | BASEMODLIBS= |
---|
216 | GLHACK=-Dclear=__GLclear |
---|
217 | PYTHONPATH=$(COREPYTHONPATH) |
---|
218 | COREPYTHONPATH=$(DESTPATH)$(SITEPATH)$(TESTPATH)$(MACHDEPPATH)$(EXTRAMACHDEPPATH)$(TKPATH)$(OLDPATH) |
---|
219 | OLDPATH=:lib-old |
---|
220 | TKPATH=:lib-tk |
---|
221 | EXTRAMACHDEPPATH= |
---|
222 | MACHDEPPATH=:plat-$(MACHDEP) |
---|
223 | TESTPATH= |
---|
224 | SITEPATH= |
---|
225 | DESTPATH= |
---|
226 | MACHDESTLIB=$(BINLIBDEST) |
---|
227 | DESTLIB=$(LIBDEST) |
---|
228 | |
---|
229 | |
---|
230 | |
---|
231 | ########################################################################## |
---|
232 | # Modules |
---|
233 | MODULE_OBJS= \ |
---|
234 | Modules/config.o \ |
---|
235 | Modules/getpath.o \ |
---|
236 | Modules/main.o \ |
---|
237 | Modules/gcmodule.o |
---|
238 | |
---|
239 | # Used of signalmodule.o is not available |
---|
240 | SIGNAL_OBJS= |
---|
241 | |
---|
242 | |
---|
243 | ########################################################################## |
---|
244 | # Grammar |
---|
245 | GRAMMAR_H= Include/graminit.h |
---|
246 | GRAMMAR_C= Python/graminit.c |
---|
247 | GRAMMAR_INPUT= $(srcdir)/Grammar/Grammar |
---|
248 | |
---|
249 | |
---|
250 | LIBFFI_INCLUDEDIR= |
---|
251 | |
---|
252 | ########################################################################## |
---|
253 | # Parser |
---|
254 | PGEN= Parser/pgen$(EXE) |
---|
255 | HOSTPGEN= $(PGEN)$(EXE) |
---|
256 | |
---|
257 | PSRCS= \ |
---|
258 | Parser/acceler.c \ |
---|
259 | Parser/grammar1.c \ |
---|
260 | Parser/listnode.c \ |
---|
261 | Parser/node.c \ |
---|
262 | Parser/parser.c \ |
---|
263 | Parser/parsetok.c \ |
---|
264 | Parser/bitset.c \ |
---|
265 | Parser/metagrammar.c \ |
---|
266 | Parser/firstsets.c \ |
---|
267 | Parser/grammar.c \ |
---|
268 | Parser/pgen.c |
---|
269 | |
---|
270 | POBJS= \ |
---|
271 | Parser/acceler.o \ |
---|
272 | Parser/grammar1.o \ |
---|
273 | Parser/listnode.o \ |
---|
274 | Parser/node.o \ |
---|
275 | Parser/parser.o \ |
---|
276 | Parser/parsetok.o \ |
---|
277 | Parser/bitset.o \ |
---|
278 | Parser/metagrammar.o \ |
---|
279 | Parser/firstsets.o \ |
---|
280 | Parser/grammar.o \ |
---|
281 | Parser/pgen.o |
---|
282 | |
---|
283 | PARSER_OBJS= $(POBJS) Parser/myreadline.o Parser/tokenizer.o |
---|
284 | |
---|
285 | PGSRCS= \ |
---|
286 | Objects/obmalloc.c \ |
---|
287 | Python/mysnprintf.c \ |
---|
288 | Python/pyctype.c \ |
---|
289 | Parser/tokenizer_pgen.c \ |
---|
290 | Parser/printgrammar.c \ |
---|
291 | Parser/pgenmain.c |
---|
292 | |
---|
293 | PGOBJS= \ |
---|
294 | Objects/obmalloc.o \ |
---|
295 | Python/mysnprintf.o \ |
---|
296 | Python/pyctype.o \ |
---|
297 | Parser/tokenizer_pgen.o \ |
---|
298 | Parser/printgrammar.o \ |
---|
299 | Parser/pgenmain.o |
---|
300 | |
---|
301 | PARSER_HEADERS= \ |
---|
302 | Parser/parser.h \ |
---|
303 | Parser/tokenizer.h |
---|
304 | |
---|
305 | PGENSRCS= $(PSRCS) $(PGSRCS) |
---|
306 | PGENOBJS= $(POBJS) $(PGOBJS) |
---|
307 | |
---|
308 | ########################################################################## |
---|
309 | # AST |
---|
310 | AST_H_DIR= Include |
---|
311 | AST_H= $(AST_H_DIR)/Python-ast.h |
---|
312 | AST_C_DIR= Python |
---|
313 | AST_C= $(AST_C_DIR)/Python-ast.c |
---|
314 | AST_ASDL= $(srcdir)/Parser/Python.asdl |
---|
315 | |
---|
316 | ASDLGEN_FILES= $(srcdir)/Parser/asdl.py $(srcdir)/Parser/asdl_c.py |
---|
317 | # XXX Note that a build now requires Python exist before the build starts |
---|
318 | ASDLGEN= $(srcdir)/Parser/asdl_c.py |
---|
319 | |
---|
320 | ########################################################################## |
---|
321 | # Python |
---|
322 | PYTHON_OBJS= \ |
---|
323 | Python/_warnings.o \ |
---|
324 | Python/Python-ast.o \ |
---|
325 | Python/asdl.o \ |
---|
326 | Python/ast.o \ |
---|
327 | Python/bltinmodule.o \ |
---|
328 | Python/ceval.o \ |
---|
329 | Python/compile.o \ |
---|
330 | Python/codecs.o \ |
---|
331 | Python/errors.o \ |
---|
332 | Python/frozen.o \ |
---|
333 | Python/frozenmain.o \ |
---|
334 | Python/future.o \ |
---|
335 | Python/getargs.o \ |
---|
336 | Python/getcompiler.o \ |
---|
337 | Python/getcopyright.o \ |
---|
338 | Python/getplatform.o \ |
---|
339 | Python/getversion.o \ |
---|
340 | Python/graminit.o \ |
---|
341 | Python/import.o \ |
---|
342 | Python/importdl.o \ |
---|
343 | Python/marshal.o \ |
---|
344 | Python/modsupport.o \ |
---|
345 | Python/mystrtoul.o \ |
---|
346 | Python/mysnprintf.o \ |
---|
347 | Python/peephole.o \ |
---|
348 | Python/pyarena.o \ |
---|
349 | Python/pyctype.o \ |
---|
350 | Python/pyfpe.o \ |
---|
351 | Python/pymath.o \ |
---|
352 | Python/pystate.o \ |
---|
353 | Python/pythonrun.o \ |
---|
354 | Python/random.o \ |
---|
355 | Python/structmember.o \ |
---|
356 | Python/symtable.o \ |
---|
357 | Python/sysmodule.o \ |
---|
358 | Python/traceback.o \ |
---|
359 | Python/getopt.o \ |
---|
360 | Python/pystrcmp.o \ |
---|
361 | Python/pystrtod.o \ |
---|
362 | Python/dtoa.o \ |
---|
363 | Python/formatter_unicode.o \ |
---|
364 | Python/formatter_string.o \ |
---|
365 | Python/$(DYNLOADFILE) \ |
---|
366 | $(LIBOBJS) \ |
---|
367 | $(MACHDEP_OBJS) \ |
---|
368 | $(THREADOBJ) |
---|
369 | |
---|
370 | |
---|
371 | ########################################################################## |
---|
372 | # Objects |
---|
373 | OBJECT_OBJS= \ |
---|
374 | Objects/abstract.o \ |
---|
375 | Objects/boolobject.o \ |
---|
376 | Objects/bufferobject.o \ |
---|
377 | Objects/bytes_methods.o \ |
---|
378 | Objects/bytearrayobject.o \ |
---|
379 | Objects/capsule.o \ |
---|
380 | Objects/cellobject.o \ |
---|
381 | Objects/classobject.o \ |
---|
382 | Objects/cobject.o \ |
---|
383 | Objects/codeobject.o \ |
---|
384 | Objects/complexobject.o \ |
---|
385 | Objects/descrobject.o \ |
---|
386 | Objects/enumobject.o \ |
---|
387 | Objects/exceptions.o \ |
---|
388 | Objects/genobject.o \ |
---|
389 | Objects/fileobject.o \ |
---|
390 | Objects/floatobject.o \ |
---|
391 | Objects/frameobject.o \ |
---|
392 | Objects/funcobject.o \ |
---|
393 | Objects/intobject.o \ |
---|
394 | Objects/iterobject.o \ |
---|
395 | Objects/listobject.o \ |
---|
396 | Objects/longobject.o \ |
---|
397 | Objects/dictobject.o \ |
---|
398 | Objects/memoryobject.o \ |
---|
399 | Objects/methodobject.o \ |
---|
400 | Objects/moduleobject.o \ |
---|
401 | Objects/object.o \ |
---|
402 | Objects/obmalloc.o \ |
---|
403 | Objects/rangeobject.o \ |
---|
404 | Objects/setobject.o \ |
---|
405 | Objects/sliceobject.o \ |
---|
406 | Objects/stringobject.o \ |
---|
407 | Objects/structseq.o \ |
---|
408 | Objects/tupleobject.o \ |
---|
409 | Objects/typeobject.o \ |
---|
410 | Objects/weakrefobject.o \ |
---|
411 | $(UNICODE_OBJS) |
---|
412 | |
---|
413 | |
---|
414 | ########################################################################## |
---|
415 | # objects that get linked into the Python library |
---|
416 | LIBRARY_OBJS= \ |
---|
417 | Modules/getbuildinfo.o \ |
---|
418 | $(PARSER_OBJS) \ |
---|
419 | $(OBJECT_OBJS) \ |
---|
420 | $(PYTHON_OBJS) \ |
---|
421 | $(MODULE_OBJS) \ |
---|
422 | $(SIGNAL_OBJS) \ |
---|
423 | $(MODOBJS) |
---|
424 | |
---|
425 | ######################################################################### |
---|
426 | # Rules |
---|
427 | |
---|
428 | # Default target |
---|
429 | all: build_all |
---|
430 | build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks |
---|
431 | |
---|
432 | # Compile a binary with gcc profile guided optimization. |
---|
433 | profile-opt: |
---|
434 | @echo "Building with support for profile generation:" |
---|
435 | $(MAKE) clean |
---|
436 | $(MAKE) build_all_generate_profile |
---|
437 | @echo "Running benchmark to generate profile data:" |
---|
438 | $(MAKE) profile-removal |
---|
439 | $(MAKE) run_profile_task |
---|
440 | @echo "Rebuilding with profile guided optimizations:" |
---|
441 | $(MAKE) clean |
---|
442 | $(MAKE) build_all_use_profile |
---|
443 | |
---|
444 | build_all_generate_profile: |
---|
445 | $(MAKE) all CFLAGS="$(CFLAGS) -fprofile-generate" LIBS="$(LIBS) -lgcov" |
---|
446 | |
---|
447 | run_profile_task: |
---|
448 | : # FIXME: can't run for a cross build |
---|
449 | ./$(BUILDPYTHON) $(PROFILE_TASK) |
---|
450 | |
---|
451 | build_all_use_profile: |
---|
452 | $(MAKE) all CFLAGS="$(CFLAGS) -fprofile-use" |
---|
453 | |
---|
454 | coverage: |
---|
455 | @echo "Building with support for coverage checking:" |
---|
456 | $(MAKE) clean |
---|
457 | $(MAKE) all CFLAGS="$(CFLAGS) -O0 -pg -fprofile-arcs -ftest-coverage" LIBS="$(LIBS) -lgcov" |
---|
458 | |
---|
459 | |
---|
460 | # Build the interpreter |
---|
461 | $(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY) |
---|
462 | $(LINKCC) $(LDFLAGS) $(LINKFORSHARED) -o $@ \ |
---|
463 | Modules/python.o \ |
---|
464 | $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) |
---|
465 | |
---|
466 | platform: $(BUILDPYTHON) pybuilddir.txt |
---|
467 | $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from distutils.util import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform |
---|
468 | |
---|
469 | # Create build directory and generate the sysconfig build-time data there. |
---|
470 | # pybuilddir.txt contains the name of the build dir and is used for |
---|
471 | # sys.path fixup -- see Modules/getpath.c. |
---|
472 | # Since this step runs before shared modules are built, try to avoid bootstrap |
---|
473 | # problems by creating a dummy pybuilddir.txt just to allow interpreter |
---|
474 | # initialization to succeed. It will be overwritten by generate-posix-vars |
---|
475 | # or removed in case of failure. |
---|
476 | pybuilddir.txt: $(BUILDPYTHON) |
---|
477 | @echo "none" > ./pybuilddir.txt |
---|
478 | $(RUNSHARED) $(PYTHON_FOR_BUILD) -S -m sysconfig --generate-posix-vars ;\ |
---|
479 | if test $$? -ne 0 ; then \ |
---|
480 | echo "generate-posix-vars failed" ; \ |
---|
481 | rm -f ./pybuilddir.txt ; \ |
---|
482 | exit 1 ; \ |
---|
483 | fi |
---|
484 | |
---|
485 | # Build the shared modules |
---|
486 | # Under GNU make, MAKEFLAGS are sorted and normalized; the 's' for |
---|
487 | # -s, --silent or --quiet is always the first char. |
---|
488 | # Under BSD make, MAKEFLAGS might be " -s -v x=y". |
---|
489 | sharedmods: $(BUILDPYTHON) pybuilddir.txt |
---|
490 | @case "$$MAKEFLAGS" in \ |
---|
491 | *\ -s*|s*) quiet="-q";; \ |
---|
492 | *) quiet="";; \ |
---|
493 | esac; \ |
---|
494 | $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ |
---|
495 | _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ |
---|
496 | PYTHONXCPREFIX='$(DESTDIR)$(prefix)' $(PYTHON_FOR_BUILD) \ |
---|
497 | $(srcdir)/setup.py $$quiet build |
---|
498 | |
---|
499 | # Build static library |
---|
500 | # avoid long command lines, same as LIBRARY_OBJS |
---|
501 | $(LIBRARY): $(LIBRARY_OBJS) |
---|
502 | -rm -f $@ |
---|
503 | $(AR) $(ARFLAGS) $@ Modules/getbuildinfo.o |
---|
504 | $(AR) $(ARFLAGS) $@ $(PARSER_OBJS) |
---|
505 | $(AR) $(ARFLAGS) $@ $(OBJECT_OBJS) |
---|
506 | $(AR) $(ARFLAGS) $@ $(PYTHON_OBJS) |
---|
507 | $(AR) $(ARFLAGS) $@ $(MODULE_OBJS) $(SIGNAL_OBJS) |
---|
508 | $(AR) $(ARFLAGS) $@ $(MODOBJS) |
---|
509 | $(RANLIB) $@ |
---|
510 | |
---|
511 | libpython$(VERSION).so: $(LIBRARY_OBJS) |
---|
512 | if test $(INSTSONAME) != $(LDLIBRARY); then \ |
---|
513 | $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \ |
---|
514 | $(LN) -f $(INSTSONAME) $@; \ |
---|
515 | else \ |
---|
516 | $(BLDSHARED) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \ |
---|
517 | fi |
---|
518 | |
---|
519 | libpython$(VERSION).dylib: $(LIBRARY_OBJS) |
---|
520 | $(CC) -dynamiclib -Wl,-single_module $(LDFLAGS) -undefined dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(VERSION).dylib -Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \ |
---|
521 | |
---|
522 | |
---|
523 | libpython$(VERSION).sl: $(LIBRARY_OBJS) |
---|
524 | $(LDSHARED) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST) |
---|
525 | |
---|
526 | # Copy up the gdb python hooks into a position where they can be automatically |
---|
527 | # loaded by gdb during Lib/test/test_gdb.py |
---|
528 | # |
---|
529 | # Distributors are likely to want to install this somewhere else e.g. relative |
---|
530 | # to the stripped DWARF data for the shared library. |
---|
531 | gdbhooks: $(BUILDPYTHON)-gdb.py |
---|
532 | |
---|
533 | SRC_GDB_HOOKS=$(srcdir)/Tools/gdb/libpython.py |
---|
534 | $(BUILDPYTHON)-gdb.py: $(SRC_GDB_HOOKS) |
---|
535 | $(INSTALL_DATA) $(SRC_GDB_HOOKS) $(BUILDPYTHON)-gdb.py |
---|
536 | |
---|
537 | # This rule is here for OPENSTEP/Rhapsody/MacOSX. It builds a temporary |
---|
538 | # minimal framework (not including the Lib directory and such) in the current |
---|
539 | # directory. |
---|
540 | RESSRCDIR=Mac/Resources/framework |
---|
541 | $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): \ |
---|
542 | $(LIBRARY) \ |
---|
543 | $(RESSRCDIR)/Info.plist |
---|
544 | $(INSTALL) -d -m $(DIRMODE) $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION) |
---|
545 | $(CC) -o $(LDLIBRARY) $(LDFLAGS) -dynamiclib \ |
---|
546 | -all_load $(LIBRARY) -Wl,-single_module \ |
---|
547 | -install_name $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK) \ |
---|
548 | -compatibility_version $(VERSION) \ |
---|
549 | -current_version $(VERSION); |
---|
550 | $(INSTALL) -d -m $(DIRMODE) \ |
---|
551 | $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/Resources/English.lproj |
---|
552 | $(INSTALL_DATA) $(RESSRCDIR)/Info.plist \ |
---|
553 | $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/Resources/Info.plist |
---|
554 | $(LN) -fsn $(VERSION) $(PYTHONFRAMEWORKDIR)/Versions/Current |
---|
555 | $(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(PYTHONFRAMEWORKDIR)/$(PYTHONFRAMEWORK) |
---|
556 | $(LN) -fsn Versions/Current/Headers $(PYTHONFRAMEWORKDIR)/Headers |
---|
557 | $(LN) -fsn Versions/Current/Resources $(PYTHONFRAMEWORKDIR)/Resources |
---|
558 | |
---|
559 | # This rule builds the Cygwin Python DLL and import library if configured |
---|
560 | # for a shared core library; otherwise, this rule is a noop. |
---|
561 | $(DLLLIBRARY) libpython$(VERSION).dll.a: $(LIBRARY_OBJS) |
---|
562 | if test -n "$(DLLLIBRARY)"; then \ |
---|
563 | $(LDSHARED) -Wl,--out-implib=$@ -o $(DLLLIBRARY) $^ \ |
---|
564 | $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST); \ |
---|
565 | else true; \ |
---|
566 | fi |
---|
567 | |
---|
568 | |
---|
569 | oldsharedmods: $(SHAREDMODS) |
---|
570 | |
---|
571 | |
---|
572 | Makefile Modules/config.c: Makefile.pre \ |
---|
573 | $(srcdir)/Modules/config.c.in \ |
---|
574 | $(MAKESETUP) \ |
---|
575 | Modules/Setup.config \ |
---|
576 | Modules/Setup \ |
---|
577 | Modules/Setup.local |
---|
578 | $(SHELL) $(MAKESETUP) -c $(srcdir)/Modules/config.c.in \ |
---|
579 | -s Modules \ |
---|
580 | Modules/Setup.config \ |
---|
581 | Modules/Setup.local \ |
---|
582 | Modules/Setup |
---|
583 | @mv config.c Modules |
---|
584 | @echo "The Makefile was updated, you may need to re-run make." |
---|
585 | |
---|
586 | |
---|
587 | Modules/Setup: $(srcdir)/Modules/Setup.dist |
---|
588 | @if test -f Modules/Setup; then \ |
---|
589 | echo "-----------------------------------------------"; \ |
---|
590 | echo "Modules/Setup.dist is newer than Modules/Setup;"; \ |
---|
591 | echo "check to make sure you have all the updates you"; \ |
---|
592 | echo "need in your Modules/Setup file."; \ |
---|
593 | echo "Usually, copying Modules/Setup.dist to Modules/Setup will work."; \ |
---|
594 | echo "-----------------------------------------------"; \ |
---|
595 | fi |
---|
596 | |
---|
597 | ############################################################################ |
---|
598 | # Special rules for object files |
---|
599 | |
---|
600 | Modules/getbuildinfo.o: $(PARSER_OBJS) \ |
---|
601 | $(OBJECT_OBJS) \ |
---|
602 | $(PYTHON_OBJS) \ |
---|
603 | $(MODULE_OBJS) \ |
---|
604 | $(SIGNAL_OBJS) \ |
---|
605 | $(MODOBJS) \ |
---|
606 | $(srcdir)/Modules/getbuildinfo.c |
---|
607 | $(CC) -c $(PY_CFLAGS) \ |
---|
608 | -DSVNVERSION="\"`LC_ALL=C $(SVNVERSION)`\"" \ |
---|
609 | -DHGVERSION="\"`LC_ALL=C $(HGVERSION)`\"" \ |
---|
610 | -DHGTAG="\"`LC_ALL=C $(HGTAG)`\"" \ |
---|
611 | -DHGBRANCH="\"`LC_ALL=C $(HGBRANCH)`\"" \ |
---|
612 | -o $@ $(srcdir)/Modules/getbuildinfo.c |
---|
613 | |
---|
614 | Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile |
---|
615 | $(CC) -c $(PY_CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \ |
---|
616 | -DPREFIX='"$(prefix)"' \ |
---|
617 | -DEXEC_PREFIX='"$(exec_prefix)"' \ |
---|
618 | -DVERSION='"$(VERSION)"' \ |
---|
619 | -DVPATH='"$(VPATH)"' \ |
---|
620 | -o $@ $(srcdir)/Modules/getpath.c |
---|
621 | |
---|
622 | Modules/python.o: $(srcdir)/Modules/python.c |
---|
623 | $(MAINCC) -c $(PY_CFLAGS) -o $@ $(srcdir)/Modules/python.c |
---|
624 | |
---|
625 | Modules/posixmodule.o: $(srcdir)/Modules/posixmodule.c $(srcdir)/Modules/posixmodule.h |
---|
626 | |
---|
627 | Modules/grpmodule.o: $(srcdir)/Modules/grpmodule.c $(srcdir)/Modules/posixmodule.h |
---|
628 | |
---|
629 | Modules/pwdmodule.o: $(srcdir)/Modules/pwdmodule.c $(srcdir)/Modules/posixmodule.h |
---|
630 | |
---|
631 | $(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGENSRCS) |
---|
632 | @$(MKDIR_P) Include |
---|
633 | $(MAKE) $(PGEN) |
---|
634 | $(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) |
---|
635 | $(GRAMMAR_C): $(GRAMMAR_H) $(GRAMMAR_INPUT) $(PGENSRCS) |
---|
636 | $(MAKE) $(GRAMMAR_H) |
---|
637 | touch $(GRAMMAR_C) |
---|
638 | |
---|
639 | $(PGEN): $(PGENOBJS) |
---|
640 | $(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN) |
---|
641 | |
---|
642 | Parser/grammar.o: $(srcdir)/Parser/grammar.c \ |
---|
643 | $(srcdir)/Include/token.h \ |
---|
644 | $(srcdir)/Include/grammar.h |
---|
645 | Parser/metagrammar.o: $(srcdir)/Parser/metagrammar.c |
---|
646 | |
---|
647 | Parser/tokenizer_pgen.o: $(srcdir)/Parser/tokenizer.c |
---|
648 | |
---|
649 | Parser/pgenmain.o: $(srcdir)/Include/parsetok.h |
---|
650 | |
---|
651 | $(AST_H): $(AST_ASDL) $(ASDLGEN_FILES) |
---|
652 | $(MKDIR_P) $(AST_H_DIR) |
---|
653 | $(ASDLGEN) -h $(AST_H_DIR) $(AST_ASDL) |
---|
654 | |
---|
655 | $(AST_C): $(AST_ASDL) $(ASDLGEN_FILES) |
---|
656 | $(MKDIR_P) $(AST_C_DIR) |
---|
657 | $(ASDLGEN) -c $(AST_C_DIR) $(AST_ASDL) |
---|
658 | |
---|
659 | Python/compile.o Python/symtable.o Python/ast.o: $(GRAMMAR_H) $(AST_H) |
---|
660 | |
---|
661 | Python/getplatform.o: $(srcdir)/Python/getplatform.c |
---|
662 | $(CC) -c $(PY_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c |
---|
663 | |
---|
664 | Python/importdl.o: $(srcdir)/Python/importdl.c |
---|
665 | $(CC) -c $(PY_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c |
---|
666 | |
---|
667 | Objects/unicodectype.o: $(srcdir)/Objects/unicodectype.c \ |
---|
668 | $(srcdir)/Objects/unicodetype_db.h |
---|
669 | |
---|
670 | STRINGLIB_HEADERS= \ |
---|
671 | $(srcdir)/Include/bytes_methods.h \ |
---|
672 | $(srcdir)/Objects/stringlib/count.h \ |
---|
673 | $(srcdir)/Objects/stringlib/ctype.h \ |
---|
674 | $(srcdir)/Objects/stringlib/fastsearch.h \ |
---|
675 | $(srcdir)/Objects/stringlib/find.h \ |
---|
676 | $(srcdir)/Objects/stringlib/formatter.h \ |
---|
677 | $(srcdir)/Objects/stringlib/partition.h \ |
---|
678 | $(srcdir)/Objects/stringlib/split.h \ |
---|
679 | $(srcdir)/Objects/stringlib/stringdefs.h \ |
---|
680 | $(srcdir)/Objects/stringlib/string_format.h \ |
---|
681 | $(srcdir)/Objects/stringlib/transmogrify.h \ |
---|
682 | $(srcdir)/Objects/stringlib/unicodedefs.h \ |
---|
683 | $(srcdir)/Objects/stringlib/localeutil.h |
---|
684 | |
---|
685 | Objects/unicodeobject.o: $(srcdir)/Objects/unicodeobject.c \ |
---|
686 | $(STRINGLIB_HEADERS) |
---|
687 | |
---|
688 | Objects/bytearrayobject.o: $(srcdir)/Objects/bytearrayobject.c \ |
---|
689 | $(STRINGLIB_HEADERS) |
---|
690 | |
---|
691 | Objects/stringobject.o: $(srcdir)/Objects/stringobject.c \ |
---|
692 | $(STRINGLIB_HEADERS) |
---|
693 | |
---|
694 | Python/formatter_unicode.o: $(srcdir)/Python/formatter_unicode.c \ |
---|
695 | $(STRINGLIB_HEADERS) |
---|
696 | |
---|
697 | Python/formatter_string.o: $(srcdir)/Python/formatter_string.c \ |
---|
698 | $(STRINGLIB_HEADERS) |
---|
699 | |
---|
700 | ############################################################################ |
---|
701 | # Header files |
---|
702 | |
---|
703 | PYTHON_HEADERS= \ |
---|
704 | Include/Python-ast.h \ |
---|
705 | Include/Python.h \ |
---|
706 | Include/abstract.h \ |
---|
707 | Include/asdl.h \ |
---|
708 | Include/ast.h \ |
---|
709 | Include/bitset.h \ |
---|
710 | Include/boolobject.h \ |
---|
711 | Include/bytearrayobject.h \ |
---|
712 | Include/bytes_methods.h \ |
---|
713 | Include/bytesobject.h \ |
---|
714 | Include/bufferobject.h \ |
---|
715 | Include/cellobject.h \ |
---|
716 | Include/ceval.h \ |
---|
717 | Include/classobject.h \ |
---|
718 | Include/cobject.h \ |
---|
719 | Include/code.h \ |
---|
720 | Include/codecs.h \ |
---|
721 | Include/compile.h \ |
---|
722 | Include/complexobject.h \ |
---|
723 | Include/descrobject.h \ |
---|
724 | Include/dictobject.h \ |
---|
725 | Include/dtoa.h \ |
---|
726 | Include/enumobject.h \ |
---|
727 | Include/errcode.h \ |
---|
728 | Include/eval.h \ |
---|
729 | Include/fileobject.h \ |
---|
730 | Include/floatobject.h \ |
---|
731 | Include/frameobject.h \ |
---|
732 | Include/funcobject.h \ |
---|
733 | Include/genobject.h \ |
---|
734 | Include/import.h \ |
---|
735 | Include/intobject.h \ |
---|
736 | Include/intrcheck.h \ |
---|
737 | Include/iterobject.h \ |
---|
738 | Include/listobject.h \ |
---|
739 | Include/longintrepr.h \ |
---|
740 | Include/longobject.h \ |
---|
741 | Include/marshal.h \ |
---|
742 | Include/memoryobject.h \ |
---|
743 | Include/metagrammar.h \ |
---|
744 | Include/methodobject.h \ |
---|
745 | Include/modsupport.h \ |
---|
746 | Include/moduleobject.h \ |
---|
747 | Include/node.h \ |
---|
748 | Include/object.h \ |
---|
749 | Include/objimpl.h \ |
---|
750 | Include/opcode.h \ |
---|
751 | Include/osdefs.h \ |
---|
752 | Include/parsetok.h \ |
---|
753 | Include/patchlevel.h \ |
---|
754 | Include/pgen.h \ |
---|
755 | Include/pgenheaders.h \ |
---|
756 | Include/pyarena.h \ |
---|
757 | Include/pycapsule.h \ |
---|
758 | Include/pyctype.h \ |
---|
759 | Include/pydebug.h \ |
---|
760 | Include/pyerrors.h \ |
---|
761 | Include/pyfpe.h \ |
---|
762 | Include/pymath.h \ |
---|
763 | Include/pygetopt.h \ |
---|
764 | Include/pymem.h \ |
---|
765 | Include/pyport.h \ |
---|
766 | Include/pystate.h \ |
---|
767 | Include/pystrcmp.h \ |
---|
768 | Include/pystrtod.h \ |
---|
769 | Include/pythonrun.h \ |
---|
770 | Include/pythread.h \ |
---|
771 | Include/rangeobject.h \ |
---|
772 | Include/setobject.h \ |
---|
773 | Include/sliceobject.h \ |
---|
774 | Include/stringobject.h \ |
---|
775 | Include/structmember.h \ |
---|
776 | Include/structseq.h \ |
---|
777 | Include/symtable.h \ |
---|
778 | Include/sysmodule.h \ |
---|
779 | Include/traceback.h \ |
---|
780 | Include/tupleobject.h \ |
---|
781 | Include/ucnhash.h \ |
---|
782 | Include/unicodeobject.h \ |
---|
783 | Include/warnings.h \ |
---|
784 | Include/weakrefobject.h \ |
---|
785 | pyconfig.h \ |
---|
786 | $(PARSER_HEADERS) \ |
---|
787 | $(AST_H) |
---|
788 | |
---|
789 | $(LIBRARY_OBJS) $(MODOBJS) Modules/python.o: $(PYTHON_HEADERS) |
---|
790 | |
---|
791 | |
---|
792 | ###################################################################### |
---|
793 | |
---|
794 | # Test the interpreter (twice, once without .pyc files, once with) |
---|
795 | # In the past, we've had problems where bugs in the marshalling or |
---|
796 | # elsewhere caused bytecode read from .pyc files to behave differently |
---|
797 | # than bytecode generated directly from a .py source file. Sometimes |
---|
798 | # the bytecode read from a .pyc file had the bug, sometimes the directly |
---|
799 | # generated bytecode. This is sometimes a very shy bug needing a lot of |
---|
800 | # sample data. |
---|
801 | |
---|
802 | TESTOPTS= -l $(EXTRATESTOPTS) |
---|
803 | TESTPROG= $(srcdir)/Lib/test/regrtest.py |
---|
804 | TESTPYTHON= $(RUNSHARED) ./$(BUILDPYTHON) -Wd -3 -E -tt $(TESTPYTHONOPTS) |
---|
805 | test: all platform |
---|
806 | -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f |
---|
807 | -$(TESTPYTHON) $(TESTPROG) $(TESTOPTS) |
---|
808 | $(TESTPYTHON) $(TESTPROG) $(TESTOPTS) |
---|
809 | |
---|
810 | testall: all platform |
---|
811 | -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f |
---|
812 | $(TESTPYTHON) $(srcdir)/Lib/compileall.py |
---|
813 | -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f |
---|
814 | -$(TESTPYTHON) $(TESTPROG) -uall $(TESTOPTS) |
---|
815 | $(TESTPYTHON) $(TESTPROG) -uall $(TESTOPTS) |
---|
816 | |
---|
817 | # Run the unitests for both architectures in a Universal build on OSX |
---|
818 | # Must be run on an Intel box. |
---|
819 | testuniversal: all platform |
---|
820 | if [ `arch` != 'i386' ];then \ |
---|
821 | echo "This can only be used on OSX/i386" ;\ |
---|
822 | exit 1 ;\ |
---|
823 | fi |
---|
824 | -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f |
---|
825 | -$(TESTPYTHON) $(TESTPROG) -uall $(TESTOPTS) |
---|
826 | $(TESTPYTHON) $(TESTPROG) -uall $(TESTOPTS) |
---|
827 | $(RUNSHARED) /usr/libexec/oah/translate ./$(BUILDPYTHON) -E -tt $(TESTPROG) -uall $(TESTOPTS) |
---|
828 | |
---|
829 | |
---|
830 | # Like testall, but with a single pass only |
---|
831 | # run an optional script to include some information about the build environment |
---|
832 | buildbottest: all platform |
---|
833 | -@if which pybuildbot.identify >/dev/null 2>&1; then \ |
---|
834 | pybuildbot.identify "CC='$(CC)'" "CXX='$(CXX)'"; \ |
---|
835 | fi |
---|
836 | $(TESTPYTHON) -R $(TESTPROG) -uall -rwW $(TESTOPTS) |
---|
837 | |
---|
838 | QUICKTESTOPTS= $(TESTOPTS) -x test_subprocess test_io test_lib2to3 \ |
---|
839 | test_multibytecodec test_urllib2_localnet test_itertools \ |
---|
840 | test_multiprocessing test_mailbox test_socket test_poll \ |
---|
841 | test_select test_zipfile |
---|
842 | quicktest: all platform |
---|
843 | -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f |
---|
844 | -$(TESTPYTHON) $(TESTPROG) $(QUICKTESTOPTS) |
---|
845 | $(TESTPYTHON) $(TESTPROG) $(QUICKTESTOPTS) |
---|
846 | |
---|
847 | MEMTESTOPTS= $(QUICKTESTOPTS) -x test_dl test___all__ test_fork1 \ |
---|
848 | test_longexp |
---|
849 | memtest: all platform |
---|
850 | -rm -f $(srcdir)/Lib/test/*.py[co] |
---|
851 | -$(TESTPYTHON) $(TESTPROG) $(MEMTESTOPTS) |
---|
852 | $(TESTPYTHON) $(TESTPROG) $(MEMTESTOPTS) |
---|
853 | |
---|
854 | # Install everything |
---|
855 | install: commoninstall bininstall maninstall |
---|
856 | if test "x$(ENSUREPIP)" != "xno" ; then \ |
---|
857 | case $(ENSUREPIP) in \ |
---|
858 | upgrade) ensurepip="--upgrade" ;; \ |
---|
859 | install|*) ensurepip="" ;; \ |
---|
860 | esac; \ |
---|
861 | $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \ |
---|
862 | $$ensurepip --root=$(DESTDIR)/ ; \ |
---|
863 | fi |
---|
864 | |
---|
865 | # Install almost everything without disturbing previous versions |
---|
866 | altinstall: commoninstall |
---|
867 | if test "x$(ENSUREPIP)" != "xno" ; then \ |
---|
868 | case $(ENSUREPIP) in \ |
---|
869 | upgrade) ensurepip="--altinstall --upgrade --no-default-pip" ;; \ |
---|
870 | install|*) ensurepip="--altinstall --no-default-pip" ;; \ |
---|
871 | esac; \ |
---|
872 | $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \ |
---|
873 | $$ensurepip --root=$(DESTDIR)/ ; \ |
---|
874 | fi |
---|
875 | |
---|
876 | commoninstall: \ |
---|
877 | altbininstall libinstall inclinstall libainstall \ |
---|
878 | sharedinstall oldsharedinstall altmaninstall \ |
---|
879 | |
---|
880 | |
---|
881 | # Install shared libraries enabled by Setup |
---|
882 | DESTDIRS= $(exec_prefix) $(LIBDIR) $(BINLIBDEST) $(DESTSHARED) |
---|
883 | |
---|
884 | oldsharedinstall: $(DESTSHARED) $(SHAREDMODS) |
---|
885 | @for i in X $(SHAREDMODS); do \ |
---|
886 | if test $$i != X; then \ |
---|
887 | echo $(INSTALL_SHARED) $$i $(DESTSHARED)/`basename $$i`; \ |
---|
888 | $(INSTALL_SHARED) $$i $(DESTDIR)$(DESTSHARED)/`basename $$i`; \ |
---|
889 | fi; \ |
---|
890 | done |
---|
891 | |
---|
892 | $(DESTSHARED): |
---|
893 | @for i in $(DESTDIRS); \ |
---|
894 | do \ |
---|
895 | if test ! -d $(DESTDIR)$$i; then \ |
---|
896 | echo "Creating directory $$i"; \ |
---|
897 | $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \ |
---|
898 | else true; \ |
---|
899 | fi; \ |
---|
900 | done |
---|
901 | |
---|
902 | |
---|
903 | # Install the interpreter by creating a symlink chain: |
---|
904 | # $(PYTHON) -> python2 -> python$(VERSION)) |
---|
905 | # Also create equivalent chains for other installed files |
---|
906 | bininstall: altbininstall |
---|
907 | -if test -f $(DESTDIR)$(BINDIR)/$(PYTHON) -o -h $(DESTDIR)$(BINDIR)/$(PYTHON); \ |
---|
908 | then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); \ |
---|
909 | else true; \ |
---|
910 | fi |
---|
911 | (cd $(DESTDIR)$(BINDIR); $(LN) -s python2$(EXE) $(PYTHON)) |
---|
912 | -rm -f $(DESTDIR)$(BINDIR)/python2$(EXE) |
---|
913 | (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) python2$(EXE)) |
---|
914 | -rm -f $(DESTDIR)$(BINDIR)/python2-config |
---|
915 | (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python2-config) |
---|
916 | -rm -f $(DESTDIR)$(BINDIR)/python-config |
---|
917 | (cd $(DESTDIR)$(BINDIR); $(LN) -s python2-config python-config) |
---|
918 | -test -d $(DESTDIR)$(LIBPC) || $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(LIBPC) |
---|
919 | -rm -f $(DESTDIR)$(LIBPC)/python2.pc |
---|
920 | (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python2.pc) |
---|
921 | -rm -f $(DESTDIR)$(LIBPC)/python.pc |
---|
922 | (cd $(DESTDIR)$(LIBPC); $(LN) -s python2.pc python.pc) |
---|
923 | |
---|
924 | # Install the interpreter with $(VERSION) affixed |
---|
925 | # This goes into $(exec_prefix) |
---|
926 | altbininstall: $(BUILDPYTHON) |
---|
927 | @for i in $(BINDIR) $(LIBDIR); \ |
---|
928 | do \ |
---|
929 | if test ! -d $(DESTDIR)$$i; then \ |
---|
930 | echo "Creating directory $$i"; \ |
---|
931 | $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \ |
---|
932 | else true; \ |
---|
933 | fi; \ |
---|
934 | done |
---|
935 | $(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(BINDIR)/python$(VERSION)$(EXE) |
---|
936 | if test -f $(LDLIBRARY); then \ |
---|
937 | if test -n "$(DLLLIBRARY)" ; then \ |
---|
938 | $(INSTALL_SHARED) $(DLLLIBRARY) $(DESTDIR)$(BINDIR); \ |
---|
939 | else \ |
---|
940 | $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(LIBDIR)/$(INSTSONAME); \ |
---|
941 | if test $(LDLIBRARY) != $(INSTSONAME); then \ |
---|
942 | (cd $(DESTDIR)$(LIBDIR); $(LN) -sf $(INSTSONAME) $(LDLIBRARY)) \ |
---|
943 | fi \ |
---|
944 | fi; \ |
---|
945 | else true; \ |
---|
946 | fi |
---|
947 | |
---|
948 | # Install the versioned manual page |
---|
949 | altmaninstall: |
---|
950 | @for i in $(MANDIR) $(MANDIR)/man1; \ |
---|
951 | do \ |
---|
952 | if test ! -d $(DESTDIR)$$i; then \ |
---|
953 | echo "Creating directory $$i"; \ |
---|
954 | $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \ |
---|
955 | else true; \ |
---|
956 | fi; \ |
---|
957 | done |
---|
958 | $(INSTALL_DATA) $(srcdir)/Misc/python.man \ |
---|
959 | $(DESTDIR)$(MANDIR)/man1/python$(VERSION).1 |
---|
960 | |
---|
961 | # Install the unversioned manual pages |
---|
962 | maninstall: altmaninstall |
---|
963 | -rm -f $(DESTDIR)$(MANDIR)/man1/python2.1 |
---|
964 | (cd $(DESTDIR)$(MANDIR)/man1; $(LN) -s python$(VERSION).1 python2.1) |
---|
965 | -rm -f $(DESTDIR)$(MANDIR)/man1/python.1 |
---|
966 | (cd $(DESTDIR)$(MANDIR)/man1; $(LN) -s python2.1 python.1) |
---|
967 | |
---|
968 | # Install the library |
---|
969 | PLATDIR= plat-$(MACHDEP) |
---|
970 | EXTRAPLATDIR= |
---|
971 | EXTRAMACHDEPPATH= |
---|
972 | MACHDEPS= $(PLATDIR) $(EXTRAPLATDIR) |
---|
973 | XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax |
---|
974 | PLATMACDIRS= plat-mac plat-mac/Carbon plat-mac/lib-scriptpackages \ |
---|
975 | plat-mac/lib-scriptpackages/_builtinSuites \ |
---|
976 | plat-mac/lib-scriptpackages/CodeWarrior \ |
---|
977 | plat-mac/lib-scriptpackages/Explorer \ |
---|
978 | plat-mac/lib-scriptpackages/Finder \ |
---|
979 | plat-mac/lib-scriptpackages/Netscape \ |
---|
980 | plat-mac/lib-scriptpackages/StdSuites \ |
---|
981 | plat-mac/lib-scriptpackages/SystemEvents \ |
---|
982 | plat-mac/lib-scriptpackages/Terminal |
---|
983 | PLATMACPATH=:plat-mac:plat-mac/lib-scriptpackages |
---|
984 | LIBSUBDIRS= lib-tk lib-tk/test lib-tk/test/test_tkinter \ |
---|
985 | lib-tk/test/test_ttk site-packages test test/audiodata test/capath \ |
---|
986 | test/data test/cjkencodings test/decimaltestdata test/xmltestdata \ |
---|
987 | test/imghdrdata \ |
---|
988 | test/subprocessdata \ |
---|
989 | test/tracedmodules \ |
---|
990 | encodings compiler hotshot \ |
---|
991 | email email/mime email/test email/test/data \ |
---|
992 | ensurepip ensurepip/_bundled \ |
---|
993 | json json/tests \ |
---|
994 | sqlite3 sqlite3/test \ |
---|
995 | logging bsddb bsddb/test csv importlib wsgiref \ |
---|
996 | lib2to3 lib2to3/fixes lib2to3/pgen2 lib2to3/tests \ |
---|
997 | lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \ |
---|
998 | ctypes ctypes/test ctypes/macholib \ |
---|
999 | idlelib idlelib/Icons idlelib/idle_test \ |
---|
1000 | distutils distutils/command distutils/tests $(XMLLIBSUBDIRS) \ |
---|
1001 | multiprocessing multiprocessing/dummy \ |
---|
1002 | unittest unittest/test \ |
---|
1003 | lib-old \ |
---|
1004 | curses pydoc_data $(MACHDEPS) |
---|
1005 | libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c |
---|
1006 | @for i in $(SCRIPTDIR) $(LIBDEST); \ |
---|
1007 | do \ |
---|
1008 | if test ! -d $(DESTDIR)$$i; then \ |
---|
1009 | echo "Creating directory $$i"; \ |
---|
1010 | $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \ |
---|
1011 | else true; \ |
---|
1012 | fi; \ |
---|
1013 | done |
---|
1014 | @for d in $(LIBSUBDIRS); \ |
---|
1015 | do \ |
---|
1016 | a=$(srcdir)/Lib/$$d; \ |
---|
1017 | if test ! -d $$a; then continue; else true; fi; \ |
---|
1018 | b=$(LIBDEST)/$$d; \ |
---|
1019 | if test ! -d $(DESTDIR)$$b; then \ |
---|
1020 | echo "Creating directory $$b"; \ |
---|
1021 | $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$b; \ |
---|
1022 | else true; \ |
---|
1023 | fi; \ |
---|
1024 | done |
---|
1025 | @for i in $(srcdir)/Lib/*.py `cat pybuilddir.txt`/_sysconfigdata.py $(srcdir)/Lib/*.doc $(srcdir)/Lib/*.egg-info ; \ |
---|
1026 | do \ |
---|
1027 | if test -x $$i; then \ |
---|
1028 | $(INSTALL_SCRIPT) $$i $(DESTDIR)$(LIBDEST); \ |
---|
1029 | echo $(INSTALL_SCRIPT) $$i $(LIBDEST); \ |
---|
1030 | else \ |
---|
1031 | $(INSTALL_DATA) $$i $(DESTDIR)$(LIBDEST); \ |
---|
1032 | echo $(INSTALL_DATA) $$i $(LIBDEST); \ |
---|
1033 | fi; \ |
---|
1034 | done |
---|
1035 | @for d in $(LIBSUBDIRS); \ |
---|
1036 | do \ |
---|
1037 | a=$(srcdir)/Lib/$$d; \ |
---|
1038 | if test ! -d $$a; then continue; else true; fi; \ |
---|
1039 | if test `ls $$a | wc -l` -lt 1; then continue; fi; \ |
---|
1040 | b=$(LIBDEST)/$$d; \ |
---|
1041 | for i in $$a/*; \ |
---|
1042 | do \ |
---|
1043 | case $$i in \ |
---|
1044 | *CVS) ;; \ |
---|
1045 | *.py[co]) ;; \ |
---|
1046 | *.orig) ;; \ |
---|
1047 | *~) ;; \ |
---|
1048 | *) \ |
---|
1049 | if test -d $$i; then continue; fi; \ |
---|
1050 | if test -x $$i; then \ |
---|
1051 | echo $(INSTALL_SCRIPT) $$i $$b; \ |
---|
1052 | $(INSTALL_SCRIPT) $$i $(DESTDIR)$$b; \ |
---|
1053 | else \ |
---|
1054 | echo $(INSTALL_DATA) $$i $$b; \ |
---|
1055 | $(INSTALL_DATA) $$i $(DESTDIR)$$b; \ |
---|
1056 | fi;; \ |
---|
1057 | esac; \ |
---|
1058 | done; \ |
---|
1059 | done |
---|
1060 | $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt |
---|
1061 | if test -d $(DESTDIR)$(LIBDEST)/distutils/tests; then \ |
---|
1062 | $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \ |
---|
1063 | $(DESTDIR)$(LIBDEST)/distutils/tests ; \ |
---|
1064 | fi |
---|
1065 | -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ |
---|
1066 | $(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \ |
---|
1067 | -d $(LIBDEST) -f \ |
---|
1068 | -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ |
---|
1069 | $(DESTDIR)$(LIBDEST) |
---|
1070 | -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ |
---|
1071 | $(HOSTPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \ |
---|
1072 | -d $(LIBDEST) -f \ |
---|
1073 | -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ |
---|
1074 | $(DESTDIR)$(LIBDEST) |
---|
1075 | -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ |
---|
1076 | $(HOSTPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \ |
---|
1077 | -d $(LIBDEST)/site-packages -f \ |
---|
1078 | -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages |
---|
1079 | -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ |
---|
1080 | $(HOSTPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \ |
---|
1081 | -d $(LIBDEST)/site-packages -f \ |
---|
1082 | -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages |
---|
1083 | -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ |
---|
1084 | $(HOSTPYTHON) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt |
---|
1085 | -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ |
---|
1086 | $(HOSTPYTHON) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt |
---|
1087 | |
---|
1088 | # Create the PLATDIR source directory, if one wasn't distributed.. |
---|
1089 | $(srcdir)/Lib/$(PLATDIR): |
---|
1090 | mkdir $(srcdir)/Lib/$(PLATDIR) |
---|
1091 | cp $(srcdir)/Lib/plat-generic/regen $(srcdir)/Lib/$(PLATDIR)/regen |
---|
1092 | export PATH; PATH="`pwd`:$$PATH"; \ |
---|
1093 | export PYTHONPATH; PYTHONPATH="$(srcdir)/Lib:$(abs_builddir)/`cat pybuilddir.txt`"; \ |
---|
1094 | export DYLD_FRAMEWORK_PATH; DYLD_FRAMEWORK_PATH="`pwd`"; \ |
---|
1095 | export EXE; EXE="$(BUILDEXE)"; \ |
---|
1096 | if [ -n "$(MULTIARCH)" ]; then export MULTIARCH; MULTIARCH=$(MULTIARCH); fi; \ |
---|
1097 | export PYTHON_FOR_BUILD; \ |
---|
1098 | if [ "$(build)" = "$(host)" ]; then \ |
---|
1099 | PYTHON_FOR_BUILD="$(BUILDPYTHON)"; \ |
---|
1100 | else \ |
---|
1101 | PYTHON_FOR_BUILD="$(PYTHON_FOR_BUILD)"; \ |
---|
1102 | fi; \ |
---|
1103 | cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen |
---|
1104 | |
---|
1105 | python-config: $(srcdir)/Misc/python-config.in |
---|
1106 | # Substitution happens here, as the completely-expanded BINDIR |
---|
1107 | # is not available in configure |
---|
1108 | sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config |
---|
1109 | |
---|
1110 | # Install the include files |
---|
1111 | INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY) |
---|
1112 | inclinstall: |
---|
1113 | @for i in $(INCLDIRSTOMAKE); \ |
---|
1114 | do \ |
---|
1115 | if test ! -d $(DESTDIR)$$i; then \ |
---|
1116 | echo "Creating directory $$i"; \ |
---|
1117 | $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \ |
---|
1118 | else true; \ |
---|
1119 | fi; \ |
---|
1120 | done |
---|
1121 | @for i in $(srcdir)/Include/*.h; \ |
---|
1122 | do \ |
---|
1123 | echo $(INSTALL_DATA) $$i $(INCLUDEPY); \ |
---|
1124 | $(INSTALL_DATA) $$i $(DESTDIR)$(INCLUDEPY); \ |
---|
1125 | done |
---|
1126 | $(INSTALL_DATA) pyconfig.h $(DESTDIR)$(CONFINCLUDEPY)/pyconfig.h |
---|
1127 | |
---|
1128 | # Install the library and miscellaneous stuff needed for extending/embedding |
---|
1129 | # This goes into $(exec_prefix) |
---|
1130 | LIBPL= $(LIBP)/config |
---|
1131 | |
---|
1132 | # pkgconfig directory |
---|
1133 | LIBPC= $(LIBDIR)/pkgconfig |
---|
1134 | |
---|
1135 | libainstall: all python-config |
---|
1136 | @for i in $(LIBDIR) $(LIBP) $(LIBPL) $(LIBPC); \ |
---|
1137 | do \ |
---|
1138 | if test ! -d $(DESTDIR)$$i; then \ |
---|
1139 | echo "Creating directory $$i"; \ |
---|
1140 | $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \ |
---|
1141 | else true; \ |
---|
1142 | fi; \ |
---|
1143 | done |
---|
1144 | @if test -d $(LIBRARY); then :; else \ |
---|
1145 | if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \ |
---|
1146 | if test "$(SO)" = .dll; then \ |
---|
1147 | $(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \ |
---|
1148 | else \ |
---|
1149 | $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \ |
---|
1150 | $(RANLIB) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \ |
---|
1151 | fi; \ |
---|
1152 | else \ |
---|
1153 | echo Skip install of $(LIBRARY) - use make frameworkinstall; \ |
---|
1154 | fi; \ |
---|
1155 | fi |
---|
1156 | $(INSTALL_DATA) Modules/config.c $(DESTDIR)$(LIBPL)/config.c |
---|
1157 | $(INSTALL_DATA) Modules/python.o $(DESTDIR)$(LIBPL)/python.o |
---|
1158 | $(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in |
---|
1159 | $(INSTALL_DATA) Makefile $(DESTDIR)$(LIBPL)/Makefile |
---|
1160 | $(INSTALL_DATA) Modules/Setup $(DESTDIR)$(LIBPL)/Setup |
---|
1161 | $(INSTALL_DATA) Modules/Setup.local $(DESTDIR)$(LIBPL)/Setup.local |
---|
1162 | $(INSTALL_DATA) Modules/Setup.config $(DESTDIR)$(LIBPL)/Setup.config |
---|
1163 | $(INSTALL_DATA) Misc/python.pc $(DESTDIR)$(LIBPC)/python-$(VERSION).pc |
---|
1164 | $(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup |
---|
1165 | $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh |
---|
1166 | $(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(VERSION)-config |
---|
1167 | rm python-config |
---|
1168 | @if [ -s Modules/python.exp -a \ |
---|
1169 | "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \ |
---|
1170 | echo; echo "Installing support files for building shared extension modules on AIX:"; \ |
---|
1171 | $(INSTALL_DATA) Modules/python.exp \ |
---|
1172 | $(DESTDIR)$(LIBPL)/python.exp; \ |
---|
1173 | echo; echo "$(LIBPL)/python.exp"; \ |
---|
1174 | $(INSTALL_SCRIPT) $(srcdir)/Modules/makexp_aix \ |
---|
1175 | $(DESTDIR)$(LIBPL)/makexp_aix; \ |
---|
1176 | echo "$(LIBPL)/makexp_aix"; \ |
---|
1177 | $(INSTALL_SCRIPT) $(srcdir)/Modules/ld_so_aix \ |
---|
1178 | $(DESTDIR)$(LIBPL)/ld_so_aix; \ |
---|
1179 | echo "$(LIBPL)/ld_so_aix"; \ |
---|
1180 | echo; echo "See Misc/AIX-NOTES for details."; \ |
---|
1181 | else true; \ |
---|
1182 | fi |
---|
1183 | @case "$(MACHDEP)" in beos*) \ |
---|
1184 | echo; echo "Installing support files for building shared extension modules on BeOS:"; \ |
---|
1185 | $(INSTALL_DATA) Misc/BeOS-NOTES $(DESTDIR)$(LIBPL)/README; \ |
---|
1186 | echo; echo "$(LIBPL)/README"; \ |
---|
1187 | $(INSTALL_SCRIPT) Modules/ar_beos $(DESTDIR)$(LIBPL)/ar_beos; \ |
---|
1188 | echo "$(LIBPL)/ar_beos"; \ |
---|
1189 | $(INSTALL_SCRIPT) Modules/ld_so_beos $(DESTDIR)$(LIBPL)/ld_so_beos; \ |
---|
1190 | echo "$(LIBPL)/ld_so_beos"; \ |
---|
1191 | echo; echo "See Misc/BeOS-NOTES for details."; \ |
---|
1192 | ;; \ |
---|
1193 | esac |
---|
1194 | |
---|
1195 | # Install the dynamically loadable modules |
---|
1196 | # This goes into $(exec_prefix) |
---|
1197 | sharedinstall: sharedmods |
---|
1198 | CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ |
---|
1199 | $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ |
---|
1200 | --skip-build \ |
---|
1201 | --prefix=$(prefix) \ |
---|
1202 | --install-scripts=$(BINDIR) \ |
---|
1203 | --install-platlib=$(DESTSHARED) \ |
---|
1204 | --root=$(DESTDIR)/ |
---|
1205 | -rm $(DESTDIR)$(DESTSHARED)/_sysconfigdata.py* |
---|
1206 | |
---|
1207 | # Here are a couple of targets for MacOSX again, to install a full |
---|
1208 | # framework-based Python. frameworkinstall installs everything, the |
---|
1209 | # subtargets install specific parts. Much of the actual work is offloaded to |
---|
1210 | # the Makefile in Mac |
---|
1211 | # |
---|
1212 | # |
---|
1213 | # This target is here for backward compatiblity, previous versions of Python |
---|
1214 | # hadn't integrated framework installation in the normal install process. |
---|
1215 | frameworkinstall: install |
---|
1216 | |
---|
1217 | # On install, we re-make the framework |
---|
1218 | # structure in the install location, /Library/Frameworks/ or the argument to |
---|
1219 | # --enable-framework. If --enable-framework has been specified then we have |
---|
1220 | # automatically set prefix to the location deep down in the framework, so we |
---|
1221 | # only have to cater for the structural bits of the framework. |
---|
1222 | |
---|
1223 | frameworkinstallframework: frameworkinstallstructure install frameworkinstallmaclib |
---|
1224 | |
---|
1225 | frameworkinstallstructure: $(LDLIBRARY) |
---|
1226 | @if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \ |
---|
1227 | echo Not configured with --enable-framework; \ |
---|
1228 | exit 1; \ |
---|
1229 | else true; \ |
---|
1230 | fi |
---|
1231 | @for i in $(prefix)/Resources/English.lproj $(prefix)/lib; do\ |
---|
1232 | if test ! -d $(DESTDIR)$$i; then \ |
---|
1233 | echo "Creating directory $(DESTDIR)$$i"; \ |
---|
1234 | $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \ |
---|
1235 | else true; \ |
---|
1236 | fi; \ |
---|
1237 | done |
---|
1238 | $(LN) -fsn include/python$(VERSION) $(DESTDIR)$(prefix)/Headers |
---|
1239 | sed 's/%VERSION%/'"`$(RUNSHARED) ./$(BUILDPYTHON) -c 'import platform; print platform.python_version()'`"'/g' < $(RESSRCDIR)/Info.plist > $(DESTDIR)$(prefix)/Resources/Info.plist |
---|
1240 | $(LN) -fsn $(VERSION) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/Current |
---|
1241 | $(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/$(PYTHONFRAMEWORK) |
---|
1242 | $(LN) -fsn Versions/Current/Headers $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Headers |
---|
1243 | $(LN) -fsn Versions/Current/Resources $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Resources |
---|
1244 | $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(PYTHONFRAMEWORKPREFIX)/$(LDLIBRARY) |
---|
1245 | |
---|
1246 | # This installs Mac/Lib into the framework |
---|
1247 | # Install a number of symlinks to keep software that expects a normal unix |
---|
1248 | # install (which includes python-config) happy. |
---|
1249 | frameworkinstallmaclib: |
---|
1250 | ln -fs "../../../$(PYTHONFRAMEWORK)" "$(DESTDIR)$(prefix)/lib/python$(VERSION)/config/libpython$(VERSION).a" |
---|
1251 | ln -fs "../../../$(PYTHONFRAMEWORK)" "$(DESTDIR)$(prefix)/lib/python$(VERSION)/config/libpython$(VERSION).dylib" |
---|
1252 | ln -fs "../$(PYTHONFRAMEWORK)" "$(DESTDIR)$(prefix)/lib/libpython$(VERSION).dylib" |
---|
1253 | cd Mac && $(MAKE) installmacsubtree DESTDIR="$(DESTDIR)" |
---|
1254 | |
---|
1255 | # This installs the IDE, the Launcher and other apps into /Applications |
---|
1256 | frameworkinstallapps: |
---|
1257 | cd Mac && $(MAKE) installapps DESTDIR="$(DESTDIR)" |
---|
1258 | |
---|
1259 | # This install the unix python and pythonw tools in /usr/local/bin |
---|
1260 | frameworkinstallunixtools: |
---|
1261 | cd Mac && $(MAKE) installunixtools DESTDIR="$(DESTDIR)" |
---|
1262 | |
---|
1263 | frameworkaltinstallunixtools: |
---|
1264 | cd Mac && $(MAKE) altinstallunixtools DESTDIR="$(DESTDIR)" |
---|
1265 | |
---|
1266 | # This installs the Demos and Tools into the applications directory. |
---|
1267 | # It is not part of a normal frameworkinstall |
---|
1268 | frameworkinstallextras: |
---|
1269 | cd Mac && $(MAKE) installextras DESTDIR="$(DESTDIR)" |
---|
1270 | |
---|
1271 | # This installs a few of the useful scripts in Tools/scripts |
---|
1272 | scriptsinstall: |
---|
1273 | SRCDIR=$(srcdir) $(RUNSHARED) \ |
---|
1274 | $(PYTHON_FOR_BUILD) $(srcdir)/Tools/scripts/setup.py install \ |
---|
1275 | --prefix=$(prefix) \ |
---|
1276 | --install-scripts=$(BINDIR) \ |
---|
1277 | --root=$(DESTDIR)/ |
---|
1278 | |
---|
1279 | # Build the toplevel Makefile |
---|
1280 | Makefile.pre: Makefile.pre.in config.status |
---|
1281 | CONFIG_FILES=Makefile.pre CONFIG_HEADERS= $(SHELL) config.status |
---|
1282 | $(MAKE) -f Makefile.pre Makefile |
---|
1283 | |
---|
1284 | # Run the configure script. |
---|
1285 | config.status: $(srcdir)/configure |
---|
1286 | $(SHELL) $(srcdir)/configure $(CONFIG_ARGS) |
---|
1287 | |
---|
1288 | .PRECIOUS: config.status $(BUILDPYTHON) Makefile Makefile.pre |
---|
1289 | |
---|
1290 | # Some make's put the object file in the current directory |
---|
1291 | .c.o: |
---|
1292 | $(CC) -c $(PY_CFLAGS) -o $@ $< |
---|
1293 | |
---|
1294 | # Run reindent on the library |
---|
1295 | reindent: |
---|
1296 | ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/reindent.py -r $(srcdir)/Lib |
---|
1297 | |
---|
1298 | # Rerun configure with the same options as it was run last time, |
---|
1299 | # provided the config.status script exists |
---|
1300 | recheck: |
---|
1301 | $(SHELL) config.status --recheck |
---|
1302 | $(SHELL) config.status |
---|
1303 | |
---|
1304 | # Rebuild the configure script from configure.ac; also rebuild pyconfig.h.in |
---|
1305 | autoconf: |
---|
1306 | (cd $(srcdir); autoconf) |
---|
1307 | (cd $(srcdir); autoheader) |
---|
1308 | |
---|
1309 | # Create a tags file for vi |
---|
1310 | tags:: |
---|
1311 | cd $(srcdir); \ |
---|
1312 | ctags -w -t Include/*.h; \ |
---|
1313 | for i in $(SRCDIRS); do ctags -w -t -a $$i/*.[ch]; \ |
---|
1314 | done; \ |
---|
1315 | sort -o tags tags |
---|
1316 | |
---|
1317 | # Create a tags file for GNU Emacs |
---|
1318 | TAGS:: |
---|
1319 | cd $(srcdir); \ |
---|
1320 | etags Include/*.h; \ |
---|
1321 | for i in $(SRCDIRS); do etags -a $$i/*.[ch]; done |
---|
1322 | |
---|
1323 | # Touch generated files |
---|
1324 | touch: |
---|
1325 | cd $(srcdir); \ |
---|
1326 | touch Include/Python-ast.h Python/Python-ast.c |
---|
1327 | |
---|
1328 | # Sanitation targets -- clean leaves libraries, executables and tags |
---|
1329 | # files, which clobber removes as well |
---|
1330 | pycremoval: |
---|
1331 | find $(srcdir) -name '*.py[co]' -exec rm -f {} ';' |
---|
1332 | |
---|
1333 | clean: pycremoval |
---|
1334 | find . -name '*.[oa]' -exec rm -f {} ';' |
---|
1335 | find . -name '*.s[ol]' -exec rm -f {} ';' |
---|
1336 | find . -name '*.so.[0-9]*.[0-9]*' -exec rm -f {} ';' |
---|
1337 | find build -name 'fficonfig.h' -exec rm -f {} ';' || true |
---|
1338 | find build -name 'fficonfig.py' -exec rm -f {} ';' || true |
---|
1339 | -rm -f Lib/lib2to3/*Grammar*.pickle |
---|
1340 | |
---|
1341 | profile-removal: |
---|
1342 | find . -name '*.gc??' -exec rm -f {} ';' |
---|
1343 | |
---|
1344 | clobber: clean profile-removal |
---|
1345 | -rm -f $(BUILDPYTHON) $(PGEN) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY) \ |
---|
1346 | tags TAGS \ |
---|
1347 | config.cache config.log pyconfig.h Modules/config.c |
---|
1348 | -rm -rf build platform |
---|
1349 | -rm -rf $(PYTHONFRAMEWORKDIR) |
---|
1350 | |
---|
1351 | # Make things extra clean, before making a distribution: |
---|
1352 | # remove all generated files, even Makefile[.pre] |
---|
1353 | # Keep configure and Python-ast.[ch], it's possible they can't be generated |
---|
1354 | distclean: clobber |
---|
1355 | for file in Lib/test/data/* ; do \ |
---|
1356 | if test "$$file" != "Lib/test/data/README"; then rm "$$file"; fi; \ |
---|
1357 | done |
---|
1358 | -rm -f core Makefile Makefile.pre config.status \ |
---|
1359 | Modules/Setup Modules/Setup.local Modules/Setup.config \ |
---|
1360 | Modules/ld_so_aix Modules/python.exp Misc/python.pc |
---|
1361 | -rm -f python*-gdb.py |
---|
1362 | -rm -f pybuilddir.txt |
---|
1363 | find $(srcdir)/[a-zA-Z]* '(' -name '*.fdc' -o -name '*~' \ |
---|
1364 | -o -name '[@,#]*' -o -name '*.old' \ |
---|
1365 | -o -name '*.orig' -o -name '*.rej' \ |
---|
1366 | -o -name '*.bak' ')' \ |
---|
1367 | -exec rm -f {} ';' |
---|
1368 | |
---|
1369 | # Check for smelly exported symbols (not starting with Py/_Py) |
---|
1370 | smelly: all |
---|
1371 | nm -p $(LIBRARY) | \ |
---|
1372 | sed -n "/ [TDB] /s/.* //p" | grep -v "^_*Py" | sort -u; \ |
---|
1373 | |
---|
1374 | # Find files with funny names |
---|
1375 | funny: |
---|
1376 | find $(SUBDIRS) $(SUBDIRSTOO) -type d \ |
---|
1377 | -o -name '*.[chs]' \ |
---|
1378 | -o -name '*.py' \ |
---|
1379 | -o -name '*.doc' \ |
---|
1380 | -o -name '*.sty' \ |
---|
1381 | -o -name '*.bib' \ |
---|
1382 | -o -name '*.dat' \ |
---|
1383 | -o -name '*.el' \ |
---|
1384 | -o -name '*.fd' \ |
---|
1385 | -o -name '*.in' \ |
---|
1386 | -o -name '*.tex' \ |
---|
1387 | -o -name '*,[vpt]' \ |
---|
1388 | -o -name 'Setup' \ |
---|
1389 | -o -name 'Setup.*' \ |
---|
1390 | -o -name README \ |
---|
1391 | -o -name Makefile \ |
---|
1392 | -o -name ChangeLog \ |
---|
1393 | -o -name Repository \ |
---|
1394 | -o -name Root \ |
---|
1395 | -o -name Entries \ |
---|
1396 | -o -name Tag \ |
---|
1397 | -o -name tags \ |
---|
1398 | -o -name TAGS \ |
---|
1399 | -o -name .cvsignore \ |
---|
1400 | -o -name MANIFEST \ |
---|
1401 | -o -print |
---|
1402 | |
---|
1403 | # Perform some verification checks on any modified files. |
---|
1404 | patchcheck: |
---|
1405 | $(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/patchcheck.py |
---|
1406 | |
---|
1407 | # Dependencies |
---|
1408 | |
---|
1409 | Python/thread.o: $(srcdir)/Python/thread_atheos.h $(srcdir)/Python/thread_beos.h $(srcdir)/Python/thread_cthread.h $(srcdir)/Python/thread_foobar.h $(srcdir)/Python/thread_lwp.h $(srcdir)/Python/thread_nt.h $(srcdir)/Python/thread_os2.h $(srcdir)/Python/thread_pth.h $(srcdir)/Python/thread_pthread.h $(srcdir)/Python/thread_sgi.h $(srcdir)/Python/thread_solaris.h $(srcdir)/Python/thread_wince.h |
---|
1410 | |
---|
1411 | # Declare targets that aren't real files |
---|
1412 | .PHONY: all build_all sharedmods oldsharedmods test quicktest memtest |
---|
1413 | .PHONY: install altinstall oldsharedinstall bininstall altbininstall |
---|
1414 | .PHONY: maninstall libinstall inclinstall libainstall sharedinstall |
---|
1415 | .PHONY: frameworkinstall frameworkinstallframework frameworkinstallstructure |
---|
1416 | .PHONY: frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools |
---|
1417 | .PHONY: frameworkaltinstallunixtools recheck autoconf clean clobber distclean |
---|
1418 | .PHONY: smelly funny patchcheck touch altmaninstall commoninstall |
---|
1419 | .PHONY: gdbhooks |
---|
1420 | |
---|
1421 | # IF YOU PUT ANYTHING HERE IT WILL GO AWAY |
---|
1422 | |
---|
1423 | # Rules appended by makedepend |
---|
1424 | |
---|
1425 | Modules/threadmodule.o: $(srcdir)/Modules/threadmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/threadmodule.c -o Modules/threadmodule.o |
---|
1426 | Modules/threadmodule$(SO): Modules/threadmodule.o; $(BLDSHARED) Modules/threadmodule.o -o Modules/threadmodule$(SO) |
---|
1427 | Modules/signalmodule.o: $(srcdir)/Modules/signalmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/signalmodule.c -o Modules/signalmodule.o |
---|
1428 | Modules/signalmodule$(SO): Modules/signalmodule.o; $(BLDSHARED) Modules/signalmodule.o -o Modules/signalmodule$(SO) |
---|
1429 | Modules/posixmodule.o: $(srcdir)/Modules/posixmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/posixmodule.c -o Modules/posixmodule.o |
---|
1430 | Modules/posixmodule$(SO): Modules/posixmodule.o; $(BLDSHARED) Modules/posixmodule.o -o Modules/posixmodule$(SO) |
---|
1431 | Modules/errnomodule.o: $(srcdir)/Modules/errnomodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/errnomodule.c -o Modules/errnomodule.o |
---|
1432 | Modules/errnomodule$(SO): Modules/errnomodule.o; $(BLDSHARED) Modules/errnomodule.o -o Modules/errnomodule$(SO) |
---|
1433 | Modules/pwdmodule.o: $(srcdir)/Modules/pwdmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/pwdmodule.c -o Modules/pwdmodule.o |
---|
1434 | Modules/pwdmodule$(SO): Modules/pwdmodule.o; $(BLDSHARED) Modules/pwdmodule.o -o Modules/pwdmodule$(SO) |
---|
1435 | Modules/_sre.o: $(srcdir)/Modules/_sre.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/_sre.c -o Modules/_sre.o |
---|
1436 | Modules/_sre$(SO): Modules/_sre.o; $(BLDSHARED) Modules/_sre.o -o Modules/_sre$(SO) |
---|
1437 | Modules/_codecsmodule.o: $(srcdir)/Modules/_codecsmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/_codecsmodule.c -o Modules/_codecsmodule.o |
---|
1438 | Modules/_codecsmodule$(SO): Modules/_codecsmodule.o; $(BLDSHARED) Modules/_codecsmodule.o -o Modules/_codecsmodule$(SO) |
---|
1439 | Modules/_weakref.o: $(srcdir)/Modules/_weakref.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/_weakref.c -o Modules/_weakref.o |
---|
1440 | Modules/_weakref$(SO): Modules/_weakref.o; $(BLDSHARED) Modules/_weakref.o -o Modules/_weakref$(SO) |
---|
1441 | Modules/zipimport.o: $(srcdir)/Modules/zipimport.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/zipimport.c -o Modules/zipimport.o |
---|
1442 | Modules/zipimport$(SO): Modules/zipimport.o; $(BLDSHARED) Modules/zipimport.o -o Modules/zipimport$(SO) |
---|
1443 | Modules/symtablemodule.o: $(srcdir)/Modules/symtablemodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/symtablemodule.c -o Modules/symtablemodule.o |
---|
1444 | Modules/_symtablemodule$(SO): Modules/symtablemodule.o; $(BLDSHARED) Modules/symtablemodule.o -o Modules/_symtablemodule$(SO) |
---|
1445 | Modules/xxsubtype.o: $(srcdir)/Modules/xxsubtype.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/xxsubtype.c -o Modules/xxsubtype.o |
---|
1446 | Modules/xxsubtype$(SO): Modules/xxsubtype.o; $(BLDSHARED) Modules/xxsubtype.o -o Modules/xxsubtype$(SO) |
---|