14adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Generated automatically from Makefile.pre by makesetup. 24adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Top-level Makefile for Python 34adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# 44adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# As distributed, this file is called Makefile.pre.in; it is processed 54adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# into the real Makefile by running the script ./configure, which 64adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# replaces things like @spam@ with values appropriate for your system. 74adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# This means that if you edit Makefile, your changes get lost the next 84adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# time you run the configure script. Ideally, you can do: 94adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# 104adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# ./configure 114adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# make 124adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# make test 134adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# make install 144adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# 154adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# If you have a previous version of Python installed that you don't 164adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# want to overwrite, you can use "make altinstall" instead of "make 174adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# install". Refer to the "Installing" section in the README file for 184adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# additional details. 194adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# 204adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# See also the section "Build instructions" in the README file. 214adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 224adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# === Variables set by makesetup === 234adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 244adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoMODOBJS= Modules/posixmodule.o Modules/threadmodule.o Modules/signalmodule.o Modules/errnomodule.o Modules/_sre.o Modules/_codecsmodule.o Modules/_weakref.o Modules/zipimport.o Modules/symtablemodule.o Modules/xxsubtype.o 254adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoMODLIBS= $(LOCALMODLIBS) $(BASEMODLIBS) 264adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 274adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# === Variables set by configure 284adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoVERSION= 2.7 294adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaosrcdir= /usr/local/google/buildbot/src/android/master-ndk/toolchain/python/Python-2.7.5 304adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoVPATH= /usr/local/google/buildbot/src/android/master-ndk/toolchain/python/Python-2.7.5 314adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoMSYSVPATH= /usr/local/google/buildbot/src/android/master-ndk/toolchain/python/Python-2.7.5 324adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoabs_srcdir= /usr/local/google/buildbot/src/android/master-ndk/toolchain/python/Python-2.7.5 334adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoabs_builddir= /usr/local/google/buildbot/src/android/master-ndk/out/build/buildhost/build-python-linux-x86_64-2.7.5 344adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaobuild= x86_64-pc-linux-gnu 354adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaohost= x86_64-pc-linux-gnu 364adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 374adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoCC= x86_64-linux-gnu-gcc -pthread 384adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoCXX= x86_64-linux-gnu-g++ -pthread 394adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoMAINCC= $(CC) 404adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLINKCC= $(PURIFY) $(MAINCC) 414adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoAR= x86_64-linux-gnu-ar 424adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoRANLIB= x86_64-linux-gnu-ranlib 434adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoSVNVERSION= echo Unversioned directory 444adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoHGVERSION= 454adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoHGTAG= 464adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoHGBRANCH= 474adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 484adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoGNULD= yes 494adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 504adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Shell used by make (some versions default to the login shell, which is bad) 514adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoSHELL= /bin/sh 524adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 534adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Use this to make a link between python$(VERSION) and python in $(BINDIR) 544adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLN= ln 554adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 564adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Portable install script (configure doesn't always guess right) 574adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoINSTALL= /usr/bin/install -c 584adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoINSTALL_PROGRAM=${INSTALL} 594adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoINSTALL_SCRIPT= ${INSTALL} 604adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoINSTALL_DATA= ${INSTALL} -m 644 614adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Shared libraries must be installed with executable mode on some systems; 624adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# rather than figuring out exactly which, we always give them executable mode. 634adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Also, making them read-only seems to be a good idea... 644adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoINSTALL_SHARED= ${INSTALL} -m 555 654adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 664adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoMKDIR_P= /bin/mkdir -p 674adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 684adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoMAKESETUP= $(srcdir)/Modules/makesetup 694adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 704adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Compiler options 714adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoOPT= -DNDEBUG -fwrapv -O3 -Wall -Wstrict-prototypes 724adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoBASECFLAGS= -fno-strict-aliasing 734adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoCFLAGS= $(BASECFLAGS) -O2 -Os -fomit-frame-pointer -s $(OPT) $(EXTRA_CFLAGS) 744adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to 754adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# be able to build extension modules using the directories specified in the 764adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# environment variables 774adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoCPPFLAGS= -I. -IInclude -I$(srcdir)/Include 784adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLDFLAGS= 794adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLDLAST= 804adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoSGI_ABI= 814adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoCCSHARED= -fPIC 824adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLINKFORSHARED= -Xlinker -export-dynamic 834adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoARFLAGS= rc 844adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Extra C flags added for building the interpreter object files. 854adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoCFLAGSFORSHARED= 864adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# C flags used for building the interpreter object files 874adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPY_CFLAGS= $(CFLAGS) $(CPPFLAGS) $(CFLAGSFORSHARED) -DPy_BUILD_CORE 884adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 894adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# ; on Windows otherwise : 904adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoDELIM= : 914adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Machine-dependent subdirectories 924adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoMACHDEP= linux2 934adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 944adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Multiarch directory (may be empty) 954adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoMULTIARCH= x86_64-linux-gnu 964adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 974adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Install prefix for architecture-independent files 984adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoprefix= /usr/local/google/buildbot/src/android/master-ndk/out/build/buildhost/linux-x86_64/install/host-tools 994adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 1004adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Install prefix for architecture-dependent files 1014adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoexec_prefix= ${prefix} 1024adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 1034adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Install prefix for data files 1044adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaodatarootdir= ${prefix}/share 1054adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 1064adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Expanded directories 1074adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoBINDIR= ${exec_prefix}/bin 1084adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLIBDIR= ${exec_prefix}/lib 1094adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoMANDIR= ${datarootdir}/man 1104adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoINCLUDEDIR= ${prefix}/include 1114adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoCONFINCLUDEDIR= $(exec_prefix)/include 1124adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoSCRIPTDIR= $(prefix)/lib 1134adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 1144adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Detailed destination directories 1154adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoBINLIBDEST= $(LIBDIR)/python$(VERSION) 1164adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLIBDEST= $(SCRIPTDIR)/python$(VERSION) 1174adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoINCLUDEPY= $(INCLUDEDIR)/python$(VERSION) 1184adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoCONFINCLUDEPY= $(CONFINCLUDEDIR)/python$(VERSION) 1194adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLIBP= $(LIBDIR)/python$(VERSION) 1204adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 1214adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Symbols used for using shared libraries 1224adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoSO= .so 1234adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLDSHARED= x86_64-linux-gnu-gcc -shared $(LDFLAGS) 1244adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoBLDSHARED= x86_64-linux-gnu-gcc -shared $(LDFLAGS) 1254adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLDCXXSHARED= x86_64-linux-gnu-gcc -shared 1264adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoDESTSHARED= $(BINLIBDEST)/lib-dynload 1274adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 1284adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Executable suffix (.exe on Windows and Mac OS X) 1294adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoEXE= 1304adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoBUILDEXE= 1314adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 1324adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Short name and location for Mac OS X Python framework 1334adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoUNIVERSALSDK= 1344adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPYTHONFRAMEWORK= 1354adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPYTHONFRAMEWORKDIR= no-framework 1364adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPYTHONFRAMEWORKPREFIX= 1374adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPYTHONFRAMEWORKINSTALLDIR= 1384adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Deployment target selected during configure, to be checked 1394adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# by distutils. The export statement is needed to ensure that the 1404adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# deployment target is active during build. 1414adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoMACOSX_DEPLOYMENT_TARGET= 1424adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#export MACOSX_DEPLOYMENT_TARGET 1434adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 1444adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Options to enable prebinding (for fast startup prior to Mac OS X 10.3) 1454adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoOTHER_LIBTOOL_OPT= 1464adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 1474adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Environment to run shared python without installed libraries 1484adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoRUNSHARED= 1494adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 1504adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Modes for directories, executables and data files created by the 1514adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# install process. Default to user-only-writable for all file types. 1524adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoDIRMODE= 755 1534adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoEXEMODE= 755 1544adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoFILEMODE= 644 1554adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 1564adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# configure script arguments 1574adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoCONFIG_ARGS= '--prefix=/usr/local/google/buildbot/src/android/master-ndk/out/build/buildhost/linux-x86_64/install/host-tools' '--build=x86_64-linux-gnu' '--host=x86_64-linux-gnu' '--with-build-sysroot' '--disable-ipv6' 'build_alias=x86_64-linux-gnu' 'host_alias=x86_64-linux-gnu' 'CC=x86_64-linux-gnu-gcc' 'CFLAGS=-O2 -Os -fomit-frame-pointer -s' 'LDFLAGS=' 1584adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 1594adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 1604adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Subdirectories with code 1614adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoSRCDIRS= Parser Grammar Objects Python Modules Mac 1624adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 1634adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Other subdirectories 1644adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoSUBDIRSTOO= Include Lib Misc Demo 1654adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 1664adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Files and directories to be distributed 1674adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoCONFIGFILES= configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in 1684adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoDISTFILES= README ChangeLog $(CONFIGFILES) 1694adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoDISTDIRS= $(SUBDIRS) $(SUBDIRSTOO) Ext-dummy 1704adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoDIST= $(DISTFILES) $(DISTDIRS) 1714adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 1724adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 1734adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLIBRARY= libpython$(VERSION).a 1744adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLDLIBRARY= libpython$(VERSION).a 1754adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoBLDLIBRARY= $(LDLIBRARY) 1764adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoDLLLIBRARY= 1774adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLDLIBRARYDIR= 1784adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoINSTSONAME= $(LDLIBRARY) 1794adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 1804adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 1814adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLIBS= -lpthread -ldl -lutil 1824adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLIBM= -lm 1834adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLIBC= 1844adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoSYSLIBS= $(LIBM) $(LIBC) 1854adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoSHLIBS= $(LIBS) 1864adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 1874adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoTHREADOBJ= Python/thread.o 1884adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoDLINCLDIR= . 1894adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoDYNLOADFILE= dynload_shlib.o 1904adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoMACHDEP_OBJS= 1914adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLIBOBJDIR= Python/ 1924adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLIBOBJS= 1934adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoUNICODE_OBJS= Objects/unicodeobject.o Objects/unicodectype.o 1944adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 1954adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPYTHON= python$(EXE) 1964adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoBUILDPYTHON= python$(BUILDEXE) 1974adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 1984adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPYTHON_FOR_BUILD=./$(BUILDPYTHON) -E 1994adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao_PYTHON_HOST_PLATFORM= 2004adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoHOST_GNU_TYPE= x86_64-pc-linux-gnu 2014adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 2024adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# The task to run while instrument when building the profile-opt target 2034adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPROFILE_TASK= $(srcdir)/Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck 2044adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao#PROFILE_TASK= $(srcdir)/Lib/test/regrtest.py 2054adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 2064adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# === Definitions added by makesetup === 2074adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 2084adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLOCALMODLIBS= 2094adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoBASEMODLIBS= 2104adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoGLHACK=-Dclear=__GLclear 2114adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPYTHONPATH=$(COREPYTHONPATH) 2124adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoCOREPYTHONPATH=$(DESTPATH)$(SITEPATH)$(TESTPATH)$(MACHDEPPATH)$(EXTRAMACHDEPPATH)$(TKPATH)$(OLDPATH) 2134adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoOLDPATH=$(DELIM)lib-old 2144adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoTKPATH=$(DELIM)lib-tk 2154adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoEXTRAMACHDEPPATH= 2164adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoMACHDEPPATH=$(DELIM)plat-$(MACHDEP) 2174adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoTESTPATH= 2184adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoSITEPATH= 2194adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoDESTPATH= 2204adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoMACHDESTLIB=$(BINLIBDEST) 2214adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoDESTLIB=$(LIBDEST) 2224adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 2234adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 2244adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 2254adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao########################################################################## 2264adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Modules 2274adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoMODULE_OBJS= \ 2284adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Modules/config.o \ 2294adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Modules/getpath.o \ 2304adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Modules/main.o \ 2314adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Modules/gcmodule.o 2324adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 2334adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Used of signalmodule.o is not available 2344adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoSIGNAL_OBJS= 2354adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 2364adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 2374adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao########################################################################## 2384adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Grammar 2394adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoGRAMMAR_H= Include/graminit.h 2404adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoGRAMMAR_C= Python/graminit.c 2414adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoGRAMMAR_INPUT= $(srcdir)/Grammar/Grammar 2424adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 2434adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 2444adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLIBFFI_INCLUDEDIR= 2454adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 2464adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao########################################################################## 2474adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Parser 2484adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPGEN= Parser/pgen$(EXE) 2494adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 2504adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPSRCS= \ 2514adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/acceler.c \ 2524adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/grammar1.c \ 2534adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/listnode.c \ 2544adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/node.c \ 2554adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/parser.c \ 2564adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/parsetok.c \ 2574adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/bitset.c \ 2584adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/metagrammar.c \ 2594adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/firstsets.c \ 2604adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/grammar.c \ 2614adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/pgen.c 2624adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 2634adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPOBJS= \ 2644adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/acceler.o \ 2654adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/grammar1.o \ 2664adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/listnode.o \ 2674adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/node.o \ 2684adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/parser.o \ 2694adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/parsetok.o \ 2704adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/bitset.o \ 2714adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/metagrammar.o \ 2724adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/firstsets.o \ 2734adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/grammar.o \ 2744adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/pgen.o 2754adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 2764adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPARSER_OBJS= $(POBJS) Parser/myreadline.o Parser/tokenizer.o 2774adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 2784adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPGSRCS= \ 2794adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/obmalloc.c \ 2804adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/mysnprintf.c \ 2814adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/pyctype.c \ 2824adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/tokenizer_pgen.c \ 2834adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/printgrammar.c \ 2844adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/pgenmain.c 2854adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 2864adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPGOBJS= \ 2874adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/obmalloc.o \ 2884adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/mysnprintf.o \ 2894adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/pyctype.o \ 2904adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/tokenizer_pgen.o \ 2914adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/printgrammar.o \ 2924adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/pgenmain.o 2934adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 2944adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPARSER_HEADERS= \ 2954adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/parser.h \ 2964adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Parser/tokenizer.h 2974adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 2984adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPGENSRCS= $(PSRCS) $(PGSRCS) 2994adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPGENOBJS= $(POBJS) $(PGOBJS) 3004adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 3014adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao########################################################################## 3024adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# AST 3034adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoAST_H_DIR= Include 3044adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoAST_H= $(AST_H_DIR)/Python-ast.h 3054adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoAST_C_DIR= Python 3064adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoAST_C= $(AST_C_DIR)/Python-ast.c 3074adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoAST_ASDL= $(srcdir)/Parser/Python.asdl 3084adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 3094adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoASDLGEN_FILES= $(srcdir)/Parser/asdl.py $(srcdir)/Parser/asdl_c.py 3104adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# XXX Note that a build now requires Python exist before the build starts 3114adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoASDLGEN= $(srcdir)/Parser/asdl_c.py 3124adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 3134adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao########################################################################## 3144adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Python 3154adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPYTHON_OBJS= \ 3164adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/_warnings.o \ 3174adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/Python-ast.o \ 3184adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/asdl.o \ 3194adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/ast.o \ 3204adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/bltinmodule.o \ 3214adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/ceval.o \ 3224adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/compile.o \ 3234adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/codecs.o \ 3244adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/errors.o \ 3254adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/frozen.o \ 3264adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/frozenmain.o \ 3274adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/future.o \ 3284adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/getargs.o \ 3294adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/getcompiler.o \ 3304adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/getcopyright.o \ 3314adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/getplatform.o \ 3324adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/getversion.o \ 3334adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/graminit.o \ 3344adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/import.o \ 3354adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/importdl.o \ 3364adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/marshal.o \ 3374adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/modsupport.o \ 3384adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/mystrtoul.o \ 3394adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/mysnprintf.o \ 3404adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/peephole.o \ 3414adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/pyarena.o \ 3424adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/pyctype.o \ 3434adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/pyfpe.o \ 3444adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/pymath.o \ 3454adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/pystate.o \ 3464adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/pythonrun.o \ 3474adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/random.o \ 3484adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/structmember.o \ 3494adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/symtable.o \ 3504adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/sysmodule.o \ 3514adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/traceback.o \ 3524adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/getopt.o \ 3534adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/pystrcmp.o \ 3544adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/pystrtod.o \ 3554adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/dtoa.o \ 3564adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/formatter_unicode.o \ 3574adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/formatter_string.o \ 3584adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Python/$(DYNLOADFILE) \ 3594adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(LIBOBJS) \ 3604adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(MACHDEP_OBJS) \ 3614adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(THREADOBJ) 3624adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 3634adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 3644adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao########################################################################## 3654adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Objects 3664adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoOBJECT_OBJS= \ 3674adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/abstract.o \ 3684adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/boolobject.o \ 3694adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/bufferobject.o \ 3704adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/bytes_methods.o \ 3714adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/bytearrayobject.o \ 3724adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/capsule.o \ 3734adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/cellobject.o \ 3744adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/classobject.o \ 3754adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/cobject.o \ 3764adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/codeobject.o \ 3774adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/complexobject.o \ 3784adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/descrobject.o \ 3794adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/enumobject.o \ 3804adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/exceptions.o \ 3814adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/genobject.o \ 3824adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/fileobject.o \ 3834adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/floatobject.o \ 3844adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/frameobject.o \ 3854adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/funcobject.o \ 3864adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/intobject.o \ 3874adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/iterobject.o \ 3884adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/listobject.o \ 3894adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/longobject.o \ 3904adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/dictobject.o \ 3914adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/memoryobject.o \ 3924adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/methodobject.o \ 3934adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/moduleobject.o \ 3944adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/object.o \ 3954adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/obmalloc.o \ 3964adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/rangeobject.o \ 3974adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/setobject.o \ 3984adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/sliceobject.o \ 3994adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/stringobject.o \ 4004adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/structseq.o \ 4014adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/tupleobject.o \ 4024adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/typeobject.o \ 4034adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Objects/weakrefobject.o \ 4044adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(UNICODE_OBJS) 4054adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 4064adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 4074adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao########################################################################## 4084adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# objects that get linked into the Python library 4094adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLIBRARY_OBJS= \ 4104adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Modules/getbuildinfo.o \ 4114adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(PARSER_OBJS) \ 4124adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(OBJECT_OBJS) \ 4134adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(PYTHON_OBJS) \ 4144adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(MODULE_OBJS) \ 4154adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(SIGNAL_OBJS) \ 4164adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(MODOBJS) 4174adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 4184adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao######################################################################### 4194adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Rules 4204adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 4214adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Default target 4224adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoall: build_all 4234adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaobuild_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks 4244adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 4254adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Compile a binary with gcc profile guided optimization. 4264adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoprofile-opt: 4274adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @echo "Building with support for profile generation:" 4284adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(MAKE) clean 4294adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(MAKE) build_all_generate_profile 4304adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @echo "Running benchmark to generate profile data:" 4314adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(MAKE) profile-removal 4324adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(MAKE) run_profile_task 4334adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @echo "Rebuilding with profile guided optimizations:" 4344adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(MAKE) clean 4354adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(MAKE) build_all_use_profile 4364adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 4374adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaobuild_all_generate_profile: 4384adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(MAKE) all CFLAGS="$(CFLAGS) -fprofile-generate" LIBS="$(LIBS) -lgcov" 4394adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 4404adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaorun_profile_task: 4414adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao : # FIXME: can't run for a cross build 4424adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ./$(BUILDPYTHON) $(PROFILE_TASK) 4434adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 4444adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaobuild_all_use_profile: 4454adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(MAKE) all CFLAGS="$(CFLAGS) -fprofile-use" 4464adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 4474adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaocoverage: 4484adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @echo "Building with support for coverage checking:" 4494adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(MAKE) clean 4504adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(MAKE) all CFLAGS="$(CFLAGS) -O0 -pg -fprofile-arcs -ftest-coverage" LIBS="$(LIBS) -lgcov" 4514adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 4524adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 4534adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Build the interpreter 4544adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao$(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY) 4554adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(LINKCC) $(LDFLAGS) $(LINKFORSHARED) -o $@ \ 4564adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Modules/python.o \ 4574adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) 4584adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 4594adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoplatform: $(BUILDPYTHON) pybuilddir.txt 4604adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform 4614adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 4624adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Create build directory and generate the sysconfig build-time data there. 4634adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# pybuilddir.txt contains the name of the build dir and is used for 4644adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# sys.path fixup -- see Modules/getpath.c. 4654adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaopybuilddir.txt: $(BUILDPYTHON) 4664adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(RUNSHARED) $(PYTHON_FOR_BUILD) -S -m sysconfig --generate-posix-vars 4674adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 4684adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Build the shared modules 4694adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Under GNU make, MAKEFLAGS are sorted and normalized; the 's' for 4704adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# -s, --silent or --quiet is always the first char. 4714adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Under BSD make, MAKEFLAGS might be " -s -v x=y". 4724adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaosharedmods: $(BUILDPYTHON) pybuilddir.txt 4734adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @case "$$MAKEFLAGS" in \ 4744adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao *\ -s*|s*) quiet="-q";; \ 4754adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao *) quiet="";; \ 4764adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao esac; \ 4774adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ 4784adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build 4794adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 4804adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Build static library 4814adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# avoid long command lines, same as LIBRARY_OBJS 4824adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao$(LIBRARY): $(LIBRARY_OBJS) 4834adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -rm -f $@ 4844adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(AR) $(ARFLAGS) $@ Modules/getbuildinfo.o 4854adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(AR) $(ARFLAGS) $@ $(PARSER_OBJS) 4864adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(AR) $(ARFLAGS) $@ $(OBJECT_OBJS) 4874adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(AR) $(ARFLAGS) $@ $(PYTHON_OBJS) 4884adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(AR) $(ARFLAGS) $@ $(MODULE_OBJS) $(SIGNAL_OBJS) 4894adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(AR) $(ARFLAGS) $@ $(MODOBJS) 4904adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(RANLIB) $@ 4914adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 4924adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaolibpython$(VERSION).so: $(LIBRARY_OBJS) 4934adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test $(INSTSONAME) != $(LDLIBRARY); then \ 4944adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \ 4954adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(LN) -f $(INSTSONAME) $@; \ 4964adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao else \ 4974adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(BLDSHARED) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \ 4984adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi 4994adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 5004adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaolibpython$(VERSION).dylib: $(LIBRARY_OBJS) 5014adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(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); \ 5024adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 5034adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 5044adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaolibpython$(VERSION).sl: $(LIBRARY_OBJS) 5054adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(LDSHARED) -o $@ $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST) 5064adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 5074adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Copy up the gdb python hooks into a position where they can be automatically 5084adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# loaded by gdb during Lib/test/test_gdb.py 5094adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# 5104adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Distributors are likely to want to install this somewhere else e.g. relative 5114adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# to the stripped DWARF data for the shared library. 5124adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaogdbhooks: $(BUILDPYTHON)-gdb.py 5134adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 5144adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoSRC_GDB_HOOKS=$(srcdir)/Tools/gdb/libpython.py 5154adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao$(BUILDPYTHON)-gdb.py: $(SRC_GDB_HOOKS) 5164adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_DATA) $(SRC_GDB_HOOKS) $(BUILDPYTHON)-gdb.py 5174adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 5184adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# This rule is here for OPENSTEP/Rhapsody/MacOSX. It builds a temporary 5194adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# minimal framework (not including the Lib directory and such) in the current 5204adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# directory. 5214adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoRESSRCDIR=Mac/Resources/framework 5224adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): \ 5234adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(LIBRARY) \ 5244adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(RESSRCDIR)/Info.plist 5254adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL) -d -m $(DIRMODE) $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION) 5264adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(CC) -o $(LDLIBRARY) $(LDFLAGS) -dynamiclib \ 5274adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -all_load $(LIBRARY) -Wl,-single_module \ 5284adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -install_name $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK) \ 5294adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -compatibility_version $(VERSION) \ 5304adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -current_version $(VERSION); 5314adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL) -d -m $(DIRMODE) \ 5324adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/Resources/English.lproj 5334adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_DATA) $(RESSRCDIR)/Info.plist \ 5344adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/Resources/Info.plist 5354adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(LN) -fsn $(VERSION) $(PYTHONFRAMEWORKDIR)/Versions/Current 5364adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(PYTHONFRAMEWORKDIR)/$(PYTHONFRAMEWORK) 5374adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(LN) -fsn Versions/Current/Headers $(PYTHONFRAMEWORKDIR)/Headers 5384adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(LN) -fsn Versions/Current/Resources $(PYTHONFRAMEWORKDIR)/Resources 5394adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 5404adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# This rule builds the Cygwin Python DLL and import library if configured 5414adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# for a shared core library; otherwise, this rule is a noop. 5424adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao$(DLLLIBRARY) libpython$(VERSION).dll.a: $(LIBRARY_OBJS) 5434adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test -n "$(DLLLIBRARY)"; then \ 5444adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(LDSHARED) -Wl,--out-implib=$@ -o $(DLLLIBRARY) -static-libgcc $^ \ 5454adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST); \ 5464adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao else true; \ 5474adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi 5484adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 5494adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 5504adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaooldsharedmods: $(SHAREDMODS) 5514adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 5524adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 5534adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoMakefile Modules/config.c: Makefile.pre \ 5544adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(srcdir)/Modules/config.c.in \ 5554adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(MAKESETUP) \ 5564adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Modules/Setup.config \ 5574adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Modules/Setup \ 5584adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Modules/Setup.local 5594adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(SHELL) $(MAKESETUP) -c $(srcdir)/Modules/config.c.in \ 5604adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -s Modules \ 5614adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Modules/Setup.config \ 5624adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Modules/Setup.local \ 5634adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Modules/Setup 5644adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @mv config.c Modules 5654adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @echo "The Makefile was updated, you may need to re-run make." 5664adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 5674adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 5684adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/Setup: $(srcdir)/Modules/Setup.dist 5694adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @if test -f Modules/Setup; then \ 5704adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo "-----------------------------------------------"; \ 5714adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo "Modules/Setup.dist is newer than Modules/Setup;"; \ 5724adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo "check to make sure you have all the updates you"; \ 5734adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo "need in your Modules/Setup file."; \ 5744adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo "Usually, copying Modules/Setup.dist to Modules/Setup will work."; \ 5754adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo "-----------------------------------------------"; \ 5764adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi 5774adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 5784adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao############################################################################ 5794adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Special rules for object files 5804adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 5814adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/getbuildinfo.o: $(PARSER_OBJS) \ 5824adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(OBJECT_OBJS) \ 5834adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(PYTHON_OBJS) \ 5844adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(MODULE_OBJS) \ 5854adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(SIGNAL_OBJS) \ 5864adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(MODOBJS) \ 5874adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(srcdir)/Modules/getbuildinfo.c 5884adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(CC) -c $(PY_CFLAGS) \ 5894adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -DSVNVERSION="\"`LC_ALL=C $(SVNVERSION)`\"" \ 5904adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -DHGVERSION="\"`LC_ALL=C $(HGVERSION)`\"" \ 5914adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -DHGTAG="\"`LC_ALL=C $(HGTAG)`\"" \ 5924adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -DHGBRANCH="\"`LC_ALL=C $(HGBRANCH)`\"" \ 5934adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o $@ $(srcdir)/Modules/getbuildinfo.c 5944adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 5954adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# default sys.path calculations 5964adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/getpath.o: $(srcdir)/Modules/getpath.c Makefile 5974adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(CC) -c $(PY_CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \ 5984adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -DPREFIX='"$(prefix)"' \ 5994adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -DEXEC_PREFIX='"$(exec_prefix)"' \ 6004adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -DVERSION='"$(VERSION)"' \ 6014adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -DVPATH='"$(MSYSVPATH)"' \ 6024adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o $@ $(srcdir)/Modules/getpath.c 6034adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6044adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# default sys.path calculations for windows platforms 6054adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPC/getpathp.o: $(srcdir)/PC/getpathp.c 6064adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(CC) -c $(PY_CFLAGS) -o $@ $(srcdir)/PC/getpathp.c 6074adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6084adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/python.o: $(srcdir)/Modules/python.c 6094adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(MAINCC) -c $(PY_CFLAGS) -o $@ $(srcdir)/Modules/python.c 6104adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6114adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/posixmodule.o: $(srcdir)/Modules/posixmodule.c $(srcdir)/Modules/posixmodule.h 6124adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6134adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/grpmodule.o: $(srcdir)/Modules/grpmodule.c $(srcdir)/Modules/posixmodule.h 6144adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6154adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/pwdmodule.o: $(srcdir)/Modules/pwdmodule.c $(srcdir)/Modules/posixmodule.h 6164adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6174adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao$(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGENSRCS) 6184adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @$(MKDIR_P) Include 6194adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(MAKE) $(PGEN) 6204adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) 6214adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao$(GRAMMAR_C): $(GRAMMAR_H) $(GRAMMAR_INPUT) $(PGENSRCS) 6224adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(MAKE) $(GRAMMAR_H) 6234adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao touch $(GRAMMAR_C) 6244adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6254adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao$(PGEN): $(PGENOBJS) 6264adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN) 6274adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6284adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoParser/grammar.o: $(srcdir)/Parser/grammar.c \ 6294adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(srcdir)/Include/token.h \ 6304adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(srcdir)/Include/grammar.h 6314adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoParser/metagrammar.o: $(srcdir)/Parser/metagrammar.c 6324adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6334adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoParser/tokenizer_pgen.o: $(srcdir)/Parser/tokenizer.c 6344adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6354adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoParser/pgenmain.o: $(srcdir)/Include/parsetok.h 6364adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6374adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao$(AST_H): $(AST_ASDL) $(ASDLGEN_FILES) 6384adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(MKDIR_P) $(AST_H_DIR) 6394adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(ASDLGEN) -h $(AST_H_DIR) $(AST_ASDL) 6404adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6414adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao$(AST_C): $(AST_ASDL) $(ASDLGEN_FILES) 6424adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(MKDIR_P) $(AST_C_DIR) 6434adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(ASDLGEN) -c $(AST_C_DIR) $(AST_ASDL) 6444adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6454adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPython/compile.o Python/symtable.o Python/ast.o: $(GRAMMAR_H) $(AST_H) 6464adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6474adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPython/getplatform.o: $(srcdir)/Python/getplatform.c 6484adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(CC) -c $(PY_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c 6494adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6504adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPython/importdl.o: $(srcdir)/Python/importdl.c 6514adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(CC) -c $(PY_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c 6524adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6534adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoObjects/unicodectype.o: $(srcdir)/Objects/unicodectype.c \ 6544adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(srcdir)/Objects/unicodetype_db.h 6554adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6564adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoSTRINGLIB_HEADERS= \ 6574adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(srcdir)/Include/bytes_methods.h \ 6584adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(srcdir)/Objects/stringlib/count.h \ 6594adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(srcdir)/Objects/stringlib/ctype.h \ 6604adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(srcdir)/Objects/stringlib/fastsearch.h \ 6614adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(srcdir)/Objects/stringlib/find.h \ 6624adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(srcdir)/Objects/stringlib/formatter.h \ 6634adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(srcdir)/Objects/stringlib/partition.h \ 6644adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(srcdir)/Objects/stringlib/split.h \ 6654adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(srcdir)/Objects/stringlib/stringdefs.h \ 6664adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(srcdir)/Objects/stringlib/string_format.h \ 6674adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(srcdir)/Objects/stringlib/transmogrify.h \ 6684adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(srcdir)/Objects/stringlib/unicodedefs.h \ 6694adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(srcdir)/Objects/stringlib/localeutil.h 6704adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6714adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoObjects/unicodeobject.o: $(srcdir)/Objects/unicodeobject.c \ 6724adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(STRINGLIB_HEADERS) 6734adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6744adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoObjects/bytearrayobject.o: $(srcdir)/Objects/bytearrayobject.c \ 6754adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(STRINGLIB_HEADERS) 6764adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6774adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoObjects/stringobject.o: $(srcdir)/Objects/stringobject.c \ 6784adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(STRINGLIB_HEADERS) 6794adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6804adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPython/formatter_unicode.o: $(srcdir)/Python/formatter_unicode.c \ 6814adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(STRINGLIB_HEADERS) 6824adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6834adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPython/formatter_string.o: $(srcdir)/Python/formatter_string.c \ 6844adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(STRINGLIB_HEADERS) 6854adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6864adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao############################################################################ 6874adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Header files 6884adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 6894adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPYTHON_HEADERS= \ 6904adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/Python-ast.h \ 6914adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/Python.h \ 6924adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/abstract.h \ 6934adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/asdl.h \ 6944adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/ast.h \ 6954adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/bitset.h \ 6964adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/boolobject.h \ 6974adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/bytearrayobject.h \ 6984adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/bytes_methods.h \ 6994adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/bytesobject.h \ 7004adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/bufferobject.h \ 7014adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/cellobject.h \ 7024adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/ceval.h \ 7034adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/classobject.h \ 7044adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/cobject.h \ 7054adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/code.h \ 7064adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/codecs.h \ 7074adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/compile.h \ 7084adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/complexobject.h \ 7094adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/descrobject.h \ 7104adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/dictobject.h \ 7114adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/dtoa.h \ 7124adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/enumobject.h \ 7134adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/errcode.h \ 7144adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/eval.h \ 7154adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/fileobject.h \ 7164adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/floatobject.h \ 7174adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/frameobject.h \ 7184adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/funcobject.h \ 7194adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/genobject.h \ 7204adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/import.h \ 7214adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/intobject.h \ 7224adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/intrcheck.h \ 7234adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/iterobject.h \ 7244adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/listobject.h \ 7254adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/longintrepr.h \ 7264adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/longobject.h \ 7274adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/marshal.h \ 7284adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/memoryobject.h \ 7294adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/metagrammar.h \ 7304adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/methodobject.h \ 7314adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/modsupport.h \ 7324adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/moduleobject.h \ 7334adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/node.h \ 7344adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/object.h \ 7354adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/objimpl.h \ 7364adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/opcode.h \ 7374adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/osdefs.h \ 7384adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/parsetok.h \ 7394adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/patchlevel.h \ 7404adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/pgen.h \ 7414adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/pgenheaders.h \ 7424adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/pyarena.h \ 7434adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/pycapsule.h \ 7444adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/pyctype.h \ 7454adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/pydebug.h \ 7464adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/pyerrors.h \ 7474adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/pyfpe.h \ 7484adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/pymath.h \ 7494adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/pygetopt.h \ 7504adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/pymem.h \ 7514adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/pyport.h \ 7524adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/pystate.h \ 7534adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/pystrcmp.h \ 7544adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/pystrtod.h \ 7554adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/pythonrun.h \ 7564adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/pythread.h \ 7574adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/rangeobject.h \ 7584adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/setobject.h \ 7594adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/sliceobject.h \ 7604adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/stringobject.h \ 7614adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/structmember.h \ 7624adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/structseq.h \ 7634adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/symtable.h \ 7644adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/sysmodule.h \ 7654adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/traceback.h \ 7664adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/tupleobject.h \ 7674adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/ucnhash.h \ 7684adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/unicodeobject.h \ 7694adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/warnings.h \ 7704adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Include/weakrefobject.h \ 7714adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao pyconfig.h \ 7724adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(PARSER_HEADERS) 7734adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 7744adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao$(LIBRARY_OBJS) $(MODOBJS) Modules/python.o: $(PYTHON_HEADERS) 7754adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 7764adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 7774adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao###################################################################### 7784adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 7794adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Test the interpreter (twice, once without .pyc files, once with) 7804adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# In the past, we've had problems where bugs in the marshalling or 7814adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# elsewhere caused bytecode read from .pyc files to behave differently 7824adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# than bytecode generated directly from a .py source file. Sometimes 7834adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# the bytecode read from a .pyc file had the bug, sometimes the directly 7844adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# generated bytecode. This is sometimes a very shy bug needing a lot of 7854adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# sample data. 7864adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 7874adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoTESTOPTS= -l $(EXTRATESTOPTS) 7884adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoTESTPROG= $(srcdir)/Lib/test/regrtest.py 7894adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoTESTPYTHON= $(RUNSHARED) ./$(BUILDPYTHON) -Wd -3 -E -tt $(TESTPYTHONOPTS) 7904adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaotest: all platform 7914adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f 7924adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -$(TESTPYTHON) $(TESTPROG) $(TESTOPTS) 7934adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(TESTPYTHON) $(TESTPROG) $(TESTOPTS) 7944adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 7954adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaotestall: all platform 7964adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f 7974adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(TESTPYTHON) $(srcdir)/Lib/compileall.py 7984adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f 7994adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -$(TESTPYTHON) $(TESTPROG) -uall $(TESTOPTS) 8004adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(TESTPYTHON) $(TESTPROG) -uall $(TESTOPTS) 8014adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 8024adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Run the unitests for both architectures in a Universal build on OSX 8034adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Must be run on an Intel box. 8044adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaotestuniversal: all platform 8054adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if [ `arch` != 'i386' ];then \ 8064adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo "This can only be used on OSX/i386" ;\ 8074adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao exit 1 ;\ 8084adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi 8094adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f 8104adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -$(TESTPYTHON) $(TESTPROG) -uall $(TESTOPTS) 8114adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(TESTPYTHON) $(TESTPROG) -uall $(TESTOPTS) 8124adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(RUNSHARED) /usr/libexec/oah/translate ./$(BUILDPYTHON) -E -tt $(TESTPROG) -uall $(TESTOPTS) 8134adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 8144adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 8154adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Like testall, but with a single pass only 8164adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# run an optional script to include some information about the build environment 8174adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaobuildbottest: all platform 8184adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -@if which pybuildbot.identify >/dev/null 2>&1; then \ 8194adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao pybuildbot.identify "CC='$(CC)'" "CXX='$(CXX)'"; \ 8204adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi 8214adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(TESTPYTHON) -R $(TESTPROG) -uall -rwW $(TESTOPTS) 8224adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 8234adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoQUICKTESTOPTS= $(TESTOPTS) -x test_subprocess test_io test_lib2to3 \ 8244adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao test_multibytecodec test_urllib2_localnet test_itertools \ 8254adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao test_multiprocessing test_mailbox test_socket test_poll \ 8264adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao test_select test_zipfile 8274adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoquicktest: all platform 8284adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f 8294adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -$(TESTPYTHON) $(TESTPROG) $(QUICKTESTOPTS) 8304adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(TESTPYTHON) $(TESTPROG) $(QUICKTESTOPTS) 8314adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 8324adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoMEMTESTOPTS= $(QUICKTESTOPTS) -x test_dl test___all__ test_fork1 \ 8334adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao test_longexp 8344adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaomemtest: all platform 8354adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -rm -f $(srcdir)/Lib/test/*.py[co] 8364adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -$(TESTPYTHON) $(TESTPROG) $(MEMTESTOPTS) 8374adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(TESTPYTHON) $(TESTPROG) $(MEMTESTOPTS) 8384adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 8394adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Install everything 8404adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoinstall: altinstall bininstall maninstall 8414adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 8424adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Install almost everything without disturbing previous versions 8434adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoaltinstall: altbininstall libinstall inclinstall \ 8444adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao libainstall altmaninstall \ 8454adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao sharedinstall oldsharedinstall 8464adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 8474adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Install shared libraries enabled by Setup 8484adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoDESTDIRS= $(exec_prefix) $(LIBDIR) $(BINLIBDEST) $(DESTSHARED) 8494adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 8504adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaooldsharedinstall: $(DESTSHARED) $(SHAREDMODS) 8514adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @for i in X $(SHAREDMODS); do \ 8524adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test $$i != X; then \ 8534adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo $(INSTALL_SHARED) $$i $(DESTSHARED)/`basename $$i`; \ 8544adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_SHARED) $$i $(DESTDIR)$(DESTSHARED)/`basename $$i`; \ 8554adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi; \ 8564adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao done 8574adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 8584adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao$(DESTSHARED): 8594adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @for i in $(DESTDIRS); \ 8604adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao do \ 8614adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test ! -d $(DESTDIR)$$i; then \ 8624adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo "Creating directory $$i"; \ 8634adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \ 8644adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao else true; \ 8654adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi; \ 8664adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao done 8674adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 8684adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 8694adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Install the interpreter by creating a symlink chain: 8704adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# $(PYTHON) -> python2 -> python$(VERSION)) 8714adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Also create equivalent chains for other installed files 8724adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaobininstall: altbininstall 8734adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -if test -f $(DESTDIR)$(BINDIR)/$(PYTHON) -o -h $(DESTDIR)$(BINDIR)/$(PYTHON); \ 8744adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); \ 8754adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao else true; \ 8764adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi 8774adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -rm -f $(DESTDIR)$(BINDIR)/python2$(EXE) 8784adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) python2$(EXE)) 8794adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao (cd $(DESTDIR)$(BINDIR); $(LN) -s python2$(EXE) $(PYTHON)) 8804adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -rm -f $(DESTDIR)$(BINDIR)/python2-config 8814adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python2-config) 8824adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -rm -f $(DESTDIR)$(BINDIR)/python-config 8834adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao (cd $(DESTDIR)$(BINDIR); $(LN) -s python2-config python-config) 8844adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -test -d $(DESTDIR)$(LIBPC) || $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(LIBPC) 8854adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -rm -f $(DESTDIR)$(LIBPC)/python2.pc 8864adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python2.pc) 8874adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -rm -f $(DESTDIR)$(LIBPC)/python.pc 8884adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao (cd $(DESTDIR)$(LIBPC); $(LN) -s python2.pc python.pc) 8894adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 8904adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Install the interpreter with $(VERSION) affixed 8914adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# This goes into $(exec_prefix) 8924adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoaltbininstall: $(BUILDPYTHON) 8934adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @for i in $(BINDIR) $(LIBDIR); \ 8944adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao do \ 8954adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test ! -d $(DESTDIR)$$i; then \ 8964adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo "Creating directory $$i"; \ 8974adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \ 8984adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao else true; \ 8994adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi; \ 9004adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao done 9014adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(BINDIR)/python$(VERSION)$(EXE) 9024adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test -f $(LDLIBRARY); then \ 9034adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test -n "$(DLLLIBRARY)" ; then \ 9044adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_SHARED) $(DLLLIBRARY) $(DESTDIR)$(BINDIR); \ 9054adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao mkdir -p $(DESTDIR)$(LIBPL); $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(LIBPL); \ 9064adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao else \ 9074adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(LIBDIR)/$(INSTSONAME); \ 9084adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test $(LDLIBRARY) != $(INSTSONAME); then \ 9094adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao (cd $(DESTDIR)$(LIBDIR); $(LN) -sf $(INSTSONAME) $(LDLIBRARY)) \ 9104adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi \ 9114adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi; \ 9124adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao else true; \ 9134adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi 9144adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 9154adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Install the versioned manual page 9164adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoaltmaninstall: 9174adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @for i in $(MANDIR) $(MANDIR)/man1; \ 9184adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao do \ 9194adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test ! -d $(DESTDIR)$$i; then \ 9204adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo "Creating directory $$i"; \ 9214adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \ 9224adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao else true; \ 9234adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi; \ 9244adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao done 9254adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_DATA) $(srcdir)/Misc/python.man \ 9264adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(DESTDIR)$(MANDIR)/man1/python$(VERSION).1 9274adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 9284adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Install the unversioned manual pages 9294adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaomaninstall: altmaninstall 9304adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -rm -f $(DESTDIR)$(MANDIR)/man1/python2.1 9314adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao (cd $(DESTDIR)$(MANDIR)/man1; $(LN) -s python$(VERSION).1 python2.1) 9324adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -rm -f $(DESTDIR)$(MANDIR)/man1/python.1 9334adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao (cd $(DESTDIR)$(MANDIR)/man1; $(LN) -s python2.1 python.1) 9344adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 9354adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Install the library 9364adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPLATDIR= plat-$(MACHDEP) 9374adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoEXTRAPLATDIR= 9384adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoEXTRAMACHDEPPATH= 9394adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoMACHDEPS= $(PLATDIR) $(EXTRAPLATDIR) 9404adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoXMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax 9414adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPLATMACDIRS= plat-mac plat-mac/Carbon plat-mac/lib-scriptpackages \ 9424adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao plat-mac/lib-scriptpackages/_builtinSuites \ 9434adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao plat-mac/lib-scriptpackages/CodeWarrior \ 9444adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao plat-mac/lib-scriptpackages/Explorer \ 9454adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao plat-mac/lib-scriptpackages/Finder \ 9464adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao plat-mac/lib-scriptpackages/Netscape \ 9474adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao plat-mac/lib-scriptpackages/StdSuites \ 9484adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao plat-mac/lib-scriptpackages/SystemEvents \ 9494adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao plat-mac/lib-scriptpackages/Terminal 9504adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPLATMACPATH=:plat-mac:plat-mac/lib-scriptpackages 9514adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLIBSUBDIRS= lib-tk lib-tk/test lib-tk/test/test_tkinter \ 9524adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao lib-tk/test/test_ttk site-packages test test/data \ 9534adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao test/cjkencodings test/decimaltestdata test/xmltestdata test/subprocessdata \ 9544adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao test/tracedmodules \ 9554adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao encodings compiler hotshot \ 9564adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao email email/mime email/test email/test/data \ 9574adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao json json/tests \ 9584adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao sqlite3 sqlite3/test \ 9594adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao logging bsddb bsddb/test csv importlib wsgiref \ 9604adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao lib2to3 lib2to3/fixes lib2to3/pgen2 lib2to3/tests \ 9614adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao lib2to3/tests/data lib2to3/tests/data/fixers lib2to3/tests/data/fixers/myfixes \ 9624adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ctypes ctypes/test ctypes/macholib idlelib idlelib/Icons \ 9634adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao distutils distutils/command distutils/tests $(XMLLIBSUBDIRS) \ 9644adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao multiprocessing multiprocessing/dummy \ 9654adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao unittest unittest/test \ 9664adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao lib-old \ 9674adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao curses pydoc_data $(MACHDEPS) 9684adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaolibinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c 9694adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @for i in $(SCRIPTDIR) $(LIBDEST); \ 9704adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao do \ 9714adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test ! -d $(DESTDIR)$$i; then \ 9724adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo "Creating directory $$i"; \ 9734adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \ 9744adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao else true; \ 9754adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi; \ 9764adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao done 9774adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @for d in $(LIBSUBDIRS); \ 9784adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao do \ 9794adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao a=$(srcdir)/Lib/$$d; \ 9804adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test ! -d $$a; then continue; else true; fi; \ 9814adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao b=$(LIBDEST)/$$d; \ 9824adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test ! -d $(DESTDIR)$$b; then \ 9834adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo "Creating directory $$b"; \ 9844adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$b; \ 9854adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao else true; \ 9864adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi; \ 9874adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao done 9884adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @for i in $(srcdir)/Lib/*.py `cat pybuilddir.txt`/_sysconfigdata.py $(srcdir)/Lib/*.doc $(srcdir)/Lib/*.egg-info ; \ 9894adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao do \ 9904adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test -x $$i; then \ 9914adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_SCRIPT) $$i $(DESTDIR)$(LIBDEST); \ 9924adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo $(INSTALL_SCRIPT) $$i $(LIBDEST); \ 9934adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao else \ 9944adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_DATA) $$i $(DESTDIR)$(LIBDEST); \ 9954adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo $(INSTALL_DATA) $$i $(LIBDEST); \ 9964adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi; \ 9974adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao done 9984adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @for d in $(LIBSUBDIRS); \ 9994adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao do \ 10004adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao a=$(srcdir)/Lib/$$d; \ 10014adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test ! -d $$a; then continue; else true; fi; \ 10024adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test `ls $$a | wc -l` -lt 1; then continue; fi; \ 10034adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao b=$(LIBDEST)/$$d; \ 10044adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao for i in $$a/*; \ 10054adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao do \ 10064adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao case $$i in \ 10074adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao *CVS) ;; \ 10084adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao *.py[co]) ;; \ 10094adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao *.orig) ;; \ 10104adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao *~) ;; \ 10114adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao *) \ 10124adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test -d $$i; then continue; fi; \ 10134adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test -x $$i; then \ 10144adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo $(INSTALL_SCRIPT) $$i $$b; \ 10154adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_SCRIPT) $$i $(DESTDIR)$$b; \ 10164adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao else \ 10174adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo $(INSTALL_DATA) $$i $$b; \ 10184adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_DATA) $$i $(DESTDIR)$$b; \ 10194adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi;; \ 10204adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao esac; \ 10214adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao done; \ 10224adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao done 10234adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt 10244adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test -d $(DESTDIR)$(LIBDEST)/distutils/tests; then \ 10254adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \ 10264adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(DESTDIR)$(LIBDEST)/distutils/tests ; \ 10274adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi 10284adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ 10294adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(PYTHON_FOR_BUILD) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \ 10304adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -d $(LIBDEST) -f \ 10314adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ 10324adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(DESTDIR)$(LIBDEST) 10334adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ 10344adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(PYTHON_FOR_BUILD) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \ 10354adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -d $(LIBDEST) -f \ 10364adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ 10374adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(DESTDIR)$(LIBDEST) 10384adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ 10394adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(PYTHON_FOR_BUILD) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \ 10404adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -d $(LIBDEST)/site-packages -f \ 10414adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages 10424adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ 10434adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(PYTHON_FOR_BUILD) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \ 10444adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -d $(LIBDEST)/site-packages -f \ 10454adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages 10464adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ 10474adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt 10484adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ 10494adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt 10504adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 10514adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Create the PLATDIR source directory, if one wasn't distributed.. 10524adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao$(srcdir)/Lib/$(PLATDIR): 10534adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao mkdir $(srcdir)/Lib/$(PLATDIR) 10544adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao cp $(srcdir)/Lib/plat-generic/regen $(srcdir)/Lib/$(PLATDIR)/regen 10554adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao export PATH; PATH="`pwd`:$$PATH"; \ 10564adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao export PYTHONPATH; PYTHONPATH="$(srcdir)/Lib:$(abs_builddir)/`cat pybuilddir.txt`"; \ 10574adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao export DYLD_FRAMEWORK_PATH; DYLD_FRAMEWORK_PATH="`pwd`"; \ 10584adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao export EXE; EXE="$(BUILDEXE)"; \ 10594adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if [ -n "$(MULTIARCH)" ]; then export MULTIARCH; MULTIARCH=$(MULTIARCH); fi; \ 10604adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao export PYTHON_FOR_BUILD; \ 10614adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if [ "$(build)" = "$(host)" ]; then \ 10624adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao PYTHON_FOR_BUILD="$(BUILDPYTHON)"; \ 10634adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao else \ 10644adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao PYTHON_FOR_BUILD="$(PYTHON_FOR_BUILD)"; \ 10654adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi; \ 10664adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen "$(CC)" 10674adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 10684adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaopython-config: $(srcdir)/Misc/python-config.in 10694adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao # Substitution happens here, as the completely-expanded BINDIR 10704adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao # is not available in configure 10714adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config 10724adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR} 10734adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao sed -e "s,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g" < Misc/python-config.sh >python-config.sh 10744adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 10754adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Install the include files 10764adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoINCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY) 10774adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoinclinstall: 10784adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @for i in $(INCLDIRSTOMAKE); \ 10794adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao do \ 10804adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test ! -d $(DESTDIR)$$i; then \ 10814adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo "Creating directory $$i"; \ 10824adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \ 10834adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao else true; \ 10844adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi; \ 10854adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao done 10864adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @for i in $(srcdir)/Include/*.h; \ 10874adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao do \ 10884adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo $(INSTALL_DATA) $$i $(INCLUDEPY); \ 10894adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_DATA) $$i $(DESTDIR)$(INCLUDEPY); \ 10904adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao done 10914adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_DATA) pyconfig.h $(DESTDIR)$(CONFINCLUDEPY)/pyconfig.h 10924adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 10934adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Install the library and miscellaneous stuff needed for extending/embedding 10944adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# This goes into $(exec_prefix) 10954adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLIBPL= $(LIBP)/config 10964adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 10974adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# pkgconfig directory 10984adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoLIBPC= $(LIBDIR)/pkgconfig 10994adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 11004adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaolibainstall: all python-config 11014adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @for i in $(LIBDIR) $(LIBP) $(LIBPL) $(LIBPC); \ 11024adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao do \ 11034adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test ! -d $(DESTDIR)$$i; then \ 11044adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo "Creating directory $$i"; \ 11054adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \ 11064adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao else true; \ 11074adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi; \ 11084adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao done 11094adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @if test -d $(LIBRARY); then :; else \ 11104adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \ 11114adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test "$(SO)" = .dll; then \ 11124adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \ 11134adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao else \ 11144adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \ 11154adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(RANLIB) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \ 11164adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi; \ 11174adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao else \ 11184adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo Skip install of $(LIBRARY) - use make frameworkinstall; \ 11194adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi; \ 11204adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi 11214adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_DATA) Modules/config.c $(DESTDIR)$(LIBPL)/config.c 11224adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_DATA) Modules/python.o $(DESTDIR)$(LIBPL)/python.o 11234adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in 11244adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_DATA) Makefile $(DESTDIR)$(LIBPL)/Makefile 11254adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_DATA) Modules/Setup $(DESTDIR)$(LIBPL)/Setup 11264adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_DATA) Modules/Setup.local $(DESTDIR)$(LIBPL)/Setup.local 11274adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_DATA) Modules/Setup.config $(DESTDIR)$(LIBPL)/Setup.config 11284adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_DATA) Misc/python.pc $(DESTDIR)$(LIBPC)/python-$(VERSION).pc 11294adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup 11304adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh 11314adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(VERSION)-config 11324adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_SCRIPT) python-config.sh $(DESTDIR)$(BINDIR)/python-config.sh 11334adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao rm python-config 11344adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @if [ -s Modules/python.exp -a \ 11354adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \ 11364adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo; echo "Installing support files for building shared extension modules on AIX:"; \ 11374adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_DATA) Modules/python.exp \ 11384adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(DESTDIR)$(LIBPL)/python.exp; \ 11394adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo; echo "$(LIBPL)/python.exp"; \ 11404adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_SCRIPT) $(srcdir)/Modules/makexp_aix \ 11414adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(DESTDIR)$(LIBPL)/makexp_aix; \ 11424adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo "$(LIBPL)/makexp_aix"; \ 11434adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_SCRIPT) $(srcdir)/Modules/ld_so_aix \ 11444adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(DESTDIR)$(LIBPL)/ld_so_aix; \ 11454adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo "$(LIBPL)/ld_so_aix"; \ 11464adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo; echo "See Misc/AIX-NOTES for details."; \ 11474adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao else true; \ 11484adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi 11494adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @case "$(MACHDEP)" in beos*) \ 11504adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo; echo "Installing support files for building shared extension modules on BeOS:"; \ 11514adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_DATA) Misc/BeOS-NOTES $(DESTDIR)$(LIBPL)/README; \ 11524adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo; echo "$(LIBPL)/README"; \ 11534adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_SCRIPT) Modules/ar_beos $(DESTDIR)$(LIBPL)/ar_beos; \ 11544adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo "$(LIBPL)/ar_beos"; \ 11554adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_SCRIPT) Modules/ld_so_beos $(DESTDIR)$(LIBPL)/ld_so_beos; \ 11564adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo "$(LIBPL)/ld_so_beos"; \ 11574adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo; echo "See Misc/BeOS-NOTES for details."; \ 11584adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ;; \ 11594adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao esac 11604adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 11614adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Install the dynamically loadable modules 11624adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# This goes into $(exec_prefix) 11634adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaosharedinstall: sharedmods 11644adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ 11654adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao --prefix=$(prefix) \ 11664adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao --install-scripts=$(BINDIR) \ 11674adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao --install-platlib=$(DESTSHARED) \ 11684adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao --root=$(DESTDIR)/ 11694adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -rm $(DESTDIR)$(DESTSHARED)/_sysconfigdata.py* 11704adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 11714adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Here are a couple of targets for MacOSX again, to install a full 11724adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# framework-based Python. frameworkinstall installs everything, the 11734adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# subtargets install specific parts. Much of the actual work is offloaded to 11744adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# the Makefile in Mac 11754adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# 11764adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# 11774adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# This target is here for backward compatiblity, previous versions of Python 11784adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# hadn't integrated framework installation in the normal install process. 11794adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoframeworkinstall: install 11804adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 11814adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# On install, we re-make the framework 11824adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# structure in the install location, /Library/Frameworks/ or the argument to 11834adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# --enable-framework. If --enable-framework has been specified then we have 11844adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# automatically set prefix to the location deep down in the framework, so we 11854adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# only have to cater for the structural bits of the framework. 11864adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 11874adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoframeworkinstallframework: frameworkinstallstructure install frameworkinstallmaclib 11884adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 11894adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoframeworkinstallstructure: $(LDLIBRARY) 11904adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \ 11914adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo Not configured with --enable-framework; \ 11924adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao exit 1; \ 11934adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao else true; \ 11944adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi 11954adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao @for i in $(prefix)/Resources/English.lproj $(prefix)/lib; do\ 11964adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test ! -d $(DESTDIR)$$i; then \ 11974adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao echo "Creating directory $(DESTDIR)$$i"; \ 11984adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \ 11994adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao else true; \ 12004adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao fi; \ 12014adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao done 12024adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(LN) -fsn include/python$(VERSION) $(DESTDIR)$(prefix)/Headers 12034adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao sed 's/%VERSION%/'"`$(RUNSHARED) ./$(BUILDPYTHON) -c 'import platform; print platform.python_version()'`"'/g' < $(RESSRCDIR)/Info.plist > $(DESTDIR)$(prefix)/Resources/Info.plist 12044adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(LN) -fsn $(VERSION) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/Current 12054adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/$(PYTHONFRAMEWORK) 12064adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(LN) -fsn Versions/Current/Headers $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Headers 12074adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(LN) -fsn Versions/Current/Resources $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Resources 12084adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(PYTHONFRAMEWORKPREFIX)/$(LDLIBRARY) 12094adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 12104adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# This installs Mac/Lib into the framework 12114adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Install a number of symlinks to keep software that expects a normal unix 12124adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# install (which includes python-config) happy. 12134adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoframeworkinstallmaclib: 12144adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ln -fs "../../../$(PYTHONFRAMEWORK)" "$(DESTDIR)$(prefix)/lib/python$(VERSION)/config/libpython$(VERSION).a" 12154adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ln -fs "../../../$(PYTHONFRAMEWORK)" "$(DESTDIR)$(prefix)/lib/python$(VERSION)/config/libpython$(VERSION).dylib" 12164adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ln -fs "../$(PYTHONFRAMEWORK)" "$(DESTDIR)$(prefix)/lib/libpython$(VERSION).dylib" 12174adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao cd Mac && $(MAKE) installmacsubtree DESTDIR="$(DESTDIR)" 12184adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 12194adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# This installs the IDE, the Launcher and other apps into /Applications 12204adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoframeworkinstallapps: 12214adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao cd Mac && $(MAKE) installapps DESTDIR="$(DESTDIR)" 12224adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 12234adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# This install the unix python and pythonw tools in /usr/local/bin 12244adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoframeworkinstallunixtools: 12254adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao cd Mac && $(MAKE) installunixtools DESTDIR="$(DESTDIR)" 12264adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 12274adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoframeworkaltinstallunixtools: 12284adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao cd Mac && $(MAKE) altinstallunixtools DESTDIR="$(DESTDIR)" 12294adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 12304adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# This installs the Demos and Tools into the applications directory. 12314adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# It is not part of a normal frameworkinstall 12324adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoframeworkinstallextras: 12334adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao cd Mac && $(MAKE) installextras DESTDIR="$(DESTDIR)" 12344adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 12354adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# This installs a few of the useful scripts in Tools/scripts 12364adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoscriptsinstall: 12374adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao SRCDIR=$(srcdir) $(RUNSHARED) \ 12384adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(PYTHON_FOR_BUILD) $(srcdir)/Tools/scripts/setup.py install \ 12394adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao --prefix=$(prefix) \ 12404adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao --install-scripts=$(BINDIR) \ 12414adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao --root=$(DESTDIR)/ 12424adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 12434adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Build the toplevel Makefile 12444adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoMakefile.pre: Makefile.pre.in config.status 12454adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao CONFIG_FILES=Makefile.pre CONFIG_HEADERS= $(SHELL) config.status 12464adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(MAKE) -f Makefile.pre Makefile 12474adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 12484adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Run the configure script. 12494adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoconfig.status: $(srcdir)/configure 12504adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(SHELL) $(srcdir)/configure $(CONFIG_ARGS) 12514adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 12524adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao.PRECIOUS: config.status $(BUILDPYTHON) Makefile Makefile.pre 12534adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 12544adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Some make's put the object file in the current directory 12554adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao.c.o: 12564adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(CC) -c $(PY_CFLAGS) -o $@ $< 12574adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 12584adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Run reindent on the library 12594adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoreindent: 12604adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/reindent.py -r $(srcdir)/Lib 12614adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 12624adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Rerun configure with the same options as it was run last time, 12634adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# provided the config.status script exists 12644adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaorecheck: 12654adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(SHELL) config.status --recheck 12664adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(SHELL) config.status 12674adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 12684adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Rebuild the configure script from configure.ac; also rebuild pyconfig.h.in 12694adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoautoconf: 12704adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao (cd $(srcdir); autoconf) 12714adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao (cd $(srcdir); autoheader) 12724adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 12734adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Create a tags file for vi 12744adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaotags:: 12754adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao cd $(srcdir); \ 12764adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao ctags -w -t Include/*.h; \ 12774adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao for i in $(SRCDIRS); do ctags -w -t -a $$i/*.[ch]; \ 12784adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao done; \ 12794adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao sort -o tags tags 12804adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 12814adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Create a tags file for GNU Emacs 12824adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoTAGS:: 12834adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao cd $(srcdir); \ 12844adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao etags Include/*.h; \ 12854adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao for i in $(SRCDIRS); do etags -a $$i/*.[ch]; done 12864adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 12874adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Touch generated files 12884adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaotouch: 12894adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao touch Include/Python-ast.h Python/Python-ast.c 12904adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 12914adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Sanitation targets -- clean leaves libraries, executables and tags 12924adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# files, which clobber removes as well 12934adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaopycremoval: 12944adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao find $(srcdir) -name '*.py[co]' -exec rm -f {} ';' 12954adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 12964adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoclean: pycremoval 12974adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao find . -name '*.[oa]' -exec rm -f {} ';' 12984adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao find . -name '*.s[ol]' -exec rm -f {} ';' 12994adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao find . -name '*.so.[0-9]*.[0-9]*' -exec rm -f {} ';' 13004adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao find build -name 'fficonfig.h' -exec rm -f {} ';' || true 13014adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao find build -name 'fficonfig.py' -exec rm -f {} ';' || true 13024adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -rm -f Lib/lib2to3/*Grammar*.pickle 13034adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 13044adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoprofile-removal: 13054adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao find . -name '*.gc??' -exec rm -f {} ';' 13064adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 13074adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaoclobber: clean profile-removal 13084adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -rm -f $(BUILDPYTHON) $(PGEN) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY) \ 13094adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao tags TAGS \ 13104adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao config.cache config.log pyconfig.h Modules/config.c 13114adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -rm -rf build platform 13124adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -rm -rf $(PYTHONFRAMEWORKDIR) 13134adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 13144adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Make things extra clean, before making a distribution: 13154adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# remove all generated files, even Makefile[.pre] 13164adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Keep configure and Python-ast.[ch], it's possible they can't be generated 13174adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaodistclean: clobber 13184adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao for file in Lib/test/data/* ; do \ 13194adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao if test "$$file" != "Lib/test/data/README"; then rm "$$file"; fi; \ 13204adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao done 13214adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -rm -f core Makefile Makefile.pre config.status \ 13224adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Modules/Setup Modules/Setup.local Modules/Setup.config \ 13234adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao Modules/ld_so_aix Modules/python.exp Misc/python.pc 13244adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -rm -f python*-gdb.py 13254adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -rm -f pybuilddir.txt 13264adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao find $(srcdir) '(' -name '*.fdc' -o -name '*~' \ 13274adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name '[@,#]*' -o -name '*.old' \ 13284adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name '*.orig' -o -name '*.rej' \ 13294adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name '*.bak' ')' \ 13304adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -exec rm -f {} ';' 13314adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 13324adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Check for smelly exported symbols (not starting with Py/_Py) 13334adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaosmelly: all 13344adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao nm -p $(LIBRARY) | \ 13354adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao sed -n "/ [TDB] /s/.* //p" | grep -v "^_*Py" | sort -u; \ 13364adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 13374adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Find files with funny names 13384adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaofunny: 13394adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao find $(SUBDIRS) $(SUBDIRSTOO) -type d \ 13404adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name '*.[chs]' \ 13414adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name '*.py' \ 13424adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name '*.doc' \ 13434adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name '*.sty' \ 13444adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name '*.bib' \ 13454adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name '*.dat' \ 13464adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name '*.el' \ 13474adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name '*.fd' \ 13484adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name '*.in' \ 13494adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name '*.tex' \ 13504adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name '*,[vpt]' \ 13514adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name 'Setup' \ 13524adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name 'Setup.*' \ 13534adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name README \ 13544adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name Makefile \ 13554adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name ChangeLog \ 13564adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name Repository \ 13574adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name Root \ 13584adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name Entries \ 13594adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name Tag \ 13604adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name tags \ 13614adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name TAGS \ 13624adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name .cvsignore \ 13634adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -name MANIFEST \ 13644adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao -o -print 13654adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 13664adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Perform some verification checks on any modified files. 13674adfde8bc82dd39f59e0445588c3e599ada477dJosh Gaopatchcheck: 13684adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao $(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/patchcheck.py 13694adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 13704adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Dependencies 13714adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 13724adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoPython/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 13734adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 13744adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Declare targets that aren't real files 13754adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao.PHONY: all build_all sharedmods oldsharedmods test quicktest memtest 13764adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao.PHONY: install altinstall oldsharedinstall bininstall altbininstall 13774adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao.PHONY: maninstall libinstall inclinstall libainstall sharedinstall 13784adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao.PHONY: frameworkinstall frameworkinstallframework frameworkinstallstructure 13794adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao.PHONY: frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools 13804adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao.PHONY: frameworkaltinstallunixtools recheck autoconf clean clobber distclean 13814adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao.PHONY: smelly funny patchcheck touch altmaninstall 13824adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao.PHONY: gdbhooks 13834adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 13844adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# IF YOU PUT ANYTHING HERE IT WILL GO AWAY 13854adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 13864adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao# Rules appended by makedepend 13874adfde8bc82dd39f59e0445588c3e599ada477dJosh Gao 13884adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/posixmodule.o: $(srcdir)/Modules/posixmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/posixmodule.c -o Modules/posixmodule.o 13894adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/posixmodule$(SO): Modules/posixmodule.o; $(BLDSHARED) Modules/posixmodule.o -o Modules/posixmodule$(SO) 13904adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/threadmodule.o: $(srcdir)/Modules/threadmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/threadmodule.c -o Modules/threadmodule.o 13914adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/threadmodule$(SO): Modules/threadmodule.o; $(BLDSHARED) Modules/threadmodule.o -o Modules/threadmodule$(SO) 13924adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/signalmodule.o: $(srcdir)/Modules/signalmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/signalmodule.c -o Modules/signalmodule.o 13934adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/signalmodule$(SO): Modules/signalmodule.o; $(BLDSHARED) Modules/signalmodule.o -o Modules/signalmodule$(SO) 13944adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/errnomodule.o: $(srcdir)/Modules/errnomodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/errnomodule.c -o Modules/errnomodule.o 13954adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/errnomodule$(SO): Modules/errnomodule.o; $(BLDSHARED) Modules/errnomodule.o -o Modules/errnomodule$(SO) 13964adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/_sre.o: $(srcdir)/Modules/_sre.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/_sre.c -o Modules/_sre.o 13974adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/_sre$(SO): Modules/_sre.o; $(BLDSHARED) Modules/_sre.o -o Modules/_sre$(SO) 13984adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/_codecsmodule.o: $(srcdir)/Modules/_codecsmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/_codecsmodule.c -o Modules/_codecsmodule.o 13994adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/_codecsmodule$(SO): Modules/_codecsmodule.o; $(BLDSHARED) Modules/_codecsmodule.o -o Modules/_codecsmodule$(SO) 14004adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/_weakref.o: $(srcdir)/Modules/_weakref.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/_weakref.c -o Modules/_weakref.o 14014adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/_weakref$(SO): Modules/_weakref.o; $(BLDSHARED) Modules/_weakref.o -o Modules/_weakref$(SO) 14024adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/zipimport.o: $(srcdir)/Modules/zipimport.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/zipimport.c -o Modules/zipimport.o 14034adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/zipimport$(SO): Modules/zipimport.o; $(BLDSHARED) Modules/zipimport.o -o Modules/zipimport$(SO) 14044adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/symtablemodule.o: $(srcdir)/Modules/symtablemodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/symtablemodule.c -o Modules/symtablemodule.o 14054adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/_symtablemodule$(SO): Modules/symtablemodule.o; $(BLDSHARED) Modules/symtablemodule.o -o Modules/_symtablemodule$(SO) 14064adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/xxsubtype.o: $(srcdir)/Modules/xxsubtype.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/xxsubtype.c -o Modules/xxsubtype.o 14074adfde8bc82dd39f59e0445588c3e599ada477dJosh GaoModules/xxsubtype$(SO): Modules/xxsubtype.o; $(BLDSHARED) Modules/xxsubtype.o -o Modules/xxsubtype$(SO) 1408