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