summaryrefslogtreecommitdiff
path: root/tests/lexers/make
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2021-01-18 21:24:00 +0100
committerGeorg Brandl <georg@python.org>2021-01-18 22:08:36 +0100
commit2a3d3a7d5b9c60dedf6638d876161d9563faebcf (patch)
tree809c0b4a686db98f5954afa1944404cd9652c6b2 /tests/lexers/make
parentf0445be718da83541ea3401aad882f3937147263 (diff)
downloadpygments-git-examplefiles.tar.gz
Move test_examplefiles to new tests/lexers scheme.examplefiles
Diffstat (limited to 'tests/lexers/make')
-rw-r--r--tests/lexers/make/example.txt9555
-rw-r--r--tests/lexers/make/example2.txt36
-rw-r--r--tests/lexers/make/example3.txt1914
-rw-r--r--tests/lexers/make/example4.txt126
-rw-r--r--tests/lexers/make/example5.txt3175
5 files changed, 14806 insertions, 0 deletions
diff --git a/tests/lexers/make/example.txt b/tests/lexers/make/example.txt
new file mode 100644
index 00000000..d96f19de
--- /dev/null
+++ b/tests/lexers/make/example.txt
@@ -0,0 +1,9555 @@
+---input---
+# Generated automatically from Makefile.pre by makesetup.
+# Top-level Makefile for Python
+#
+# As distributed, this file is called Makefile.pre.in; it is processed
+# into the real Makefile by running the script ./configure, which
+# replaces things like @spam@ with values appropriate for your system.
+# This means that if you edit Makefile, your changes get lost the next
+# time you run the configure script. Ideally, you can do:
+#
+# ./configure
+# make
+# make test
+# make install
+#
+# If you have a previous version of Python installed that you don't
+# want to overwrite, you can use "make altinstall" instead of "make
+# install". Refer to the "Installing" section in the README file for
+# additional details.
+#
+# See also the section "Build instructions" in the README file.
+
+# === Variables set by makesetup ===
+
+MODOBJS= Modules/threadmodule.o Modules/signalmodule.o Modules/posixmodule.o Modules/errnomodule.o Modules/pwdmodule.o Modules/_sre.o Modules/_codecsmodule.o Modules/zipimport.o Modules/symtablemodule.o Modules/xxsubtype.o
+MODLIBS= $(LOCALMODLIBS) $(BASEMODLIBS)
+
+# === Variables set by configure
+VERSION= 2.6
+srcdir= .
+
+
+CC= gcc -pthread
+CXX= g++ -pthread
+MAINCC= $(CC)
+LINKCC= $(PURIFY) $(MAINCC)
+AR= ar
+RANLIB= ranlib
+SVNVERSION= svnversion $(srcdir)
+
+# Shell used by make (some versions default to the login shell, which is bad)
+SHELL= /bin/sh
+
+# Use this to make a link between python$(VERSION) and python in $(BINDIR)
+LN= ln
+
+# Portable install script (configure doesn't always guess right)
+INSTALL= /usr/bin/install -c
+INSTALL_PROGRAM=${INSTALL}
+INSTALL_SCRIPT= ${INSTALL}
+INSTALL_DATA= ${INSTALL} -m 644
+# Shared libraries must be installed with executable mode on some systems;
+# rather than figuring out exactly which, we always give them executable mode.
+# Also, making them read-only seems to be a good idea...
+INSTALL_SHARED= ${INSTALL} -m 555
+
+MAKESETUP= $(srcdir)/Modules/makesetup
+
+# Compiler options
+OPT= -g -Wall -Wstrict-prototypes
+BASECFLAGS= -fno-strict-aliasing
+CFLAGS= $(BASECFLAGS) $(OPT) $(EXTRA_CFLAGS)
+# Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to
+# be able to build extension modules using the directories specified in the
+# environment variables
+CPPFLAGS= -I. -I$(srcdir)/Include
+LDFLAGS=
+LDLAST=
+SGI_ABI=
+CCSHARED= -fPIC
+LINKFORSHARED= -Xlinker -export-dynamic
+# Extra C flags added for building the interpreter object files.
+CFLAGSFORSHARED=
+# C flags used for building the interpreter object files
+PY_CFLAGS= $(CFLAGS) $(CPPFLAGS) $(CFLAGSFORSHARED) -DPy_BUILD_CORE
+
+
+# Machine-dependent subdirectories
+MACHDEP= linux2
+
+# Install prefix for architecture-independent files
+prefix= /usr/local
+
+# Install prefix for architecture-dependent files
+exec_prefix= ${prefix}
+
+# Expanded directories
+BINDIR= $(exec_prefix)/bin
+LIBDIR= $(exec_prefix)/lib
+MANDIR= ${prefix}/man
+INCLUDEDIR= ${prefix}/include
+CONFINCLUDEDIR= $(exec_prefix)/include
+SCRIPTDIR= $(prefix)/lib
+
+# Detailed destination directories
+BINLIBDEST= $(LIBDIR)/python$(VERSION)
+LIBDEST= $(SCRIPTDIR)/python$(VERSION)
+INCLUDEPY= $(INCLUDEDIR)/python$(VERSION)
+CONFINCLUDEPY= $(CONFINCLUDEDIR)/python$(VERSION)
+LIBP= $(LIBDIR)/python$(VERSION)
+
+# Symbols used for using shared libraries
+SO= .so
+LDSHARED= $(CC) -shared
+BLDSHARED= $(CC) -shared
+DESTSHARED= $(BINLIBDEST)/lib-dynload
+
+# Executable suffix (.exe on Windows and Mac OS X)
+EXE=
+BUILDEXE=
+
+# Short name and location for Mac OS X Python framework
+UNIVERSALSDK=
+PYTHONFRAMEWORK=
+PYTHONFRAMEWORKDIR= no-framework
+PYTHONFRAMEWORKPREFIX=
+PYTHONFRAMEWORKINSTALLDIR=
+# Deployment target selected during configure, to be checked
+# by distutils. The export statement is needed to ensure that the
+# deployment target is active during build.
+MACOSX_DEPLOYMENT_TARGET=
+#export MACOSX_DEPLOYMENT_TARGET
+
+# Options to enable prebinding (for fast startup prior to Mac OS X 10.3)
+OTHER_LIBTOOL_OPT=
+
+# Environment to run shared python without installed libraries
+RUNSHARED=
+
+# Modes for directories, executables and data files created by the
+# install process. Default to user-only-writable for all file types.
+DIRMODE= 755
+EXEMODE= 755
+FILEMODE= 644
+
+# configure script arguments
+CONFIG_ARGS= '--with-pydebug'
+
+
+# Subdirectories with code
+SRCDIRS= Parser Grammar Objects Python Modules Mac
+
+# Other subdirectories
+SUBDIRSTOO= Include Lib Misc Demo
+
+# Files and directories to be distributed
+CONFIGFILES= configure configure.in acconfig.h pyconfig.h.in Makefile.pre.in
+DISTFILES= README ChangeLog $(CONFIGFILES)
+DISTDIRS= $(SUBDIRS) $(SUBDIRSTOO) Ext-dummy
+DIST= $(DISTFILES) $(DISTDIRS)
+
+
+LIBRARY= libpython$(VERSION).a
+LDLIBRARY= libpython$(VERSION).a
+BLDLIBRARY= $(LDLIBRARY)
+DLLLIBRARY=
+LDLIBRARYDIR=
+INSTSONAME= $(LDLIBRARY)
+
+
+LIBS= -lpthread -ldl -lutil
+LIBM= -lm
+LIBC=
+SYSLIBS= $(LIBM) $(LIBC)
+SHLIBS= $(LIBS)
+
+THREADOBJ= Python/thread.o
+DLINCLDIR= .
+DYNLOADFILE= dynload_shlib.o
+MACHDEP_OBJS=
+UNICODE_OBJS= Objects/unicodeobject.o Objects/unicodectype.o
+
+PYTHON= python$(EXE)
+BUILDPYTHON= python$(BUILDEXE)
+
+# === Definitions added by makesetup ===
+
+LOCALMODLIBS=
+BASEMODLIBS=
+GLHACK=-Dclear=__GLclear
+PYTHONPATH=$(COREPYTHONPATH)
+COREPYTHONPATH=$(DESTPATH)$(SITEPATH)$(TESTPATH)$(MACHDEPPATH)$(EXTRAMACHDEPPATH)$(TKPATH)
+TKPATH=:lib-tk
+EXTRAMACHDEPPATH=
+MACHDEPPATH=:plat-$(MACHDEP)
+TESTPATH=
+SITEPATH=
+DESTPATH=
+MACHDESTLIB=$(BINLIBDEST)
+DESTLIB=$(LIBDEST)
+
+
+
+##########################################################################
+# Modules
+MODULE_OBJS= \
+ Modules/config.o \
+ Modules/getpath.o \
+ Modules/main.o \
+ Modules/gcmodule.o
+
+# Used of signalmodule.o is not available
+SIGNAL_OBJS=
+
+
+##########################################################################
+# Grammar
+GRAMMAR_H= $(srcdir)/Include/graminit.h
+GRAMMAR_C= $(srcdir)/Python/graminit.c
+GRAMMAR_INPUT= $(srcdir)/Grammar/Grammar
+
+
+##########################################################################
+# Parser
+PGEN= Parser/pgen$(EXE)
+
+POBJS= \
+ Parser/acceler.o \
+ Parser/grammar1.o \
+ Parser/listnode.o \
+ Parser/node.o \
+ Parser/parser.o \
+ Parser/parsetok.o \
+ Parser/bitset.o \
+ Parser/metagrammar.o \
+ Parser/firstsets.o \
+ Parser/grammar.o \
+ Parser/pgen.o
+
+PARSER_OBJS= $(POBJS) Parser/myreadline.o Parser/tokenizer.o
+
+PGOBJS= \
+ Objects/obmalloc.o \
+ Python/mysnprintf.o \
+ Parser/tokenizer_pgen.o \
+ Parser/printgrammar.o \
+ Parser/pgenmain.o
+
+PGENOBJS= $(PGENMAIN) $(POBJS) $(PGOBJS)
+
+##########################################################################
+# AST
+AST_H_DIR= $(srcdir)/Include
+AST_H= $(AST_H_DIR)/Python-ast.h
+AST_C_DIR= $(srcdir)/Python
+AST_C= $(AST_C_DIR)/Python-ast.c
+AST_ASDL= $(srcdir)/Parser/Python.asdl
+
+ASDLGEN_FILES= $(srcdir)/Parser/asdl.py $(srcdir)/Parser/asdl_c.py
+# XXX Note that a build now requires Python exist before the build starts
+ASDLGEN= $(srcdir)/Parser/asdl_c.py
+
+##########################################################################
+# Python
+PYTHON_OBJS= \
+ Python/Python-ast.o \
+ Python/asdl.o \
+ Python/ast.o \
+ Python/bltinmodule.o \
+ Python/ceval.o \
+ Python/compile.o \
+ Python/codecs.o \
+ Python/errors.o \
+ Python/frozen.o \
+ Python/frozenmain.o \
+ Python/future.o \
+ Python/getargs.o \
+ Python/getcompiler.o \
+ Python/getcopyright.o \
+ Python/getmtime.o \
+ Python/getplatform.o \
+ Python/getversion.o \
+ Python/graminit.o \
+ Python/import.o \
+ Python/importdl.o \
+ Python/marshal.o \
+ Python/modsupport.o \
+ Python/mystrtoul.o \
+ Python/mysnprintf.o \
+ Python/peephole.o \
+ Python/pyarena.o \
+ Python/pyfpe.o \
+ Python/pystate.o \
+ Python/pythonrun.o \
+ Python/structmember.o \
+ Python/symtable.o \
+ Python/sysmodule.o \
+ Python/traceback.o \
+ Python/getopt.o \
+ Python/pystrtod.o \
+ Python/$(DYNLOADFILE) \
+ $(MACHDEP_OBJS) \
+ $(THREADOBJ)
+
+
+##########################################################################
+# Objects
+OBJECT_OBJS= \
+ Objects/abstract.o \
+ Objects/boolobject.o \
+ Objects/bufferobject.o \
+ Objects/cellobject.o \
+ Objects/classobject.o \
+ Objects/cobject.o \
+ Objects/codeobject.o \
+ Objects/complexobject.o \
+ Objects/descrobject.o \
+ Objects/enumobject.o \
+ Objects/exceptions.o \
+ Objects/genobject.o \
+ Objects/fileobject.o \
+ Objects/floatobject.o \
+ Objects/frameobject.o \
+ Objects/funcobject.o \
+ Objects/intobject.o \
+ Objects/iterobject.o \
+ Objects/listobject.o \
+ Objects/longobject.o \
+ Objects/dictobject.o \
+ Objects/methodobject.o \
+ Objects/moduleobject.o \
+ Objects/object.o \
+ Objects/obmalloc.o \
+ Objects/rangeobject.o \
+ Objects/setobject.o \
+ Objects/sliceobject.o \
+ Objects/stringobject.o \
+ Objects/structseq.o \
+ Objects/tupleobject.o \
+ Objects/typeobject.o \
+ Objects/weakrefobject.o \
+ $(UNICODE_OBJS)
+
+
+##########################################################################
+# objects that get linked into the Python library
+LIBRARY_OBJS= \
+ Modules/_typesmodule.o \
+ Modules/getbuildinfo.o \
+ $(PARSER_OBJS) \
+ $(OBJECT_OBJS) \
+ $(PYTHON_OBJS) \
+ $(MODULE_OBJS) \
+ $(SIGNAL_OBJS) \
+ $(MODOBJS)
+
+#########################################################################
+# Rules
+
+# Default target
+all: $(BUILDPYTHON) oldsharedmods sharedmods
+
+# Build the interpreter
+$(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY)
+ $(LINKCC) $(LDFLAGS) $(LINKFORSHARED) -o $@ \
+ Modules/python.o \
+ $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
+
+platform: $(BUILDPYTHON)
+ $(RUNSHARED) ./$(BUILDPYTHON) -E -c 'import sys ; from distutils.util import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
+
+
+# Build the shared modules
+sharedmods: $(BUILDPYTHON)
+ @case $$MAKEFLAGS in \
+ *-s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
+ *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
+ esac
+
+# Build static library
+# avoid long command lines, same as LIBRARY_OBJS
+$(LIBRARY): $(LIBRARY_OBJS)
+ -rm -f $@
+ $(AR) cr $@ Modules/getbuildinfo.o
+ $(AR) cr $@ Modules/_typesmodule.o
+ $(AR) cr $@ $(PARSER_OBJS)
+ $(AR) cr $@ $(OBJECT_OBJS)
+ $(AR) cr $@ $(PYTHON_OBJS)
+ $(AR) cr $@ $(MODULE_OBJS) $(SIGNAL_OBJS)
+ $(AR) cr $@ $(MODOBJS)
+ $(RANLIB) $@
+
+libpython$(VERSION).so: $(LIBRARY_OBJS)
+ if test $(INSTSONAME) != $(LDLIBRARY); then \
+ $(LDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM); \
+ $(LN) -f $(INSTSONAME) $@; \
+ else\
+ $(LDSHARED) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM); \
+ fi
+
+libpython$(VERSION).sl: $(LIBRARY_OBJS)
+ $(LDSHARED) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM)
+
+# This rule is here for OPENSTEP/Rhapsody/MacOSX. It builds a temporary
+# minimal framework (not including the Lib directory and such) in the current
+# directory.
+RESSRCDIR=$(srcdir)/Mac/Resources/framework
+$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): \
+ $(LIBRARY) \
+ $(RESSRCDIR)/Info.plist \
+ $(RESSRCDIR)/version.plist \
+ $(RESSRCDIR)/English.lproj/InfoPlist.strings
+ $(INSTALL) -d -m $(DIRMODE) $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)
+ if test "${UNIVERSALSDK}"; then \
+ $(CC) -o $(LDLIBRARY) -arch i386 -arch ppc -dynamiclib \
+ -isysroot "${UNIVERSALSDK}" \
+ -all_load $(LIBRARY) -Wl,-single_module \
+ -install_name $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/Python \
+ -compatibility_version $(VERSION) \
+ -current_version $(VERSION); \
+ else \
+ libtool -o $(LDLIBRARY) -dynamic $(OTHER_LIBTOOL_OPT) $(LIBRARY) \
+ ;\
+ fi
+ $(INSTALL) -d -m $(DIRMODE) \
+ $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/Resources/English.lproj
+ $(INSTALL_DATA) $(RESSRCDIR)/Info.plist \
+ $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/Resources/Info.plist
+ $(INSTALL_DATA) $(RESSRCDIR)/version.plist \
+ $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/Resources/version.plist
+ $(INSTALL_DATA) $(RESSRCDIR)/English.lproj/InfoPlist.strings \
+ $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/Resources/English.lproj/InfoPlist.strings
+ $(LN) -fsn $(VERSION) $(PYTHONFRAMEWORKDIR)/Versions/Current
+ $(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(PYTHONFRAMEWORKDIR)/$(PYTHONFRAMEWORK)
+ $(LN) -fsn Versions/Current/Headers $(PYTHONFRAMEWORKDIR)/Headers
+ $(LN) -fsn Versions/Current/Resources $(PYTHONFRAMEWORKDIR)/Resources
+
+# This rule builds the Cygwin Python DLL and import library if configured
+# for a shared core library; otherwise, this rule is a noop.
+$(DLLLIBRARY) libpython$(VERSION).dll.a: $(LIBRARY_OBJS)
+ if test -n "$(DLLLIBRARY)"; then \
+ $(LDSHARED) -Wl,--out-implib=$@ -o $(DLLLIBRARY) $^ \
+ $(LIBS) $(MODLIBS) $(SYSLIBS); \
+ else true; \
+ fi
+
+
+oldsharedmods: $(SHAREDMODS)
+
+
+Makefile Modules/config.c: Makefile.pre \
+ $(srcdir)/Modules/config.c.in \
+ $(MAKESETUP) \
+ Modules/Setup.config \
+ Modules/Setup \
+ Modules/Setup.local
+ $(SHELL) $(MAKESETUP) -c $(srcdir)/Modules/config.c.in \
+ -s Modules \
+ Modules/Setup.config \
+ Modules/Setup.local \
+ Modules/Setup
+ @mv config.c Modules
+ @echo "The Makefile was updated, you may need to re-run make."
+
+
+Modules/Setup: $(srcdir)/Modules/Setup.dist
+ @if test -f Modules/Setup; then \
+ echo "-----------------------------------------------"; \
+ echo "Modules/Setup.dist is newer than Modules/Setup;"; \
+ echo "check to make sure you have all the updates you"; \
+ echo "need in your Modules/Setup file."; \
+ echo "Usually, copying Setup.dist to Setup will work."; \
+ echo "-----------------------------------------------"; \
+ fi
+
+############################################################################
+# Special rules for object files
+
+Modules/getbuildinfo.o: $(PARSER_OBJS) \
+ $(OBJECT_OBJS) \
+ $(PYTHON_OBJS) \
+ $(MODULE_OBJS) \
+ $(SIGNAL_OBJS) \
+ $(MODOBJS) \
+ $(srcdir)/Modules/getbuildinfo.c
+ $(CC) -c $(PY_CFLAGS) -DSVNVERSION=\"`LC_ALL=C $(SVNVERSION)`\" -o $@ $(srcdir)/Modules/getbuildinfo.c
+
+Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile
+ $(CC) -c $(PY_CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \
+ -DPREFIX='"$(prefix)"' \
+ -DEXEC_PREFIX='"$(exec_prefix)"' \
+ -DVERSION='"$(VERSION)"' \
+ -DVPATH='"$(VPATH)"' \
+ -o $@ $(srcdir)/Modules/getpath.c
+
+Modules/python.o: $(srcdir)/Modules/python.c
+ $(MAINCC) -c $(PY_CFLAGS) -o $@ $(srcdir)/Modules/python.c
+
+
+$(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT)
+ -$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
+
+$(PGEN): $(PGENOBJS)
+ $(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
+
+Parser/grammar.o: $(srcdir)/Parser/grammar.c \
+ $(srcdir)/Include/token.h \
+ $(srcdir)/Include/grammar.h
+Parser/metagrammar.o: $(srcdir)/Parser/metagrammar.c
+
+Parser/tokenizer_pgen.o: $(srcdir)/Parser/tokenizer.c
+
+Parser/pgenmain.o: $(srcdir)/Include/parsetok.h
+
+$(AST_H): $(AST_ASDL) $(ASDLGEN_FILES)
+ $(ASDLGEN) -h $(AST_H_DIR) $(AST_ASDL)
+
+$(AST_C): $(AST_ASDL) $(ASDLGEN_FILES)
+ $(ASDLGEN) -c $(AST_C_DIR) $(AST_ASDL)
+
+Python/compile.o Python/symtable.o: $(GRAMMAR_H) $(AST_H)
+
+Python/getplatform.o: $(srcdir)/Python/getplatform.c
+ $(CC) -c $(PY_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c
+
+Python/importdl.o: $(srcdir)/Python/importdl.c
+ $(CC) -c $(PY_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
+
+Objects/unicodectype.o: $(srcdir)/Objects/unicodectype.c \
+ $(srcdir)/Objects/unicodetype_db.h
+
+############################################################################
+# Header files
+
+PYTHON_HEADERS= \
+ Include/Python.h \
+ Include/Python-ast.h \
+ Include/asdl.h \
+ Include/abstract.h \
+ Include/boolobject.h \
+ Include/bufferobject.h \
+ Include/ceval.h \
+ Include/classobject.h \
+ Include/cobject.h \
+ Include/code.h \
+ Include/codecs.h \
+ Include/compile.h \
+ Include/complexobject.h \
+ Include/descrobject.h \
+ Include/dictobject.h \
+ Include/enumobject.h \
+ Include/genobject.h \
+ Include/fileobject.h \
+ Include/floatobject.h \
+ Include/funcobject.h \
+ Include/import.h \
+ Include/intobject.h \
+ Include/intrcheck.h \
+ Include/iterobject.h \
+ Include/listobject.h \
+ Include/longobject.h \
+ Include/methodobject.h \
+ Include/modsupport.h \
+ Include/moduleobject.h \
+ Include/object.h \
+ Include/objimpl.h \
+ Include/parsetok.h \
+ Include/patchlevel.h \
+ Include/pyarena.h \
+ Include/pydebug.h \
+ Include/pyerrors.h \
+ Include/pyfpe.h \
+ Include/pymem.h \
+ Include/pyport.h \
+ Include/pystate.h \
+ Include/pythonrun.h \
+ Include/rangeobject.h \
+ Include/setobject.h \
+ Include/sliceobject.h \
+ Include/stringobject.h \
+ Include/structseq.h \
+ Include/structmember.h \
+ Include/symtable.h \
+ Include/sysmodule.h \
+ Include/traceback.h \
+ Include/tupleobject.h \
+ Include/unicodeobject.h \
+ Include/weakrefobject.h \
+ pyconfig.h
+
+$(LIBRARY_OBJS) $(MODOBJS) Modules/python.o: $(PYTHON_HEADERS)
+
+
+######################################################################
+
+# Test the interpreter (twice, once without .pyc files, once with)
+# In the past, we've had problems where bugs in the marshalling or
+# elsewhere caused bytecode read from .pyc files to behave differently
+# than bytecode generated directly from a .py source file. Sometimes
+# the bytecode read from a .pyc file had the bug, somtimes the directly
+# generated bytecode. This is sometimes a very shy bug needing a lot of
+# sample data.
+
+TESTOPTS= -l $(EXTRATESTOPTS)
+TESTPROG= $(srcdir)/Lib/test/regrtest.py
+TESTPYTHON= $(RUNSHARED) ./$(BUILDPYTHON) -E -tt
+test: all platform
+ -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
+ -$(TESTPYTHON) $(TESTPROG) $(TESTOPTS)
+ $(TESTPYTHON) $(TESTPROG) $(TESTOPTS)
+
+testall: all platform
+ -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
+ -$(TESTPYTHON) $(TESTPROG) $(TESTOPTS) -uall
+ $(TESTPYTHON) $(TESTPROG) $(TESTOPTS) -uall
+
+# Run the unitests for both architectures in a Universal build on OSX
+# Must be run on an Intel box.
+testuniversal: all platform
+ if [ `arch` != 'i386' ];then \
+ echo "This can only be used on OSX/i386" ;\
+ exit 1 ;\
+ fi
+ -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
+ -$(TESTPYTHON) $(TESTPROG) $(TESTOPTS) -uall
+ $(TESTPYTHON) $(TESTPROG) $(TESTOPTS) -uall
+ $(RUNSHARED) /usr/libexec/oah/translate ./$(BUILDPYTHON) -E -tt $(TESTPROG) $(TESTOPTS) -uall
+
+
+# Like testall, but with a single pass only
+buildbottest: all platform
+ $(TESTPYTHON) $(TESTPROG) $(TESTOPTS) -uall -rw
+
+QUICKTESTOPTS= $(TESTOPTS) -x test_thread test_signal test_strftime \
+ test_unicodedata test_re test_sre test_select test_poll \
+ test_linuxaudiodev test_struct test_sunaudiodev test_zlib
+quicktest: all platform
+ -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
+ -$(TESTPYTHON) $(TESTPROG) $(QUICKTESTOPTS)
+ $(TESTPYTHON) $(TESTPROG) $(QUICKTESTOPTS)
+
+MEMTESTOPTS= $(QUICKTESTOPTS) -x test_dl test___all__ test_fork1 \
+ test_longexp
+memtest: all platform
+ -rm -f $(srcdir)/Lib/test/*.py[co]
+ -$(TESTPYTHON) $(TESTPROG) $(MEMTESTOPTS)
+ $(TESTPYTHON) $(TESTPROG) $(MEMTESTOPTS)
+
+# Install everything
+install: altinstall bininstall maninstall
+
+# Install almost everything without disturbing previous versions
+altinstall: altbininstall libinstall inclinstall libainstall \
+ sharedinstall oldsharedinstall
+
+# Install shared libraries enabled by Setup
+DESTDIRS= $(exec_prefix) $(LIBDIR) $(BINLIBDEST) $(DESTSHARED)
+
+oldsharedinstall: $(DESTSHARED) $(SHAREDMODS)
+ @for i in X $(SHAREDMODS); do \
+ if test $$i != X; then \
+ echo $(INSTALL_SHARED) $$i $(DESTSHARED)/`basename $$i`; \
+ $(INSTALL_SHARED) $$i $(DESTDIR)$(DESTSHARED)/`basename $$i`; \
+ fi; \
+ done
+
+$(DESTSHARED):
+ @for i in $(DESTDIRS); \
+ do \
+ if test ! -d $(DESTDIR)$$i; then \
+ echo "Creating directory $$i"; \
+ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
+ else true; \
+ fi; \
+ done
+
+
+# Install the interpreter (by creating a hard link to python$(VERSION))
+bininstall: altbininstall
+ -if test -f $(DESTDIR)$(BINDIR)/$(PYTHON) -o -h $(DESTDIR)$(BINDIR)/$(PYTHON); \
+ then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); \
+ else true; \
+ fi
+ (cd $(DESTDIR)$(BINDIR); $(LN) python$(VERSION)$(EXE) $(PYTHON))
+ (cd $(DESTDIR)$(BINDIR); $(LN) -sf python$(VERSION)-config python-config)
+
+# Install the interpreter with $(VERSION) affixed
+# This goes into $(exec_prefix)
+altbininstall: $(BUILDPYTHON)
+ @for i in $(BINDIR) $(LIBDIR); \
+ do \
+ if test ! -d $(DESTDIR)$$i; then \
+ echo "Creating directory $$i"; \
+ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
+ else true; \
+ fi; \
+ done
+ $(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(BINDIR)/python$(VERSION)$(EXE)
+ if test -f libpython$(VERSION)$(SO); then \
+ if test "$(SO)" = .dll; then \
+ $(INSTALL_SHARED) libpython$(VERSION)$(SO) $(DESTDIR)$(BINDIR); \
+ else \
+ $(INSTALL_SHARED) libpython$(VERSION)$(SO) $(DESTDIR)$(LIBDIR)/$(INSTSONAME); \
+ if test libpython$(VERSION)$(SO) != $(INSTSONAME); then \
+ (cd $(DESTDIR)$(LIBDIR); $(LN) -sf $(INSTSONAME) libpython$(VERSION)$(SO)); \
+ fi \
+ fi; \
+ else true; \
+ fi
+
+# Install the manual page
+maninstall:
+ @for i in $(MANDIR) $(MANDIR)/man1; \
+ do \
+ if test ! -d $(DESTDIR)$$i; then \
+ echo "Creating directory $$i"; \
+ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
+ else true; \
+ fi; \
+ done
+ $(INSTALL_DATA) $(srcdir)/Misc/python.man \
+ $(DESTDIR)$(MANDIR)/man1/python.1
+
+# Install the library
+PLATDIR= plat-$(MACHDEP)
+EXTRAPLATDIR=
+EXTRAMACHDEPPATH=
+MACHDEPS= $(PLATDIR) $(EXTRAPLATDIR)
+XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax
+PLATMACDIRS= plat-mac plat-mac/Carbon plat-mac/lib-scriptpackages \
+ plat-mac/lib-scriptpackages/_builtinSuites \
+ plat-mac/lib-scriptpackages/CodeWarrior \
+ plat-mac/lib-scriptpackages/Explorer \
+ plat-mac/lib-scriptpackages/Finder \
+ plat-mac/lib-scriptpackages/Netscape \
+ plat-mac/lib-scriptpackages/StdSuites \
+ plat-mac/lib-scriptpackages/SystemEvents \
+ plat-mac/lib-scriptpackages/Terminal
+PLATMACPATH=:plat-mac:plat-mac/lib-scriptpackages
+LIBSUBDIRS= lib-tk site-packages test test/output test/data \
+ test/decimaltestdata \
+ encodings compiler hotshot \
+ email email/mime email/test email/test/data \
+ sqlite3 sqlite3/test \
+ logging bsddb bsddb/test csv wsgiref \
+ ctypes ctypes/test ctypes/macholib idlelib idlelib/Icons \
+ distutils distutils/command distutils/tests $(XMLLIBSUBDIRS) \
+ setuptools setuptools/command setuptools/tests setuptools.egg-info \
+ curses $(MACHDEPS)
+libinstall: $(BUILDPYTHON) $(srcdir)/Lib/$(PLATDIR)
+ @for i in $(SCRIPTDIR) $(LIBDEST); \
+ do \
+ if test ! -d $(DESTDIR)$$i; then \
+ echo "Creating directory $$i"; \
+ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
+ else true; \
+ fi; \
+ done
+ @for d in $(LIBSUBDIRS); \
+ do \
+ a=$(srcdir)/Lib/$$d; \
+ if test ! -d $$a; then continue; else true; fi; \
+ b=$(LIBDEST)/$$d; \
+ if test ! -d $(DESTDIR)$$b; then \
+ echo "Creating directory $$b"; \
+ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$b; \
+ else true; \
+ fi; \
+ done
+ @for i in $(srcdir)/Lib/*.py $(srcdir)/Lib/*.doc $(srcdir)/Lib/*.egg-info ; \
+ do \
+ if test -x $$i; then \
+ $(INSTALL_SCRIPT) $$i $(DESTDIR)$(LIBDEST); \
+ echo $(INSTALL_SCRIPT) $$i $(LIBDEST); \
+ else \
+ $(INSTALL_DATA) $$i $(DESTDIR)$(LIBDEST); \
+ echo $(INSTALL_DATA) $$i $(LIBDEST); \
+ fi; \
+ done
+ @for d in $(LIBSUBDIRS); \
+ do \
+ a=$(srcdir)/Lib/$$d; \
+ if test ! -d $$a; then continue; else true; fi; \
+ if test `ls $$a | wc -l` -lt 1; then continue; fi; \
+ b=$(LIBDEST)/$$d; \
+ for i in $$a/*; \
+ do \
+ case $$i in \
+ *CVS) ;; \
+ *.py[co]) ;; \
+ *.orig) ;; \
+ *~) ;; \
+ *) \
+ if test -d $$i; then continue; fi; \
+ if test -x $$i; then \
+ echo $(INSTALL_SCRIPT) $$i $$b; \
+ $(INSTALL_SCRIPT) $$i $(DESTDIR)$$b; \
+ else \
+ echo $(INSTALL_DATA) $$i $$b; \
+ $(INSTALL_DATA) $$i $(DESTDIR)$$b; \
+ fi;; \
+ esac; \
+ done; \
+ done
+ $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt
+ PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ ./$(BUILDPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
+ -d $(LIBDEST) -f \
+ -x 'bad_coding|badsyntax|site-packages' $(DESTDIR)$(LIBDEST)
+ PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ ./$(BUILDPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
+ -d $(LIBDEST) -f \
+ -x 'bad_coding|badsyntax|site-packages' $(DESTDIR)$(LIBDEST)
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ ./$(BUILDPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
+ -d $(LIBDEST)/site-packages -f \
+ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ ./$(BUILDPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
+ -d $(LIBDEST)/site-packages -f \
+ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
+
+# Create the PLATDIR source directory, if one wasn't distributed..
+$(srcdir)/Lib/$(PLATDIR):
+ mkdir $(srcdir)/Lib/$(PLATDIR)
+ cp $(srcdir)/Lib/plat-generic/regen $(srcdir)/Lib/$(PLATDIR)/regen
+ export PATH; PATH="`pwd`:$$PATH"; \
+ export PYTHONPATH; PYTHONPATH="`pwd`/Lib"; \
+ export DYLD_FRAMEWORK_PATH; DYLD_FRAMEWORK_PATH="`pwd`"; \
+ export EXE; EXE="$(BUILDEXE)"; \
+ cd $(srcdir)/Lib/$(PLATDIR); ./regen
+
+# Install the include files
+INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY)
+inclinstall:
+ @for i in $(INCLDIRSTOMAKE); \
+ do \
+ if test ! -d $(DESTDIR)$$i; then \
+ echo "Creating directory $$i"; \
+ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
+ else true; \
+ fi; \
+ done
+ @for i in $(srcdir)/Include/*.h; \
+ do \
+ echo $(INSTALL_DATA) $$i $(INCLUDEPY); \
+ $(INSTALL_DATA) $$i $(DESTDIR)$(INCLUDEPY); \
+ done
+ $(INSTALL_DATA) pyconfig.h $(DESTDIR)$(CONFINCLUDEPY)/pyconfig.h
+
+# Install the library and miscellaneous stuff needed for extending/embedding
+# This goes into $(exec_prefix)
+LIBPL= $(LIBP)/config
+libainstall: all
+ @for i in $(LIBDIR) $(LIBP) $(LIBPL); \
+ do \
+ if test ! -d $(DESTDIR)$$i; then \
+ echo "Creating directory $$i"; \
+ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
+ else true; \
+ fi; \
+ done
+ @if test -d $(LIBRARY); then :; else \
+ if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
+ if test "$(SO)" = .dll; then \
+ $(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \
+ else \
+ $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
+ $(RANLIB) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
+ fi; \
+ else \
+ echo Skip install of $(LIBRARY) - use make frameworkinstall; \
+ fi; \
+ fi
+ $(INSTALL_DATA) Modules/config.c $(DESTDIR)$(LIBPL)/config.c
+ $(INSTALL_DATA) Modules/python.o $(DESTDIR)$(LIBPL)/python.o
+ $(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in
+ $(INSTALL_DATA) Makefile $(DESTDIR)$(LIBPL)/Makefile
+ $(INSTALL_DATA) Modules/Setup $(DESTDIR)$(LIBPL)/Setup
+ $(INSTALL_DATA) Modules/Setup.local $(DESTDIR)$(LIBPL)/Setup.local
+ $(INSTALL_DATA) Modules/Setup.config $(DESTDIR)$(LIBPL)/Setup.config
+ $(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup
+ $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
+ # Substitution happens here, as the completely-expanded BINDIR
+ # is not available in configure
+ sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config
+ $(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(VERSION)-config
+ rm python-config
+ @if [ -s Modules/python.exp -a \
+ "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \
+ echo; echo "Installing support files for building shared extension modules on AIX:"; \
+ $(INSTALL_DATA) Modules/python.exp \
+ $(DESTDIR)$(LIBPL)/python.exp; \
+ echo; echo "$(LIBPL)/python.exp"; \
+ $(INSTALL_SCRIPT) $(srcdir)/Modules/makexp_aix \
+ $(DESTDIR)$(LIBPL)/makexp_aix; \
+ echo "$(LIBPL)/makexp_aix"; \
+ $(INSTALL_SCRIPT) $(srcdir)/Modules/ld_so_aix \
+ $(DESTDIR)$(LIBPL)/ld_so_aix; \
+ echo "$(LIBPL)/ld_so_aix"; \
+ echo; echo "See Misc/AIX-NOTES for details."; \
+ else true; \
+ fi
+ @case "$(MACHDEP)" in beos*) \
+ echo; echo "Installing support files for building shared extension modules on BeOS:"; \
+ $(INSTALL_DATA) Misc/BeOS-NOTES $(DESTDIR)$(LIBPL)/README; \
+ echo; echo "$(LIBPL)/README"; \
+ $(INSTALL_SCRIPT) Modules/ar_beos $(DESTDIR)$(LIBPL)/ar_beos; \
+ echo "$(LIBPL)/ar_beos"; \
+ $(INSTALL_SCRIPT) Modules/ld_so_beos $(DESTDIR)$(LIBPL)/ld_so_beos; \
+ echo "$(LIBPL)/ld_so_beos"; \
+ echo; echo "See Misc/BeOS-NOTES for details."; \
+ ;; \
+ esac
+
+# Install the dynamically loadable modules
+# This goes into $(exec_prefix)
+sharedinstall:
+ $(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \
+ --prefix=$(prefix) \
+ --install-scripts=$(BINDIR) \
+ --install-platlib=$(DESTSHARED) \
+ --root=/$(DESTDIR)
+
+# Here are a couple of targets for MacOSX again, to install a full
+# framework-based Python. frameworkinstall installs everything, the
+# subtargets install specific parts. Much of the actual work is offloaded to
+# the Makefile in Mac
+#
+#
+# This target is here for backward compatiblity, previous versions of Python
+# hadn't integrated framework installation in the normal install process.
+frameworkinstall: install
+
+# On install, we re-make the framework
+# structure in the install location, /Library/Frameworks/ or the argument to
+# --enable-framework. If --enable-framework has been specified then we have
+# automatically set prefix to the location deep down in the framework, so we
+# only have to cater for the structural bits of the framework.
+
+frameworkinstallframework: frameworkinstallstructure install frameworkinstallmaclib
+
+frameworkinstallstructure: $(LDLIBRARY)
+ @if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
+ echo Not configured with --enable-framework; \
+ exit 1; \
+ else true; \
+ fi
+ @for i in $(prefix)/Resources/English.lproj $(prefix)/lib; do\
+ if test ! -d $(DESTDIR)$$i; then \
+ echo "Creating directory $(DESTDIR)$$i"; \
+ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
+ else true; \
+ fi; \
+ done
+ $(LN) -fsn include/python$(VERSION) $(DESTDIR)$(prefix)/Headers
+ $(INSTALL_DATA) $(RESSRCDIR)/Info.plist $(DESTDIR)$(prefix)/Resources/Info.plist
+ $(INSTALL_DATA) $(RESSRCDIR)/version.plist $(DESTDIR)$(prefix)/Resources/version.plist
+ $(INSTALL_DATA) $(RESSRCDIR)/English.lproj/InfoPlist.strings \
+ $(DESTDIR)$(prefix)/Resources/English.lproj/InfoPlist.strings
+ $(LN) -fsn $(VERSION) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/Current
+ $(LN) -fsn Versions/Current/Python $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Python
+ $(LN) -fsn Versions/Current/Headers $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Headers
+ $(LN) -fsn Versions/Current/Resources $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Resources
+ $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(PYTHONFRAMEWORKPREFIX)/$(LDLIBRARY)
+
+# This installs Mac/Lib into the framework
+# Install a number of symlinks to keep software that expects a normal unix
+# install (which includes python-config) happy.
+frameworkinstallmaclib:
+ ln -fs "../../../Python" "$(DESTDIR)$(prefix)/lib/python$(VERSION)/config/libpython$(VERSION).a"
+ cd Mac && $(MAKE) installmacsubtree DESTDIR="$(DESTDIR)"
+
+# This installs the IDE, the Launcher and other apps into /Applications
+frameworkinstallapps:
+ cd Mac && $(MAKE) installapps DESTDIR="$(DESTDIR)"
+
+# This install the unix python and pythonw tools in /usr/local/bin
+frameworkinstallunixtools:
+ cd Mac && $(MAKE) installunixtools DESTDIR="$(DESTDIR)"
+
+frameworkaltinstallunixtools:
+ cd Mac && $(MAKE) altinstallunixtools DESTDIR="$(DESTDIR)"
+
+# This installs the Demos and Tools into the applications directory.
+# It is not part of a normal frameworkinstall
+frameworkinstallextras:
+ cd Mac && Make installextras DESTDIR="$(DESTDIR)"
+
+# This installs a few of the useful scripts in Tools/scripts
+scriptsinstall:
+ SRCDIR=$(srcdir) $(RUNSHARED) \
+ ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/setup.py install \
+ --prefix=$(prefix) \
+ --install-scripts=$(BINDIR) \
+ --root=/$(DESTDIR)
+
+# Build the toplevel Makefile
+Makefile.pre: Makefile.pre.in config.status
+ CONFIG_FILES=Makefile.pre CONFIG_HEADERS= $(SHELL) config.status
+ $(MAKE) -f Makefile.pre Makefile
+
+# Run the configure script.
+config.status: $(srcdir)/configure
+ $(SHELL) $(srcdir)/configure $(CONFIG_ARGS)
+
+.PRECIOUS: config.status $(BUILDPYTHON) Makefile Makefile.pre
+
+# Some make's put the object file in the current directory
+.c.o:
+ $(CC) -c $(PY_CFLAGS) -o $@ $<
+
+# Run reindent on the library
+reindent:
+ ./python$(EXEEXT) $(srcdir)/Tools/scripts/reindent.py -r $(srcdir)/Lib
+
+# Rerun configure with the same options as it was run last time,
+# provided the config.status script exists
+recheck:
+ $(SHELL) config.status --recheck
+ $(SHELL) config.status
+
+# Rebuild the configure script from configure.in; also rebuild pyconfig.h.in
+autoconf:
+ (cd $(srcdir); autoconf)
+ (cd $(srcdir); autoheader)
+
+# Create a tags file for vi
+tags::
+ cd $(srcdir); \
+ ctags -w -t Include/*.h; \
+ for i in $(SRCDIRS); do ctags -w -t -a $$i/*.[ch]; \
+ done; \
+ sort -o tags tags
+
+# Create a tags file for GNU Emacs
+TAGS::
+ cd $(srcdir); \
+ etags Include/*.h; \
+ for i in $(SRCDIRS); do etags -a $$i/*.[ch]; done
+
+# Sanitation targets -- clean leaves libraries, executables and tags
+# files, which clobber removes those as well
+pycremoval:
+ find $(srcdir) -name '*.py[co]' -exec rm -f {} ';'
+
+clean: pycremoval
+ find . -name '*.o' -exec rm -f {} ';'
+ find . -name '*.s[ol]' -exec rm -f {} ';'
+ find $(srcdir)/build -name 'fficonfig.h' -exec rm -f {} ';' || true
+ find $(srcdir)/build -name 'fficonfig.py' -exec rm -f {} ';' || true
+
+clobber: clean
+ -rm -f $(BUILDPYTHON) $(PGEN) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY) \
+ tags TAGS \
+ config.cache config.log pyconfig.h Modules/config.c
+ -rm -rf build platform
+ -rm -rf $(PYTHONFRAMEWORKDIR)
+
+# Make things extra clean, before making a distribution:
+# remove all generated files, even Makefile[.pre]
+# Keep configure and Python-ast.[ch], it's possible they can't be generated
+distclean: clobber
+ -rm -f core Makefile Makefile.pre config.status \
+ Modules/Setup Modules/Setup.local Modules/Setup.config
+ find $(srcdir) '(' -name '*.fdc' -o -name '*~' \
+ -o -name '[@,#]*' -o -name '*.old' \
+ -o -name '*.orig' -o -name '*.rej' \
+ -o -name '*.bak' ')' \
+ -exec rm -f {} ';'
+
+# Check for smelly exported symbols (not starting with Py/_Py)
+smelly: all
+ nm -p $(LIBRARY) | \
+ sed -n "/ [TDB] /s/.* //p" | grep -v "^_*Py" | sort -u; \
+
+# Find files with funny names
+funny:
+ find $(DISTDIRS) -type d \
+ -o -name '*.[chs]' \
+ -o -name '*.py' \
+ -o -name '*.doc' \
+ -o -name '*.sty' \
+ -o -name '*.bib' \
+ -o -name '*.dat' \
+ -o -name '*.el' \
+ -o -name '*.fd' \
+ -o -name '*.in' \
+ -o -name '*.tex' \
+ -o -name '*,[vpt]' \
+ -o -name 'Setup' \
+ -o -name 'Setup.*' \
+ -o -name README \
+ -o -name Makefile \
+ -o -name ChangeLog \
+ -o -name Repository \
+ -o -name Root \
+ -o -name Entries \
+ -o -name Tag \
+ -o -name tags \
+ -o -name TAGS \
+ -o -name .cvsignore \
+ -o -name MANIFEST \
+ -o -print
+
+# Dependencies
+
+Python/thread.o: $(srcdir)/Python/thread_atheos.h $(srcdir)/Python/thread_beos.h $(srcdir)/Python/thread_cthread.h $(srcdir)/Python/thread_foobar.h $(srcdir)/Python/thread_lwp.h $(srcdir)/Python/thread_nt.h $(srcdir)/Python/thread_os2.h $(srcdir)/Python/thread_pth.h $(srcdir)/Python/thread_pthread.h $(srcdir)/Python/thread_sgi.h $(srcdir)/Python/thread_solaris.h $(srcdir)/Python/thread_wince.h
+
+# Declare targets that aren't real files
+.PHONY: all sharedmods oldsharedmods test quicktest memtest
+.PHONY: install altinstall oldsharedinstall bininstall altbininstall
+.PHONY: maninstall libinstall inclinstall libainstall sharedinstall
+.PHONY: frameworkinstall frameworkinstallframework frameworkinstallstructure
+.PHONY: frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools
+.PHONY: frameworkaltinstallunixtools recheck autoconf clean clobber distclean
+.PHONY: smelly funny
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
+
+# Rules appended by makedepend
+
+Modules/threadmodule.o: $(srcdir)/Modules/threadmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/threadmodule.c -o Modules/threadmodule.o
+Modules/threadmodule$(SO): Modules/threadmodule.o; $(LDSHARED) Modules/threadmodule.o -o Modules/threadmodule$(SO)
+Modules/signalmodule.o: $(srcdir)/Modules/signalmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/signalmodule.c -o Modules/signalmodule.o
+Modules/signalmodule$(SO): Modules/signalmodule.o; $(LDSHARED) Modules/signalmodule.o -o Modules/signalmodule$(SO)
+Modules/posixmodule.o: $(srcdir)/Modules/posixmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/posixmodule.c -o Modules/posixmodule.o
+Modules/posixmodule$(SO): Modules/posixmodule.o; $(LDSHARED) Modules/posixmodule.o -o Modules/posixmodule$(SO)
+Modules/errnomodule.o: $(srcdir)/Modules/errnomodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/errnomodule.c -o Modules/errnomodule.o
+Modules/errnomodule$(SO): Modules/errnomodule.o; $(LDSHARED) Modules/errnomodule.o -o Modules/errnomodule$(SO)
+Modules/pwdmodule.o: $(srcdir)/Modules/pwdmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/pwdmodule.c -o Modules/pwdmodule.o
+Modules/pwdmodule$(SO): Modules/pwdmodule.o; $(LDSHARED) Modules/pwdmodule.o -o Modules/pwdmodule$(SO)
+Modules/_sre.o: $(srcdir)/Modules/_sre.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/_sre.c -o Modules/_sre.o
+Modules/_sre$(SO): Modules/_sre.o; $(LDSHARED) Modules/_sre.o -o Modules/_sre$(SO)
+Modules/_codecsmodule.o: $(srcdir)/Modules/_codecsmodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/_codecsmodule.c -o Modules/_codecsmodule.o
+Modules/_codecsmodule$(SO): Modules/_codecsmodule.o; $(LDSHARED) Modules/_codecsmodule.o -o Modules/_codecsmodule$(SO)
+Modules/zipimport.o: $(srcdir)/Modules/zipimport.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/zipimport.c -o Modules/zipimport.o
+Modules/zipimport$(SO): Modules/zipimport.o; $(LDSHARED) Modules/zipimport.o -o Modules/zipimport$(SO)
+Modules/symtablemodule.o: $(srcdir)/Modules/symtablemodule.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/symtablemodule.c -o Modules/symtablemodule.o
+Modules/_symtablemodule$(SO): Modules/symtablemodule.o; $(LDSHARED) Modules/symtablemodule.o -o Modules/_symtablemodule$(SO)
+Modules/xxsubtype.o: $(srcdir)/Modules/xxsubtype.c; $(CC) $(PY_CFLAGS) -c $(srcdir)/Modules/xxsubtype.c -o Modules/xxsubtype.o
+Modules/xxsubtype$(SO): Modules/xxsubtype.o; $(LDSHARED) Modules/xxsubtype.o -o Modules/xxsubtype$(SO)
+
+---tokens---
+'# Generated automatically from Makefile.pre by makesetup.\n' Comment
+
+'# Top-level Makefile for Python\n' Comment
+
+'#\n' Comment
+
+'# As distributed, this file is called Makefile.pre.in; it is processed\n' Comment
+
+'# into the real Makefile by running the script ./configure, which\n' Comment
+
+'# replaces things like @spam@ with values appropriate for your system.\n' Comment
+
+'# This means that if you edit Makefile, your changes get lost the next\n' Comment
+
+'# time you run the configure script. Ideally, you can do:\n' Comment
+
+'#\n' Comment
+
+'#\t./configure\n' Comment
+
+'#\tmake\n' Comment
+
+'#\tmake test\n' Comment
+
+'#\tmake install\n' Comment
+
+'#\n' Comment
+
+"# If you have a previous version of Python installed that you don't\n" Comment
+
+'# want to overwrite, you can use "make altinstall" instead of "make\n' Comment
+
+'# install". Refer to the "Installing" section in the README file for\n' Comment
+
+'# additional details.\n' Comment
+
+'#\n' Comment
+
+'# See also the section "Build instructions" in the README file.\n' Comment
+
+'\n' Text
+
+'# === Variables set by makesetup ===\n' Comment
+
+'\n' Text
+
+'MODOBJS' Name.Variable
+'=' Operator
+' ' Text
+'Modules/threadmodule.o' Text
+' ' Text
+'Modules/signalmodule.o' Text
+' ' Text
+'Modules/posixmodule.o' Text
+' ' Text
+'Modules/errnomodule.o' Text
+' ' Text
+'Modules/pwdmodule.o' Text
+' ' Text
+'Modules/_sre.o' Text
+' ' Text
+'Modules/_codecsmodule.o' Text
+' ' Text
+'Modules/zipimport.o' Text
+' ' Text
+'Modules/symtablemodule.o' Text
+' ' Text
+'Modules/xxsubtype.o' Text
+'\n' Text
+
+'MODLIBS' Name.Variable
+'=' Operator
+' ' Text
+'$(' Keyword
+'LOCALMODLIBS' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'BASEMODLIBS' Text
+')' Keyword
+'\n' Text
+
+'\n' Text
+
+'# === Variables set by configure\n' Comment
+
+'VERSION' Name.Variable
+'=' Operator
+'\t' Text
+'2' Literal.Number
+'.6' Text
+'\n' Text
+
+'srcdir' Name.Variable
+'=' Operator
+'\t\t' Text
+'.' Text
+'\n' Text
+
+'\n\n' Text
+
+'CC' Name.Variable
+'=' Operator
+'\t\t' Text
+'gcc' Text
+' ' Text
+'-pthread' Text
+'\n' Text
+
+'CXX' Name.Variable
+'=' Operator
+'\t\t' Text
+'g++' Text
+' ' Text
+'-pthread' Text
+'\n' Text
+
+'MAINCC' Name.Variable
+'=' Operator
+'\t\t' Text
+'$(' Keyword
+'CC' Text
+')' Keyword
+'\n' Text
+
+'LINKCC' Name.Variable
+'=' Operator
+'\t\t' Text
+'$(' Keyword
+'PURIFY' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'MAINCC' Text
+')' Keyword
+'\n' Text
+
+'AR' Name.Variable
+'=' Operator
+'\t\t' Text
+'ar' Text
+'\n' Text
+
+'RANLIB' Name.Variable
+'=' Operator
+'\t\t' Text
+'ranlib' Text
+'\n' Text
+
+'SVNVERSION' Name.Variable
+'=' Operator
+'\t' Text
+'svnversion' Text
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'\n' Text
+
+'\n' Text
+
+'# Shell used by make (some versions default to the login shell, which is bad)\n' Comment
+
+'SHELL' Name.Variable
+'=' Operator
+'\t\t' Text
+'/bin/sh' Text
+'\n' Text
+
+'\n' Text
+
+'# Use this to make a link between python$(VERSION) and python in $(BINDIR)\n' Comment
+
+'LN' Name.Variable
+'=' Operator
+'\t\t' Text
+'ln' Text
+'\n' Text
+
+'\n' Text
+
+"# Portable install script (configure doesn't always guess right)\n" Comment
+
+'INSTALL' Name.Variable
+'=' Operator
+'\t' Text
+'/usr/bin/install' Text
+' ' Text
+'-c' Text
+'\n' Text
+
+'INSTALL_PROGRAM' Name.Variable
+'=' Operator
+'${' Literal.String.Interpol
+'INSTALL' Name.Variable
+'}' Literal.String.Interpol
+'\n' Text
+
+'INSTALL_SCRIPT' Name.Variable
+'=' Operator
+' ' Text
+'${' Literal.String.Interpol
+'INSTALL' Name.Variable
+'}' Literal.String.Interpol
+'\n' Text
+
+'INSTALL_DATA' Name.Variable
+'=' Operator
+'\t' Text
+'${' Literal.String.Interpol
+'INSTALL' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-m' Text
+' ' Text
+'644' Literal.Number
+'\n' Text
+
+'# Shared libraries must be installed with executable mode on some systems;\n' Comment
+
+'# rather than figuring out exactly which, we always give them executable mode.\n' Comment
+
+'# Also, making them read-only seems to be a good idea...\n' Comment
+
+'INSTALL_SHARED' Name.Variable
+'=' Operator
+' ' Text
+'${' Literal.String.Interpol
+'INSTALL' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-m' Text
+' ' Text
+'555' Literal.Number
+'\n' Text
+
+'\n' Text
+
+'MAKESETUP' Name.Variable
+'=' Operator
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Modules/makesetup' Text
+'\n' Text
+
+'\n' Text
+
+'# Compiler options\n' Comment
+
+'OPT' Name.Variable
+'=' Operator
+'\t\t' Text
+'-g' Text
+' ' Text
+'-Wall' Text
+' ' Text
+'-Wstrict-prototypes' Text
+'\n' Text
+
+'BASECFLAGS' Name.Variable
+'=' Operator
+'\t ' Text
+'-fno-strict-aliasing' Text
+'\n' Text
+
+'CFLAGS' Name.Variable
+'=' Operator
+'\t\t' Text
+'$(' Keyword
+'BASECFLAGS' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'OPT' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'EXTRA_CFLAGS' Text
+')' Keyword
+'\n' Text
+
+"# Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to\n" Comment
+
+'# be able to build extension modules using the directories specified in the\n' Comment
+
+'# environment variables\n' Comment
+
+'CPPFLAGS' Name.Variable
+'=' Operator
+'\t' Text
+'-I.' Text
+' ' Text
+'-I' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Include' Text
+' \n' Text
+
+'LDFLAGS' Name.Variable
+'=' Operator
+'\t' Text
+'\n' Text
+
+'LDLAST' Name.Variable
+'=' Operator
+'\t\t' Text
+'\n' Text
+
+'SGI_ABI' Name.Variable
+'=' Operator
+'\t' Text
+'\n' Text
+
+'CCSHARED' Name.Variable
+'=' Operator
+'\t' Text
+'-fPIC' Text
+'\n' Text
+
+'LINKFORSHARED' Name.Variable
+'=' Operator
+'\t' Text
+'-Xlinker' Text
+' ' Text
+'-export-dynamic' Text
+'\n' Text
+
+'# Extra C flags added for building the interpreter object files.\n' Comment
+
+'CFLAGSFORSHARED' Name.Variable
+'=' Operator
+'\n' Text
+
+'# C flags used for building the interpreter object files\n' Comment
+
+'PY_CFLAGS' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'CFLAGS' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'CPPFLAGS' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'CFLAGSFORSHARED' Text
+')' Keyword
+' ' Text
+'-DPy_BUILD_CORE' Text
+'\n' Text
+
+'\n\n' Text
+
+'# Machine-dependent subdirectories\n' Comment
+
+'MACHDEP' Name.Variable
+'=' Operator
+'\t' Text
+'linux2' Text
+'\n' Text
+
+'\n' Text
+
+'# Install prefix for architecture-independent files\n' Comment
+
+'prefix' Name.Variable
+'=' Operator
+'\t\t' Text
+'/usr/local' Text
+'\n' Text
+
+'\n' Text
+
+'# Install prefix for architecture-dependent files\n' Comment
+
+'exec_prefix' Name.Variable
+'=' Operator
+'\t' Text
+'${' Literal.String.Interpol
+'prefix' Name.Variable
+'}' Literal.String.Interpol
+'\n' Text
+
+'\n' Text
+
+'# Expanded directories\n' Comment
+
+'BINDIR' Name.Variable
+'=' Operator
+'\t\t' Text
+'$(' Keyword
+'exec_prefix' Text
+')' Keyword
+'/bin' Text
+'\n' Text
+
+'LIBDIR' Name.Variable
+'=' Operator
+'\t\t' Text
+'$(' Keyword
+'exec_prefix' Text
+')' Keyword
+'/lib' Text
+'\n' Text
+
+'MANDIR' Name.Variable
+'=' Operator
+'\t\t' Text
+'${' Literal.String.Interpol
+'prefix' Name.Variable
+'}' Literal.String.Interpol
+'/man' Text
+'\n' Text
+
+'INCLUDEDIR' Name.Variable
+'=' Operator
+'\t' Text
+'${' Literal.String.Interpol
+'prefix' Name.Variable
+'}' Literal.String.Interpol
+'/include' Text
+'\n' Text
+
+'CONFINCLUDEDIR' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'exec_prefix' Text
+')' Keyword
+'/include' Text
+'\n' Text
+
+'SCRIPTDIR' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'prefix' Text
+')' Keyword
+'/lib' Text
+'\n' Text
+
+'\n' Text
+
+'# Detailed destination directories\n' Comment
+
+'BINLIBDEST' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'LIBDIR' Text
+')' Keyword
+'/python' Text
+'$(' Keyword
+'VERSION' Text
+')' Keyword
+'\n' Text
+
+'LIBDEST' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'SCRIPTDIR' Text
+')' Keyword
+'/python' Text
+'$(' Keyword
+'VERSION' Text
+')' Keyword
+'\n' Text
+
+'INCLUDEPY' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'INCLUDEDIR' Text
+')' Keyword
+'/python' Text
+'$(' Keyword
+'VERSION' Text
+')' Keyword
+'\n' Text
+
+'CONFINCLUDEPY' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'CONFINCLUDEDIR' Text
+')' Keyword
+'/python' Text
+'$(' Keyword
+'VERSION' Text
+')' Keyword
+'\n' Text
+
+'LIBP' Name.Variable
+'=' Operator
+'\t\t' Text
+'$(' Keyword
+'LIBDIR' Text
+')' Keyword
+'/python' Text
+'$(' Keyword
+'VERSION' Text
+')' Keyword
+'\n' Text
+
+'\n' Text
+
+'# Symbols used for using shared libraries\n' Comment
+
+'SO' Name.Variable
+'=' Operator
+'\t\t' Text
+'.so' Text
+'\n' Text
+
+'LDSHARED' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'CC' Text
+')' Keyword
+' ' Text
+'-shared' Text
+'\n' Text
+
+'BLDSHARED' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'CC' Text
+')' Keyword
+' ' Text
+'-shared' Text
+'\n' Text
+
+'DESTSHARED' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'BINLIBDEST' Text
+')' Keyword
+'/lib-dynload' Text
+'\n' Text
+
+'\n' Text
+
+'# Executable suffix (.exe on Windows and Mac OS X)\n' Comment
+
+'EXE' Name.Variable
+'=' Operator
+'\t\t' Text
+'\n' Text
+
+'BUILDEXE' Name.Variable
+'=' Operator
+'\t' Text
+'\n' Text
+
+'\n' Text
+
+'# Short name and location for Mac OS X Python framework\n' Comment
+
+'UNIVERSALSDK' Name.Variable
+'=' Operator
+'\n' Text
+
+'PYTHONFRAMEWORK' Name.Variable
+'=' Operator
+'\t' Text
+'\n' Text
+
+'PYTHONFRAMEWORKDIR' Name.Variable
+'=' Operator
+'\t' Text
+'no-framework' Text
+'\n' Text
+
+'PYTHONFRAMEWORKPREFIX' Name.Variable
+'=' Operator
+'\t' Text
+'\n' Text
+
+'PYTHONFRAMEWORKINSTALLDIR' Name.Variable
+'=' Operator
+' ' Text
+'\n' Text
+
+'# Deployment target selected during configure, to be checked\n' Comment
+
+'# by distutils. The export statement is needed to ensure that the\n' Comment
+
+'# deployment target is active during build.\n' Comment
+
+'MACOSX_DEPLOYMENT_TARGET' Name.Variable
+'=' Operator
+'\n' Text
+
+'#export MACOSX_DEPLOYMENT_TARGET\n' Comment
+
+'\n' Text
+
+'# Options to enable prebinding (for fast startup prior to Mac OS X 10.3)\n' Comment
+
+'OTHER_LIBTOOL_OPT' Name.Variable
+'=' Operator
+'\n' Text
+
+'\n' Text
+
+'# Environment to run shared python without installed libraries\n' Comment
+
+'RUNSHARED' Name.Variable
+'=' Operator
+' ' Text
+'\n' Text
+
+'\n' Text
+
+'# Modes for directories, executables and data files created by the\n' Comment
+
+'# install process. Default to user-only-writable for all file types.\n' Comment
+
+'DIRMODE' Name.Variable
+'=' Operator
+'\t' Text
+'755' Literal.Number
+'\n' Text
+
+'EXEMODE' Name.Variable
+'=' Operator
+'\t' Text
+'755' Literal.Number
+'\n' Text
+
+'FILEMODE' Name.Variable
+'=' Operator
+'\t' Text
+'644' Literal.Number
+'\n' Text
+
+'\n' Text
+
+'# configure script arguments\n' Comment
+
+'CONFIG_ARGS' Name.Variable
+'=' Operator
+'\t' Text
+"'--with-pydebug'" Literal.String.Single
+'\n' Text
+
+'\n\n' Text
+
+'# Subdirectories with code\n' Comment
+
+'SRCDIRS' Name.Variable
+'=' Operator
+' \t' Text
+'Parser' Text
+' ' Text
+'Grammar' Text
+' ' Text
+'Objects' Text
+' ' Text
+'Python' Text
+' ' Text
+'Modules' Text
+' ' Text
+'Mac' Text
+'\n' Text
+
+'\n' Text
+
+'# Other subdirectories\n' Comment
+
+'SUBDIRSTOO' Name.Variable
+'=' Operator
+'\t' Text
+'Include' Text
+' ' Text
+'Lib' Text
+' ' Text
+'Misc' Text
+' ' Text
+'Demo' Text
+'\n' Text
+
+'\n' Text
+
+'# Files and directories to be distributed\n' Comment
+
+'CONFIGFILES' Name.Variable
+'=' Operator
+'\t' Text
+'configure' Text
+' ' Text
+'configure.in' Text
+' ' Text
+'acconfig.h' Text
+' ' Text
+'pyconfig.h.in' Text
+' ' Text
+'Makefile.pre.in' Text
+'\n' Text
+
+'DISTFILES' Name.Variable
+'=' Operator
+'\t' Text
+'README' Text
+' ' Text
+'ChangeLog' Text
+' ' Text
+'$(' Keyword
+'CONFIGFILES' Text
+')' Keyword
+'\n' Text
+
+'DISTDIRS' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'SUBDIRS' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'SUBDIRSTOO' Text
+')' Keyword
+' ' Text
+'Ext-dummy' Text
+'\n' Text
+
+'DIST' Name.Variable
+'=' Operator
+'\t\t' Text
+'$(' Keyword
+'DISTFILES' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'DISTDIRS' Text
+')' Keyword
+'\n' Text
+
+'\n\n' Text
+
+'LIBRARY' Name.Variable
+'=' Operator
+'\t' Text
+'libpython' Text
+'$(' Keyword
+'VERSION' Text
+')' Keyword
+'.a' Text
+'\n' Text
+
+'LDLIBRARY' Name.Variable
+'=' Operator
+' ' Text
+'libpython' Text
+'$(' Keyword
+'VERSION' Text
+')' Keyword
+'.a' Text
+'\n' Text
+
+'BLDLIBRARY' Name.Variable
+'=' Operator
+' ' Text
+'$(' Keyword
+'LDLIBRARY' Text
+')' Keyword
+'\n' Text
+
+'DLLLIBRARY' Name.Variable
+'=' Operator
+'\t' Text
+'\n' Text
+
+'LDLIBRARYDIR' Name.Variable
+'=' Operator
+' ' Text
+'\n' Text
+
+'INSTSONAME' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'LDLIBRARY' Text
+')' Keyword
+'\n' Text
+
+'\n\n' Text
+
+'LIBS' Name.Variable
+'=' Operator
+'\t\t' Text
+'-lpthread' Text
+' ' Text
+'-ldl' Text
+' ' Text
+'-lutil' Text
+'\n' Text
+
+'LIBM' Name.Variable
+'=' Operator
+'\t\t' Text
+'-lm' Text
+'\n' Text
+
+'LIBC' Name.Variable
+'=' Operator
+'\t\t' Text
+'\n' Text
+
+'SYSLIBS' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'LIBM' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'LIBC' Text
+')' Keyword
+'\n' Text
+
+'SHLIBS' Name.Variable
+'=' Operator
+'\t\t' Text
+'$(' Keyword
+'LIBS' Text
+')' Keyword
+'\n' Text
+
+'\n' Text
+
+'THREADOBJ' Name.Variable
+'=' Operator
+'\t' Text
+'Python/thread.o' Text
+'\n' Text
+
+'DLINCLDIR' Name.Variable
+'=' Operator
+'\t' Text
+'.' Text
+'\n' Text
+
+'DYNLOADFILE' Name.Variable
+'=' Operator
+'\t' Text
+'dynload_shlib.o' Text
+'\n' Text
+
+'MACHDEP_OBJS' Name.Variable
+'=' Operator
+'\t' Text
+'\n' Text
+
+'UNICODE_OBJS' Name.Variable
+'=' Operator
+' ' Text
+'Objects/unicodeobject.o' Text
+' ' Text
+'Objects/unicodectype.o' Text
+'\n' Text
+
+'\n' Text
+
+'PYTHON' Name.Variable
+'=' Operator
+'\t\t' Text
+'python' Text
+'$(' Keyword
+'EXE' Text
+')' Keyword
+'\n' Text
+
+'BUILDPYTHON' Name.Variable
+'=' Operator
+'\t' Text
+'python' Text
+'$(' Keyword
+'BUILDEXE' Text
+')' Keyword
+'\n' Text
+
+'\n' Text
+
+'# === Definitions added by makesetup ===\n' Comment
+
+'\n' Text
+
+'LOCALMODLIBS' Name.Variable
+'=' Operator
+' ' Text
+'\n' Text
+
+'BASEMODLIBS' Name.Variable
+'=' Operator
+'\n' Text
+
+'GLHACK' Name.Variable
+'=' Operator
+'-Dclear' Text
+'=' Operator
+'__GLclear' Text
+'\n' Text
+
+'PYTHONPATH' Name.Variable
+'=' Operator
+'$(' Keyword
+'COREPYTHONPATH' Text
+')' Keyword
+'\n' Text
+
+'COREPYTHONPATH' Name.Variable
+'=' Operator
+'$(' Keyword
+'DESTPATH' Text
+')' Keyword
+'$(' Keyword
+'SITEPATH' Text
+')' Keyword
+'$(' Keyword
+'TESTPATH' Text
+')' Keyword
+'$(' Keyword
+'MACHDEPPATH' Text
+')' Keyword
+'$(' Keyword
+'EXTRAMACHDEPPATH' Text
+')' Keyword
+'$(' Keyword
+'TKPATH' Text
+')' Keyword
+'\n' Text
+
+'TKPATH' Name.Variable
+'=' Operator
+':lib-tk' Text
+'\n' Text
+
+'EXTRAMACHDEPPATH' Name.Variable
+'=' Operator
+'\n' Text
+
+'MACHDEPPATH' Name.Variable
+'=' Operator
+':plat-' Text
+'$(' Keyword
+'MACHDEP' Text
+')' Keyword
+'\n' Text
+
+'TESTPATH' Name.Variable
+'=' Operator
+'\n' Text
+
+'SITEPATH' Name.Variable
+'=' Operator
+'\n' Text
+
+'DESTPATH' Name.Variable
+'=' Operator
+'\n' Text
+
+'MACHDESTLIB' Name.Variable
+'=' Operator
+'$(' Keyword
+'BINLIBDEST' Text
+')' Keyword
+'\n' Text
+
+'DESTLIB' Name.Variable
+'=' Operator
+'$(' Keyword
+'LIBDEST' Text
+')' Keyword
+'\n' Text
+
+'\n\n\n' Text
+
+'##########################################################################\n' Comment
+
+'# Modules\n' Comment
+
+'MODULE_OBJS' Name.Variable
+'=' Operator
+'\t' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Modules/config.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Modules/getpath.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Modules/main.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Modules/gcmodule.o' Text
+'\n\n' Text
+
+'# Used of signalmodule.o is not available\n' Comment
+
+'SIGNAL_OBJS' Name.Variable
+'=' Operator
+'\t' Text
+'\n' Text
+
+'\n\n' Text
+
+'##########################################################################\n' Comment
+
+'# Grammar\n' Comment
+
+'GRAMMAR_H' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Include/graminit.h' Text
+'\n' Text
+
+'GRAMMAR_C' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Python/graminit.c' Text
+'\n' Text
+
+'GRAMMAR_INPUT' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Grammar/Grammar' Text
+'\n' Text
+
+'\n\n' Text
+
+'##########################################################################\n' Comment
+
+'# Parser\n' Comment
+
+'PGEN' Name.Variable
+'=' Operator
+'\t\t' Text
+'Parser/pgen' Text
+'$(' Keyword
+'EXE' Text
+')' Keyword
+'\n' Text
+
+'\n' Text
+
+'POBJS' Name.Variable
+'=' Operator
+'\t\t' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Parser/acceler.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Parser/grammar1.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Parser/listnode.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Parser/node.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Parser/parser.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Parser/parsetok.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Parser/bitset.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Parser/metagrammar.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Parser/firstsets.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Parser/grammar.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Parser/pgen.o' Text
+'\n\n' Text
+
+'PARSER_OBJS' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'POBJS' Text
+')' Keyword
+' ' Text
+'Parser/myreadline.o' Text
+' ' Text
+'Parser/tokenizer.o' Text
+'\n' Text
+
+'\n' Text
+
+'PGOBJS' Name.Variable
+'=' Operator
+'\t\t' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/obmalloc.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/mysnprintf.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Parser/tokenizer_pgen.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Parser/printgrammar.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Parser/pgenmain.o' Text
+'\n\n' Text
+
+'PGENOBJS' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'PGENMAIN' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'POBJS' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'PGOBJS' Text
+')' Keyword
+'\n' Text
+
+'\n' Text
+
+'##########################################################################\n' Comment
+
+'# AST\n' Comment
+
+'AST_H_DIR' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Include' Text
+'\n' Text
+
+'AST_H' Name.Variable
+'=' Operator
+'\t\t' Text
+'$(' Keyword
+'AST_H_DIR' Text
+')' Keyword
+'/Python-ast.h' Text
+'\n' Text
+
+'AST_C_DIR' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Python' Text
+'\n' Text
+
+'AST_C' Name.Variable
+'=' Operator
+'\t\t' Text
+'$(' Keyword
+'AST_C_DIR' Text
+')' Keyword
+'/Python-ast.c' Text
+'\n' Text
+
+'AST_ASDL' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Parser/Python.asdl' Text
+'\n' Text
+
+'\n' Text
+
+'ASDLGEN_FILES' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Parser/asdl.py' Text
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Parser/asdl_c.py' Text
+'\n' Text
+
+'# XXX Note that a build now requires Python exist before the build starts\n' Comment
+
+'ASDLGEN' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Parser/asdl_c.py' Text
+'\n' Text
+
+'\n' Text
+
+'##########################################################################\n' Comment
+
+'# Python\n' Comment
+
+'PYTHON_OBJS' Name.Variable
+'=' Operator
+'\t' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/Python-ast.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/asdl.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/ast.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/bltinmodule.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/ceval.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/compile.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/codecs.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/errors.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/frozen.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/frozenmain.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/future.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/getargs.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/getcompiler.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/getcopyright.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/getmtime.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/getplatform.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/getversion.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/graminit.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/import.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/importdl.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/marshal.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/modsupport.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/mystrtoul.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/mysnprintf.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/peephole.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/pyarena.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/pyfpe.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/pystate.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/pythonrun.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/structmember.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/symtable.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/sysmodule.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/traceback.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/getopt.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/pystrtod.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Python/' Text
+'$(' Keyword
+'DYNLOADFILE' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'MACHDEP_OBJS' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'THREADOBJ' Text
+')' Keyword
+'\n\n\n' Text
+
+'##########################################################################\n' Comment
+
+'# Objects\n' Comment
+
+'OBJECT_OBJS' Name.Variable
+'=' Operator
+'\t' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/abstract.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/boolobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/bufferobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/cellobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/classobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/cobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/codeobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/complexobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/descrobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/enumobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/exceptions.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/genobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/fileobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/floatobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/frameobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/funcobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/intobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/iterobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/listobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/longobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/dictobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/methodobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/moduleobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/object.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/obmalloc.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/rangeobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+' ' Text
+'Objects/setobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/sliceobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/stringobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/structseq.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/tupleobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/typeobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Objects/weakrefobject.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'UNICODE_OBJS' Text
+')' Keyword
+'\n\n\n' Text
+
+'##########################################################################\n' Comment
+
+'# objects that get linked into the Python library\n' Comment
+
+'LIBRARY_OBJS' Name.Variable
+'=' Operator
+'\t' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Modules/_typesmodule.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Modules/getbuildinfo.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'PARSER_OBJS' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'OBJECT_OBJS' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'PYTHON_OBJS' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'MODULE_OBJS' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'SIGNAL_OBJS' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'MODOBJS' Text
+')' Keyword
+'\n\n' Text
+
+'#########################################################################\n' Comment
+
+'# Rules\n' Comment
+
+'\n' Text
+
+'# Default target\n' Comment
+
+'all' Name.Function
+':' Operator
+'\t\t' Text
+'$(' Keyword
+'BUILDPYTHON' Name.Variable
+')' Keyword
+' ' Text
+'oldsharedmods' Name
+' ' Text
+'sharedmods' Name
+'\n' Text
+
+'\n' Text
+
+'# Build the interpreter\n' Comment
+
+'$(BUILDPYTHON)' Name.Function
+':' Operator
+'\t' Text
+'Modules' Name
+'/' Text
+'python' Name
+'.' Text
+'o' Name
+' ' Text
+'$(' Keyword
+'LIBRARY' Name.Variable
+')' Keyword
+' ' Text
+'$(' Keyword
+'LDLIBRARY' Name.Variable
+')' Keyword
+'\n' Text
+
+'\t\t' Text
+'$(' Keyword
+'LINKCC' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'LDFLAGS' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'LINKFORSHARED' Text
+')' Keyword
+' ' Text
+'-o' Text
+' ' Text
+'$@' Name.Variable
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t\t' Text
+'Modules/python.o' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t\t' Text
+'$(' Keyword
+'BLDLIBRARY' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'LIBS' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'MODLIBS' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'SYSLIBS' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'LDLAST' Text
+')' Keyword
+'\n\n' Text
+
+'platform' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'BUILDPYTHON' Name.Variable
+')' Keyword
+'\n' Text
+
+'\t' Text
+'$(' Keyword
+'RUNSHARED' Text
+')' Keyword
+' ' Text
+'./' Text
+'$(' Keyword
+'BUILDPYTHON' Text
+')' Keyword
+' ' Text
+'-E' Text
+' ' Text
+'-c' Text
+' ' Text
+'\'import sys ; from distutils.util import get_platform ; print get_platform()+"-"+sys.version[0:3]\'' Literal.String.Single
+' ' Text
+'>platform' Text
+'\n\n\n' Text
+
+'# Build the shared modules\n' Comment
+
+'sharedmods' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'BUILDPYTHON' Name.Variable
+')' Keyword
+'\n' Text
+
+'\t' Text
+'@case' Text
+' ' Text
+'$$' Name.Variable
+'MAKEFLAGS' Text
+' ' Text
+'in' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'*-s*' Text
+')' Operator
+' ' Text
+'$(' Keyword
+'RUNSHARED' Text
+')' Keyword
+' ' Text
+'CC' Name.Variable
+'=' Operator
+"'$(CC)'" Literal.String.Single
+' ' Text
+'LDSHARED' Name.Variable
+'=' Operator
+"'$(BLDSHARED)'" Literal.String.Single
+' ' Text
+'OPT' Name.Variable
+'=' Operator
+"'$(OPT)'" Literal.String.Single
+' ' Text
+'./' Text
+'$(' Keyword
+'BUILDPYTHON' Text
+')' Keyword
+' ' Text
+'-E' Text
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/setup.py' Text
+' ' Text
+'-q' Text
+' ' Text
+'build' Text
+';' Punctuation
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'*' Text
+')' Operator
+' ' Text
+'$(' Keyword
+'RUNSHARED' Text
+')' Keyword
+' ' Text
+'CC' Name.Variable
+'=' Operator
+"'$(CC)'" Literal.String.Single
+' ' Text
+'LDSHARED' Name.Variable
+'=' Operator
+"'$(BLDSHARED)'" Literal.String.Single
+' ' Text
+'OPT' Name.Variable
+'=' Operator
+"'$(OPT)'" Literal.String.Single
+' ' Text
+'./' Text
+'$(' Keyword
+'BUILDPYTHON' Text
+')' Keyword
+' ' Text
+'-E' Text
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/setup.py' Text
+' ' Text
+'build' Text
+';' Punctuation
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'esac' Keyword
+'\n\n' Text
+
+'# Build static library\n' Comment
+
+'# avoid long command lines, same as LIBRARY_OBJS\n' Comment
+
+'$(LIBRARY)' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'LIBRARY_OBJS' Name.Variable
+')' Keyword
+'\n' Text
+
+'\t' Text
+'-rm' Text
+' ' Text
+'-f' Text
+' ' Text
+'$@' Name.Variable
+'\n\t' Text
+'$(' Keyword
+'AR' Text
+')' Keyword
+' ' Text
+'cr' Text
+' ' Text
+'$@' Name.Variable
+' ' Text
+'Modules/getbuildinfo.o' Text
+'\n\t' Text
+'$(' Keyword
+'AR' Text
+')' Keyword
+' ' Text
+'cr' Text
+' ' Text
+'$@' Name.Variable
+' ' Text
+'Modules/_typesmodule.o' Text
+'\n\t' Text
+'$(' Keyword
+'AR' Text
+')' Keyword
+' ' Text
+'cr' Text
+' ' Text
+'$@' Name.Variable
+' ' Text
+'$(' Keyword
+'PARSER_OBJS' Text
+')' Keyword
+'\n\t' Text
+'$(' Keyword
+'AR' Text
+')' Keyword
+' ' Text
+'cr' Text
+' ' Text
+'$@' Name.Variable
+' ' Text
+'$(' Keyword
+'OBJECT_OBJS' Text
+')' Keyword
+'\n\t' Text
+'$(' Keyword
+'AR' Text
+')' Keyword
+' ' Text
+'cr' Text
+' ' Text
+'$@' Name.Variable
+' ' Text
+'$(' Keyword
+'PYTHON_OBJS' Text
+')' Keyword
+'\n\t' Text
+'$(' Keyword
+'AR' Text
+')' Keyword
+' ' Text
+'cr' Text
+' ' Text
+'$@' Name.Variable
+' ' Text
+'$(' Keyword
+'MODULE_OBJS' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'SIGNAL_OBJS' Text
+')' Keyword
+'\n\t' Text
+'$(' Keyword
+'AR' Text
+')' Keyword
+' ' Text
+'cr' Text
+' ' Text
+'$@' Name.Variable
+' ' Text
+'$(' Keyword
+'MODOBJS' Text
+')' Keyword
+'\n\t' Text
+'$(' Keyword
+'RANLIB' Text
+')' Keyword
+' ' Text
+'$@' Name.Variable
+'\n\n' Text
+
+'libpython$(VERSION).so' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'LIBRARY_OBJS' Name.Variable
+')' Keyword
+'\n' Text
+
+'\tif test $(INSTSONAME) != $(LDLIBRARY); then \\\n' Comment.Preproc
+
+'\t\t$(LDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM); \\\n' Comment.Preproc
+
+'\t\t$(LN) -f $(INSTSONAME) $@; \\\n' Comment.Preproc
+
+'\telse\\\n' Comment.Preproc
+
+'\t\t$(LDSHARED) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM); \\\n' Comment.Preproc
+
+'\tfi\n' Comment.Preproc
+
+'\n' Text
+
+'libpython$(VERSION).sl' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'LIBRARY_OBJS' Name.Variable
+')' Keyword
+'\n' Text
+
+'\t' Text
+'$(' Keyword
+'LDSHARED' Text
+')' Keyword
+' ' Text
+'-o' Text
+' ' Text
+'$@' Name.Variable
+' ' Text
+'$(' Keyword
+'LIBRARY_OBJS' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'SHLIBS' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'LIBC' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'LIBM' Text
+')' Keyword
+'\n\n' Text
+
+'# This rule is here for OPENSTEP/Rhapsody/MacOSX. It builds a temporary\n' Comment
+
+'# minimal framework (not including the Lib directory and such) in the current\n' Comment
+
+'# directory.\n' Comment
+
+'RESSRCDIR' Name.Variable
+'=' Operator
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Mac/Resources/framework' Text
+'\n' Text
+
+'$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' Name.Function
+':' Operator
+' ' Text
+'\\\n' Text
+
+'\t' Text
+'\t' Text
+'$(' Keyword
+'LIBRARY' Name.Variable
+')' Keyword
+' ' Text
+'\\\n' Text
+
+'\t' Text
+'\t' Text
+'$(' Keyword
+'RESSRCDIR' Name.Variable
+')' Keyword
+'/' Text
+'Info' Name
+'.' Text
+'plist' Name
+' ' Text
+'\\\n' Text
+
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+'$(' Keyword
+'RESSRCDIR' Name.Variable
+')' Keyword
+'/' Text
+'version' Name
+'.' Text
+'plist' Name
+' ' Text
+'\\\n' Text
+
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+'$(' Keyword
+'RESSRCDIR' Name.Variable
+')' Keyword
+'/' Text
+'English' Name
+'.' Text
+'lproj' Name
+'/' Text
+'InfoPlist' Name
+'.' Text
+'strings' Name
+'\n' Text
+
+'\t' Text
+'$(' Keyword
+'INSTALL' Text
+')' Keyword
+' ' Text
+'-d' Text
+' ' Text
+'-m' Text
+' ' Text
+'$(' Keyword
+'DIRMODE' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'PYTHONFRAMEWORKDIR' Text
+')' Keyword
+'/Versions/' Text
+'$(' Keyword
+'VERSION' Text
+')' Keyword
+'\n' Text
+
+'\tif test "${UNIVERSALSDK}"; then \\\n' Comment.Preproc
+
+'\t\t$(CC) -o $(LDLIBRARY) -arch i386 -arch ppc -dynamiclib \\\n' Comment.Preproc
+
+'\t\t\t-isysroot "${UNIVERSALSDK}" \\\n' Comment.Preproc
+
+'\t\t\t-all_load $(LIBRARY) -Wl,-single_module \\\n' Comment.Preproc
+
+'\t\t\t-install_name $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/Python \\\n' Comment.Preproc
+
+'\t\t\t-compatibility_version $(VERSION) \\\n' Comment.Preproc
+
+'\t\t\t-current_version $(VERSION); \\\n' Comment.Preproc
+
+' else \\\n' Comment.Preproc
+
+'\t\tlibtool -o $(LDLIBRARY) -dynamic $(OTHER_LIBTOOL_OPT) $(LIBRARY) \\\n' Comment.Preproc
+
+'\t\t\t ;\\\n' Comment.Preproc
+
+'\tfi\n' Comment.Preproc
+
+'\t' Text
+'$(' Keyword
+'INSTALL' Text
+')' Keyword
+' ' Text
+'-d' Text
+' ' Text
+'-m' Text
+' ' Text
+'$(' Keyword
+'DIRMODE' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'PYTHONFRAMEWORKDIR' Text
+')' Keyword
+'/Versions/' Text
+'$(' Keyword
+'VERSION' Text
+')' Keyword
+'/Resources/English.lproj' Text
+'\n\t' Text
+'$(' Keyword
+'INSTALL_DATA' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'RESSRCDIR' Text
+')' Keyword
+'/Info.plist' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'PYTHONFRAMEWORKDIR' Text
+')' Keyword
+'/Versions/' Text
+'$(' Keyword
+'VERSION' Text
+')' Keyword
+'/Resources/Info.plist' Text
+'\n\t' Text
+'$(' Keyword
+'INSTALL_DATA' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'RESSRCDIR' Text
+')' Keyword
+'/version.plist' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'PYTHONFRAMEWORKDIR' Text
+')' Keyword
+'/Versions/' Text
+'$(' Keyword
+'VERSION' Text
+')' Keyword
+'/Resources/version.plist' Text
+'\n\t' Text
+'$(' Keyword
+'INSTALL_DATA' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'RESSRCDIR' Text
+')' Keyword
+'/English.lproj/InfoPlist.strings' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'PYTHONFRAMEWORKDIR' Text
+')' Keyword
+'/Versions/' Text
+'$(' Keyword
+'VERSION' Text
+')' Keyword
+'/Resources/English.lproj/InfoPlist.strings' Text
+'\n\t' Text
+'$(' Keyword
+'LN' Text
+')' Keyword
+' ' Text
+'-fsn' Text
+' ' Text
+'$(' Keyword
+'VERSION' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'PYTHONFRAMEWORKDIR' Text
+')' Keyword
+'/Versions/Current' Text
+'\n\t' Text
+'$(' Keyword
+'LN' Text
+')' Keyword
+' ' Text
+'-fsn' Text
+' ' Text
+'Versions/Current/' Text
+'$(' Keyword
+'PYTHONFRAMEWORK' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'PYTHONFRAMEWORKDIR' Text
+')' Keyword
+'/' Text
+'$(' Keyword
+'PYTHONFRAMEWORK' Text
+')' Keyword
+'\n\t' Text
+'$(' Keyword
+'LN' Text
+')' Keyword
+' ' Text
+'-fsn' Text
+' ' Text
+'Versions/Current/Headers' Text
+' ' Text
+'$(' Keyword
+'PYTHONFRAMEWORKDIR' Text
+')' Keyword
+'/Headers' Text
+'\n\t' Text
+'$(' Keyword
+'LN' Text
+')' Keyword
+' ' Text
+'-fsn' Text
+' ' Text
+'Versions/Current/Resources' Text
+' ' Text
+'$(' Keyword
+'PYTHONFRAMEWORKDIR' Text
+')' Keyword
+'/Resources' Text
+'\n\n' Text
+
+'# This rule builds the Cygwin Python DLL and import library if configured\n' Comment
+
+'# for a shared core library; otherwise, this rule is a noop.\n' Comment
+
+'$(DLLLIBRARY) libpython$(VERSION).dll.a' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'LIBRARY_OBJS' Name.Variable
+')' Keyword
+'\n' Text
+
+'\tif test -n "$(DLLLIBRARY)"; then \\\n' Comment.Preproc
+
+'\t\t$(LDSHARED) -Wl,--out-implib=$@ -o $(DLLLIBRARY) $^ \\\n' Comment.Preproc
+
+'\t\t\t$(LIBS) $(MODLIBS) $(SYSLIBS); \\\n' Comment.Preproc
+
+'\telse true; \\\n' Comment.Preproc
+
+'\tfi\n' Comment.Preproc
+
+'\n\n' Text
+
+'oldsharedmods' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'SHAREDMODS' Name.Variable
+')' Keyword
+'\n' Text
+
+'\n\n' Text
+
+'Makefile Modules/config.c' Name.Function
+':' Operator
+' ' Text
+'Makefile' Name
+'.' Text
+'pre' Name
+' ' Text
+'\\\n' Text
+
+'\t' Text
+'\t' Text
+'\t' Text
+'\t' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'config' Name
+'.' Text
+'c' Name
+'.' Text
+'in' Name
+' ' Text
+'\\\n' Text
+
+'\t' Text
+'\t' Text
+'\t' Text
+'\t' Text
+'$(' Keyword
+'MAKESETUP' Name.Variable
+')' Keyword
+' ' Text
+'\\\n' Text
+
+'\t' Text
+'\t' Text
+'\t' Text
+'\t' Text
+'Modules' Name
+'/' Text
+'Setup' Name
+'.' Text
+'config' Name
+' ' Text
+'\\\n' Text
+
+'\t' Text
+'\t' Text
+'\t' Text
+'\t' Text
+'Modules' Name
+'/' Text
+'Setup' Name
+' ' Text
+'\\\n' Text
+
+'\t' Text
+'\t' Text
+'\t' Text
+'\t' Text
+'Modules' Name
+'/' Text
+'Setup' Name
+'.' Text
+'local' Name
+'\n' Text
+
+'\t' Text
+'$(' Keyword
+'SHELL' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'MAKESETUP' Text
+')' Keyword
+' ' Text
+'-c' Text
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Modules/config.c.in' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t\t\t' Text
+'-s' Text
+' ' Text
+'Modules' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t\t\t' Text
+'Modules/Setup.config' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t\t\t' Text
+'Modules/Setup.local' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t\t\t' Text
+'Modules/Setup' Text
+'\n\t' Text
+'@mv' Text
+' ' Text
+'config.c' Text
+' ' Text
+'Modules' Text
+'\n\t' Text
+'@echo' Text
+' ' Text
+'"The Makefile was updated, you may need to re-run make."' Literal.String.Double
+'\n\n\n' Text
+
+'Modules/Setup' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'Setup' Name
+'.' Text
+'dist' Name
+'\n' Text
+
+'\t' Text
+'@if' Text
+' ' Text
+'test' Name.Builtin
+' ' Text
+'-f' Text
+' ' Text
+'Modules/Setup' Text
+';' Punctuation
+' ' Text
+'then' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'echo' Name.Builtin
+' ' Text
+'"-----------------------------------------------"' Literal.String.Double
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'echo' Name.Builtin
+' ' Text
+'"Modules/Setup.dist is newer than Modules/Setup;"' Literal.String.Double
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'echo' Name.Builtin
+' ' Text
+'"check to make sure you have all the updates you"' Literal.String.Double
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'echo' Name.Builtin
+' ' Text
+'"need in your Modules/Setup file."' Literal.String.Double
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'echo' Name.Builtin
+' ' Text
+'"Usually, copying Setup.dist to Setup will work."' Literal.String.Double
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'echo' Name.Builtin
+' ' Text
+'"-----------------------------------------------"' Literal.String.Double
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'fi' Keyword
+'\n\n' Text
+
+'############################################################################\n' Comment
+
+'# Special rules for object files\n' Comment
+
+'\n' Text
+
+'Modules/getbuildinfo.o' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'PARSER_OBJS' Name.Variable
+')' Keyword
+' ' Text
+'\\\n' Text
+
+'\t' Text
+'\t' Text
+'$(' Keyword
+'OBJECT_OBJS' Name.Variable
+')' Keyword
+' ' Text
+'\\\n' Text
+
+'\t' Text
+'\t' Text
+'$(' Keyword
+'PYTHON_OBJS' Name.Variable
+')' Keyword
+' ' Text
+'\\\n' Text
+
+'\t' Text
+'\t' Text
+'$(' Keyword
+'MODULE_OBJS' Name.Variable
+')' Keyword
+' ' Text
+'\\\n' Text
+
+'\t' Text
+'\t' Text
+'$(' Keyword
+'SIGNAL_OBJS' Name.Variable
+')' Keyword
+' ' Text
+'\\\n' Text
+
+'\t' Text
+'\t' Text
+'$(' Keyword
+'MODOBJS' Name.Variable
+')' Keyword
+' ' Text
+'\\\n' Text
+
+'\t' Text
+'\t' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'getbuildinfo' Name
+'.' Text
+'c' Name
+'\n' Text
+
+'\t' Text
+'$(' Keyword
+'CC' Text
+')' Keyword
+' ' Text
+'-c' Text
+' ' Text
+'$(' Keyword
+'PY_CFLAGS' Text
+')' Keyword
+' ' Text
+'-DSVNVERSION' Text
+'=' Operator
+'\\"' Literal.String.Escape
+'`' Literal.String.Backtick
+'LC_ALL' Name.Variable
+'=' Operator
+'C' Text
+' ' Text
+'$(' Keyword
+'SVNVERSION' Text
+')' Keyword
+'`' Literal.String.Backtick
+'\\"' Literal.String.Escape
+' ' Text
+'-o' Text
+' ' Text
+'$@' Name.Variable
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Modules/getbuildinfo.c' Text
+'\n\n' Text
+
+'Modules/getpath.o' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'getpath' Name
+'.' Text
+'c' Name
+' ' Text
+'Makefile' Name
+'\n' Text
+
+'\t' Text
+'$(' Keyword
+'CC' Text
+')' Keyword
+' ' Text
+'-c' Text
+' ' Text
+'$(' Keyword
+'PY_CFLAGS' Text
+')' Keyword
+' ' Text
+'-DPYTHONPATH' Text
+'=' Operator
+'\'"$(PYTHONPATH)"\'' Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-DPREFIX' Text
+'=' Operator
+'\'"$(prefix)"\'' Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-DEXEC_PREFIX' Text
+'=' Operator
+'\'"$(exec_prefix)"\'' Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-DVERSION' Text
+'=' Operator
+'\'"$(VERSION)"\'' Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-DVPATH' Text
+'=' Operator
+'\'"$(VPATH)"\'' Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'$@' Name.Variable
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Modules/getpath.c' Text
+'\n\n' Text
+
+'Modules/python.o' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'python' Name
+'.' Text
+'c' Name
+'\n' Text
+
+'\t' Text
+'$(' Keyword
+'MAINCC' Text
+')' Keyword
+' ' Text
+'-c' Text
+' ' Text
+'$(' Keyword
+'PY_CFLAGS' Text
+')' Keyword
+' ' Text
+'-o' Text
+' ' Text
+'$@' Name.Variable
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Modules/python.c' Text
+'\n\n\n' Text
+
+'$(GRAMMAR_H) $(GRAMMAR_C)' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'PGEN' Name.Variable
+')' Keyword
+' ' Text
+'$(' Keyword
+'GRAMMAR_INPUT' Name.Variable
+')' Keyword
+'\n' Text
+
+'\t\t' Text
+'-' Text
+'$(' Keyword
+'PGEN' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'GRAMMAR_INPUT' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'GRAMMAR_H' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'GRAMMAR_C' Text
+')' Keyword
+'\n\n' Text
+
+'$(PGEN)' Name.Function
+':' Operator
+'\t' Text
+'$(' Keyword
+'PGENOBJS' Name.Variable
+')' Keyword
+'\n' Text
+
+'\t\t' Text
+'$(' Keyword
+'CC' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'OPT' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'LDFLAGS' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'PGENOBJS' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'LIBS' Text
+')' Keyword
+' ' Text
+'-o' Text
+' ' Text
+'$(' Keyword
+'PGEN' Text
+')' Keyword
+'\n\n' Text
+
+'Parser/grammar.o' Name.Function
+':' Operator
+'\t' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Parser' Name
+'/' Text
+'grammar' Name
+'.' Text
+'c' Name
+' ' Text
+'\\\n' Text
+
+'\t' Text
+'\t' Text
+'\t' Text
+'\t' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Include' Name
+'/' Text
+'token' Name
+'.' Text
+'h' Name
+' ' Text
+'\\\n' Text
+
+'\t' Text
+'\t' Text
+'\t' Text
+'\t' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Include' Name
+'/' Text
+'grammar' Name
+'.' Text
+'h' Name
+'\n' Text
+
+'Parser/metagrammar.o' Name.Function
+':' Operator
+'\t' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Parser' Name
+'/' Text
+'metagrammar' Name
+'.' Text
+'c' Name
+'\n' Text
+
+'\n' Text
+
+'Parser/tokenizer_pgen.o' Name.Function
+':' Operator
+'\t' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Parser' Name
+'/' Text
+'tokenizer' Name
+'.' Text
+'c' Name
+'\n' Text
+
+'\n' Text
+
+'Parser/pgenmain.o' Name.Function
+':' Operator
+'\t' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Include' Name
+'/' Text
+'parsetok' Name
+'.' Text
+'h' Name
+'\n' Text
+
+'\n' Text
+
+'$(AST_H)' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'AST_ASDL' Name.Variable
+')' Keyword
+' ' Text
+'$(' Keyword
+'ASDLGEN_FILES' Name.Variable
+')' Keyword
+'\n' Text
+
+'\t' Text
+'$(' Keyword
+'ASDLGEN' Text
+')' Keyword
+' ' Text
+'-h' Text
+' ' Text
+'$(' Keyword
+'AST_H_DIR' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'AST_ASDL' Text
+')' Keyword
+'\n\n' Text
+
+'$(AST_C)' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'AST_ASDL' Name.Variable
+')' Keyword
+' ' Text
+'$(' Keyword
+'ASDLGEN_FILES' Name.Variable
+')' Keyword
+'\n' Text
+
+'\t' Text
+'$(' Keyword
+'ASDLGEN' Text
+')' Keyword
+' ' Text
+'-c' Text
+' ' Text
+'$(' Keyword
+'AST_C_DIR' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'AST_ASDL' Text
+')' Keyword
+'\n\n' Text
+
+'Python/compile.o Python/symtable.o' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'GRAMMAR_H' Name.Variable
+')' Keyword
+' ' Text
+'$(' Keyword
+'AST_H' Name.Variable
+')' Keyword
+'\n' Text
+
+'\n' Text
+
+'Python/getplatform.o' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Python' Name
+'/' Text
+'getplatform' Name
+'.' Text
+'c' Name
+'\n' Text
+
+'\t\t' Text
+'$(' Keyword
+'CC' Text
+')' Keyword
+' ' Text
+'-c' Text
+' ' Text
+'$(' Keyword
+'PY_CFLAGS' Text
+')' Keyword
+' ' Text
+'-DPLATFORM' Text
+'=' Operator
+'\'"$(MACHDEP)"\'' Literal.String.Single
+' ' Text
+'-o' Text
+' ' Text
+'$@' Name.Variable
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Python/getplatform.c' Text
+'\n\n' Text
+
+'Python/importdl.o' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Python' Name
+'/' Text
+'importdl' Name
+'.' Text
+'c' Name
+'\n' Text
+
+'\t\t' Text
+'$(' Keyword
+'CC' Text
+')' Keyword
+' ' Text
+'-c' Text
+' ' Text
+'$(' Keyword
+'PY_CFLAGS' Text
+')' Keyword
+' ' Text
+'-I' Text
+'$(' Keyword
+'DLINCLDIR' Text
+')' Keyword
+' ' Text
+'-o' Text
+' ' Text
+'$@' Name.Variable
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Python/importdl.c' Text
+'\n\n' Text
+
+'Objects/unicodectype.o' Name.Function
+':' Operator
+'\t' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Objects' Name
+'/' Text
+'unicodectype' Name
+'.' Text
+'c' Name
+' ' Text
+'\\\n' Text
+
+'\t' Text
+'\t' Text
+'\t' Text
+'\t' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Objects' Name
+'/' Text
+'unicodetype_db' Name
+'.' Text
+'h' Name
+'\n' Text
+
+'\n' Text
+
+'############################################################################\n' Comment
+
+'# Header files\n' Comment
+
+'\n' Text
+
+'PYTHON_HEADERS' Name.Variable
+'=' Operator
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/Python.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/Python-ast.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/asdl.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/abstract.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/boolobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/bufferobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/ceval.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/classobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/cobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/code.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/codecs.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/compile.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/complexobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/descrobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/dictobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/enumobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/genobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/fileobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/floatobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/funcobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/import.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/intobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/intrcheck.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/iterobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/listobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/longobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/methodobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/modsupport.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/moduleobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/object.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/objimpl.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/parsetok.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/patchlevel.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/pyarena.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/pydebug.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/pyerrors.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/pyfpe.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/pymem.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/pyport.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/pystate.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/pythonrun.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/rangeobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+' ' Text
+'Include/setobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/sliceobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/stringobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/structseq.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/structmember.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/symtable.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/sysmodule.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/traceback.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/tupleobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/unicodeobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Include/weakrefobject.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'pyconfig.h' Text
+'\n\n' Text
+
+'$(LIBRARY_OBJS) $(MODOBJS) Modules/python.o' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'PYTHON_HEADERS' Name.Variable
+')' Keyword
+'\n' Text
+
+'\n\n' Text
+
+'######################################################################\n' Comment
+
+'\n' Text
+
+'# Test the interpreter (twice, once without .pyc files, once with)\n' Comment
+
+"# In the past, we've had problems where bugs in the marshalling or\n" Comment
+
+'# elsewhere caused bytecode read from .pyc files to behave differently\n' Comment
+
+'# than bytecode generated directly from a .py source file. Sometimes\n' Comment
+
+'# the bytecode read from a .pyc file had the bug, somtimes the directly\n' Comment
+
+'# generated bytecode. This is sometimes a very shy bug needing a lot of\n' Comment
+
+'# sample data.\n' Comment
+
+'\n' Text
+
+'TESTOPTS' Name.Variable
+'=' Operator
+'\t' Text
+'-l' Text
+' ' Text
+'$(' Keyword
+'EXTRATESTOPTS' Text
+')' Keyword
+'\n' Text
+
+'TESTPROG' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Lib/test/regrtest.py' Text
+'\n' Text
+
+'TESTPYTHON' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'RUNSHARED' Text
+')' Keyword
+' ' Text
+'./' Text
+'$(' Keyword
+'BUILDPYTHON' Text
+')' Keyword
+' ' Text
+'-E' Text
+' ' Text
+'-tt' Text
+'\n' Text
+
+'test' Name.Function
+':' Operator
+'\t\t' Text
+'all' Name
+' ' Text
+'platform' Name
+'\n' Text
+
+'\t\t' Text
+'-find' Text
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Lib' Text
+' ' Text
+'-name' Text
+' ' Text
+"'*.py[co]'" Literal.String.Single
+' ' Text
+'-print' Text
+' ' Text
+'|' Punctuation
+' ' Text
+'xargs' Text
+' ' Text
+'rm' Text
+' ' Text
+'-f' Text
+'\n\t\t' Text
+'-' Text
+'$(' Keyword
+'TESTPYTHON' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'TESTPROG' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'TESTOPTS' Text
+')' Keyword
+'\n\t\t' Text
+'$(' Keyword
+'TESTPYTHON' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'TESTPROG' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'TESTOPTS' Text
+')' Keyword
+'\n\n' Text
+
+'testall' Name.Function
+':' Operator
+'\t' Text
+'all' Name
+' ' Text
+'platform' Name
+'\n' Text
+
+'\t\t' Text
+'-find' Text
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Lib' Text
+' ' Text
+'-name' Text
+' ' Text
+"'*.py[co]'" Literal.String.Single
+' ' Text
+'-print' Text
+' ' Text
+'|' Punctuation
+' ' Text
+'xargs' Text
+' ' Text
+'rm' Text
+' ' Text
+'-f' Text
+'\n\t\t' Text
+'-' Text
+'$(' Keyword
+'TESTPYTHON' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'TESTPROG' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'TESTOPTS' Text
+')' Keyword
+' ' Text
+'-uall' Text
+'\n\t\t' Text
+'$(' Keyword
+'TESTPYTHON' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'TESTPROG' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'TESTOPTS' Text
+')' Keyword
+' ' Text
+'-uall' Text
+'\n\n' Text
+
+'# Run the unitests for both architectures in a Universal build on OSX\n' Comment
+
+'# Must be run on an Intel box.\n' Comment
+
+'testuniversal' Name.Function
+':' Operator
+'\t' Text
+'all' Name
+' ' Text
+'platform' Name
+'\n' Text
+
+"\t\tif [ `arch` != 'i386' ];then \\\n" Comment.Preproc
+
+'\t\t\techo "This can only be used on OSX/i386" ;\\\n' Comment.Preproc
+
+'\t\t\texit 1 ;\\\n' Comment.Preproc
+
+'\t\tfi\n' Comment.Preproc
+
+'\t\t' Text
+'-find' Text
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Lib' Text
+' ' Text
+'-name' Text
+' ' Text
+"'*.py[co]'" Literal.String.Single
+' ' Text
+'-print' Text
+' ' Text
+'|' Punctuation
+' ' Text
+'xargs' Text
+' ' Text
+'rm' Text
+' ' Text
+'-f' Text
+'\n\t\t' Text
+'-' Text
+'$(' Keyword
+'TESTPYTHON' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'TESTPROG' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'TESTOPTS' Text
+')' Keyword
+' ' Text
+'-uall' Text
+'\n\t\t' Text
+'$(' Keyword
+'TESTPYTHON' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'TESTPROG' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'TESTOPTS' Text
+')' Keyword
+' ' Text
+'-uall' Text
+'\n\t\t' Text
+'$(' Keyword
+'RUNSHARED' Text
+')' Keyword
+' ' Text
+'/usr/libexec/oah/translate' Text
+' ' Text
+'./' Text
+'$(' Keyword
+'BUILDPYTHON' Text
+')' Keyword
+' ' Text
+'-E' Text
+' ' Text
+'-tt' Text
+' ' Text
+'$(' Keyword
+'TESTPROG' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'TESTOPTS' Text
+')' Keyword
+' ' Text
+'-uall' Text
+'\n\n\n' Text
+
+'# Like testall, but with a single pass only\n' Comment
+
+'buildbottest' Name.Function
+':' Operator
+'\t' Text
+'all' Name
+' ' Text
+'platform' Name
+'\n' Text
+
+'\t\t' Text
+'$(' Keyword
+'TESTPYTHON' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'TESTPROG' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'TESTOPTS' Text
+')' Keyword
+' ' Text
+'-uall' Text
+' ' Text
+'-rw' Text
+'\n\n' Text
+
+'QUICKTESTOPTS' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'TESTOPTS' Text
+')' Keyword
+' ' Text
+'-x' Text
+' ' Text
+'test_thread' Text
+' ' Text
+'test_signal' Text
+' ' Text
+'test_strftime' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'test_unicodedata' Text
+' ' Text
+'test_re' Text
+' ' Text
+'test_sre' Text
+' ' Text
+'test_select' Text
+' ' Text
+'test_poll' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'test_linuxaudiodev' Text
+' ' Text
+'test_struct' Text
+' ' Text
+'test_sunaudiodev' Text
+' ' Text
+'test_zlib' Text
+'\n' Text
+
+'quicktest' Name.Function
+':' Operator
+'\t' Text
+'all' Name
+' ' Text
+'platform' Name
+'\n' Text
+
+'\t\t' Text
+'-find' Text
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Lib' Text
+' ' Text
+'-name' Text
+' ' Text
+"'*.py[co]'" Literal.String.Single
+' ' Text
+'-print' Text
+' ' Text
+'|' Punctuation
+' ' Text
+'xargs' Text
+' ' Text
+'rm' Text
+' ' Text
+'-f' Text
+'\n\t\t' Text
+'-' Text
+'$(' Keyword
+'TESTPYTHON' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'TESTPROG' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'QUICKTESTOPTS' Text
+')' Keyword
+'\n\t\t' Text
+'$(' Keyword
+'TESTPYTHON' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'TESTPROG' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'QUICKTESTOPTS' Text
+')' Keyword
+'\n\n' Text
+
+'MEMTESTOPTS' Name.Variable
+'=' Operator
+' ' Text
+'$(' Keyword
+'QUICKTESTOPTS' Text
+')' Keyword
+' ' Text
+'-x' Text
+' ' Text
+'test_dl' Text
+' ' Text
+'test___all__' Text
+' ' Text
+'test_fork1' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'test_longexp' Text
+'\n' Text
+
+'memtest' Name.Function
+':' Operator
+'\t' Text
+'all' Name
+' ' Text
+'platform' Name
+'\n' Text
+
+'\t\t' Text
+'-rm' Text
+' ' Text
+'-f' Text
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Lib/test/*.py' Text
+'[' Operator
+'co' Text
+']' Operator
+'\n\t\t' Text
+'-' Text
+'$(' Keyword
+'TESTPYTHON' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'TESTPROG' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'MEMTESTOPTS' Text
+')' Keyword
+'\n\t\t' Text
+'$(' Keyword
+'TESTPYTHON' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'TESTPROG' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'MEMTESTOPTS' Text
+')' Keyword
+'\n\n' Text
+
+'# Install everything\n' Comment
+
+'install' Name.Function
+':' Operator
+'\t ' Text
+'altinstall' Name
+' ' Text
+'bininstall' Name
+' ' Text
+'maninstall' Name
+' ' Text
+'\n' Text
+
+'\n' Text
+
+'# Install almost everything without disturbing previous versions\n' Comment
+
+'altinstall' Name.Function
+':' Operator
+'\t ' Text
+'altbininstall' Name
+' ' Text
+'libinstall' Name
+' ' Text
+'inclinstall' Name
+' ' Text
+'libainstall' Name
+' ' Text
+'\\\n' Text
+
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+' ' Text
+'sharedinstall' Name
+' ' Text
+'oldsharedinstall' Name
+' ' Text
+'\n' Text
+
+'\n' Text
+
+'# Install shared libraries enabled by Setup\n' Comment
+
+'DESTDIRS' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'exec_prefix' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'LIBDIR' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'BINLIBDEST' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'DESTSHARED' Text
+')' Keyword
+'\n' Text
+
+'\n' Text
+
+'oldsharedinstall' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'DESTSHARED' Name.Variable
+')' Keyword
+' ' Text
+'$(' Keyword
+'SHAREDMODS' Name.Variable
+')' Keyword
+'\n' Text
+
+'\t\t' Text
+'@for' Text
+' ' Text
+'i' Text
+' ' Text
+'in' Keyword
+' ' Text
+'X' Text
+' ' Text
+'$(' Keyword
+'SHAREDMODS' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t if test $$i != X; then \\\n' Comment.Preproc
+
+'\t\t echo $(INSTALL_SHARED) $$i $(DESTSHARED)/`basename $$i`; \\\n' Comment.Preproc
+
+'\t\t $(INSTALL_SHARED) $$i $(DESTDIR)$(DESTSHARED)/`basename $$i`; \\\n' Comment.Preproc
+
+'\t\t fi; \\\n' Comment.Preproc
+
+'\t\tdone\n' Comment.Preproc
+
+'\n' Text
+
+'$(DESTSHARED)' Name.Function
+':' Operator
+'\n' Text
+
+'\t\t' Text
+'@for' Text
+' ' Text
+'i' Text
+' ' Text
+'in' Keyword
+' ' Text
+'$(' Keyword
+'DESTDIRS' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'do' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t\tif test ! -d $(DESTDIR)$$i; then \\\n' Comment.Preproc
+
+'\t\t\t\techo "Creating directory $$i"; \\\n' Comment.Preproc
+
+'\t\t\t\t$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \\\n' Comment.Preproc
+
+'\t\t\telse true; \\\n' Comment.Preproc
+
+'\t\t\tfi; \\\n' Comment.Preproc
+
+'\t\tdone\n' Comment.Preproc
+
+'\n\n' Text
+
+'# Install the interpreter (by creating a hard link to python$(VERSION))\n' Comment
+
+'bininstall' Name.Function
+':' Operator
+'\t' Text
+'altbininstall' Name
+'\n' Text
+
+'\t' Text
+'-if' Text
+' ' Text
+'test' Name.Builtin
+' ' Text
+'-f' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'BINDIR' Text
+')' Keyword
+'/' Text
+'$(' Keyword
+'PYTHON' Text
+')' Keyword
+' ' Text
+'-o' Text
+' ' Text
+'-h' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'BINDIR' Text
+')' Keyword
+'/' Text
+'$(' Keyword
+'PYTHON' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'then' Keyword
+' ' Text
+'rm' Text
+' ' Text
+'-f' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'BINDIR' Text
+')' Keyword
+'/' Text
+'$(' Keyword
+'PYTHON' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\telse true; \\\n' Comment.Preproc
+
+'\tfi\n' Comment.Preproc
+
+'\t' Text
+'(' Operator
+'cd' Name.Builtin
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'BINDIR' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'$(' Keyword
+'LN' Text
+')' Keyword
+' ' Text
+'python' Text
+'$(' Keyword
+'VERSION' Text
+')' Keyword
+'$(' Keyword
+'EXE' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'PYTHON' Text
+')' Keyword
+')' Operator
+'\n\t' Text
+'(' Operator
+'cd' Name.Builtin
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'BINDIR' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'$(' Keyword
+'LN' Text
+')' Keyword
+' ' Text
+'-sf' Text
+' ' Text
+'python' Text
+'$(' Keyword
+'VERSION' Text
+')' Keyword
+'-config' Text
+' ' Text
+'python-config' Text
+')' Operator
+'\n\n' Text
+
+'# Install the interpreter with $(VERSION) affixed\n' Comment
+
+'# This goes into $(exec_prefix)\n' Comment
+
+'altbininstall' Name.Function
+':' Operator
+'\t' Text
+'$(' Keyword
+'BUILDPYTHON' Name.Variable
+')' Keyword
+'\n' Text
+
+'\t' Text
+'@for' Text
+' ' Text
+'i' Text
+' ' Text
+'in' Keyword
+' ' Text
+'$(' Keyword
+'BINDIR' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'LIBDIR' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'do' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\tif test ! -d $(DESTDIR)$$i; then \\\n' Comment.Preproc
+
+'\t\t\techo "Creating directory $$i"; \\\n' Comment.Preproc
+
+'\t\t\t$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \\\n' Comment.Preproc
+
+'\t\telse\ttrue; \\\n' Comment.Preproc
+
+'\t\tfi; \\\n' Comment.Preproc
+
+'\tdone\n' Comment.Preproc
+
+'\t' Text
+'$(' Keyword
+'INSTALL_PROGRAM' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'BUILDPYTHON' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'BINDIR' Text
+')' Keyword
+'/python' Text
+'$(' Keyword
+'VERSION' Text
+')' Keyword
+'$(' Keyword
+'EXE' Text
+')' Keyword
+'\n' Text
+
+'\tif test -f libpython$(VERSION)$(SO); then \\\n' Comment.Preproc
+
+'\t\tif test "$(SO)" = .dll; then \\\n' Comment.Preproc
+
+'\t\t\t$(INSTALL_SHARED) libpython$(VERSION)$(SO) $(DESTDIR)$(BINDIR); \\\n' Comment.Preproc
+
+'\t\telse \\\n' Comment.Preproc
+
+'\t\t\t$(INSTALL_SHARED) libpython$(VERSION)$(SO) $(DESTDIR)$(LIBDIR)/$(INSTSONAME); \\\n' Comment.Preproc
+
+'\t\t\tif test libpython$(VERSION)$(SO) != $(INSTSONAME); then \\\n' Comment.Preproc
+
+'\t\t\t\t(cd $(DESTDIR)$(LIBDIR); $(LN) -sf $(INSTSONAME) libpython$(VERSION)$(SO)); \\\n' Comment.Preproc
+
+'\t\t\tfi \\\n' Comment.Preproc
+
+'\t\tfi; \\\n' Comment.Preproc
+
+'\telse\ttrue; \\\n' Comment.Preproc
+
+'\tfi\n' Comment.Preproc
+
+'\n' Text
+
+'# Install the manual page\n' Comment
+
+'maninstall' Name.Function
+':' Operator
+'\n' Text
+
+'\t' Text
+'@for' Text
+' ' Text
+'i' Text
+' ' Text
+'in' Keyword
+' ' Text
+'$(' Keyword
+'MANDIR' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'MANDIR' Text
+')' Keyword
+'/man1' Text
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'do' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\tif test ! -d $(DESTDIR)$$i; then \\\n' Comment.Preproc
+
+'\t\t\techo "Creating directory $$i"; \\\n' Comment.Preproc
+
+'\t\t\t$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \\\n' Comment.Preproc
+
+'\t\telse\ttrue; \\\n' Comment.Preproc
+
+'\t\tfi; \\\n' Comment.Preproc
+
+'\tdone\n' Comment.Preproc
+
+'\t' Text
+'$(' Keyword
+'INSTALL_DATA' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Misc/python.man' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'MANDIR' Text
+')' Keyword
+'/man1/python.1' Text
+'\n\n' Text
+
+'# Install the library\n' Comment
+
+'PLATDIR' Name.Variable
+'=' Operator
+'\t' Text
+'plat-' Text
+'$(' Keyword
+'MACHDEP' Text
+')' Keyword
+'\n' Text
+
+'EXTRAPLATDIR' Name.Variable
+'=' Operator
+' ' Text
+'\n' Text
+
+'EXTRAMACHDEPPATH' Name.Variable
+'=' Operator
+'\n' Text
+
+'MACHDEPS' Name.Variable
+'=' Operator
+'\t' Text
+'$(' Keyword
+'PLATDIR' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'EXTRAPLATDIR' Text
+')' Keyword
+'\n' Text
+
+'XMLLIBSUBDIRS' Name.Variable
+'=' Operator
+' ' Text
+'xml' Text
+' ' Text
+'xml/dom' Text
+' ' Text
+'xml/etree' Text
+' ' Text
+'xml/parsers' Text
+' ' Text
+'xml/sax' Text
+'\n' Text
+
+'PLATMACDIRS' Name.Variable
+'=' Operator
+' ' Text
+'plat-mac' Text
+' ' Text
+'plat-mac/Carbon' Text
+' ' Text
+'plat-mac/lib-scriptpackages' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'plat-mac/lib-scriptpackages/_builtinSuites' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'plat-mac/lib-scriptpackages/CodeWarrior' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'plat-mac/lib-scriptpackages/Explorer' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'plat-mac/lib-scriptpackages/Finder' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'plat-mac/lib-scriptpackages/Netscape' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'plat-mac/lib-scriptpackages/StdSuites' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'plat-mac/lib-scriptpackages/SystemEvents' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'plat-mac/lib-scriptpackages/Terminal' Text
+' \n' Text
+
+'PLATMACPATH' Name.Variable
+'=' Operator
+':plat-mac:plat-mac/lib-scriptpackages' Text
+'\n' Text
+
+'LIBSUBDIRS' Name.Variable
+'=' Operator
+'\t' Text
+'lib-tk' Text
+' ' Text
+'site-packages' Text
+' ' Text
+'test' Name.Builtin
+' ' Text
+'test/output' Text
+' ' Text
+'test/data' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'test/decimaltestdata' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'encodings' Text
+' ' Text
+'compiler' Text
+' ' Text
+'hotshot' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'email' Text
+' ' Text
+'email/mime' Text
+' ' Text
+'email/test' Text
+' ' Text
+'email/test/data' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'sqlite3' Text
+' ' Text
+'sqlite3/test' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'logging' Text
+' ' Text
+'bsddb' Text
+' ' Text
+'bsddb/test' Text
+' ' Text
+'csv' Text
+' ' Text
+'wsgiref' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'ctypes' Text
+' ' Text
+'ctypes/test' Text
+' ' Text
+'ctypes/macholib' Text
+' ' Text
+'idlelib' Text
+' ' Text
+'idlelib/Icons' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'distutils' Text
+' ' Text
+'distutils/command' Text
+' ' Text
+'distutils/tests' Text
+' ' Text
+'$(' Keyword
+'XMLLIBSUBDIRS' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'setuptools' Text
+' ' Text
+'setuptools/command' Text
+' ' Text
+'setuptools/tests' Text
+' ' Text
+'setuptools.egg-info' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'curses' Text
+' ' Text
+'$(' Keyword
+'MACHDEPS' Text
+')' Keyword
+'\n' Text
+
+'libinstall' Name.Function
+':' Operator
+'\t' Text
+'$(' Keyword
+'BUILDPYTHON' Name.Variable
+')' Keyword
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Lib' Name
+'/' Text
+'$(' Keyword
+'PLATDIR' Name.Variable
+')' Keyword
+'\n' Text
+
+'\t' Text
+'@for' Text
+' ' Text
+'i' Text
+' ' Text
+'in' Keyword
+' ' Text
+'$(' Keyword
+'SCRIPTDIR' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'LIBDEST' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'do' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\tif test ! -d $(DESTDIR)$$i; then \\\n' Comment.Preproc
+
+'\t\t\techo "Creating directory $$i"; \\\n' Comment.Preproc
+
+'\t\t\t$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \\\n' Comment.Preproc
+
+'\t\telse\ttrue; \\\n' Comment.Preproc
+
+'\t\tfi; \\\n' Comment.Preproc
+
+'\tdone\n' Comment.Preproc
+
+'\t' Text
+'@for' Text
+' ' Text
+'d' Text
+' ' Text
+'in' Keyword
+' ' Text
+'$(' Keyword
+'LIBSUBDIRS' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'do' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'a' Name.Variable
+'=' Operator
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Lib/' Text
+'$$' Name.Variable
+'d' Text
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\tif test ! -d $$a; then continue; else true; fi; \\\n' Comment.Preproc
+
+'\t\tb=$(LIBDEST)/$$d; \\\n' Comment.Preproc
+
+'\t\tif test ! -d $(DESTDIR)$$b; then \\\n' Comment.Preproc
+
+'\t\t\techo "Creating directory $$b"; \\\n' Comment.Preproc
+
+'\t\t\t$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$b; \\\n' Comment.Preproc
+
+'\t\telse\ttrue; \\\n' Comment.Preproc
+
+'\t\tfi; \\\n' Comment.Preproc
+
+'\tdone\n' Comment.Preproc
+
+'\t' Text
+'@for' Text
+' ' Text
+'i' Text
+' ' Text
+'in' Keyword
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Lib/*.py' Text
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Lib/*.doc' Text
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Lib/*.egg-info' Text
+' ' Text
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'do' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\tif test -x $$i; then \\\n' Comment.Preproc
+
+'\t\t\t$(INSTALL_SCRIPT) $$i $(DESTDIR)$(LIBDEST); \\\n' Comment.Preproc
+
+'\t\t\techo $(INSTALL_SCRIPT) $$i $(LIBDEST); \\\n' Comment.Preproc
+
+'\t\telse \\\n' Comment.Preproc
+
+'\t\t\t$(INSTALL_DATA) $$i $(DESTDIR)$(LIBDEST); \\\n' Comment.Preproc
+
+'\t\t\techo $(INSTALL_DATA) $$i $(LIBDEST); \\\n' Comment.Preproc
+
+'\t\tfi; \\\n' Comment.Preproc
+
+'\tdone\n' Comment.Preproc
+
+'\t' Text
+'@for' Text
+' ' Text
+'d' Text
+' ' Text
+'in' Keyword
+' ' Text
+'$(' Keyword
+'LIBSUBDIRS' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'do' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'a' Name.Variable
+'=' Operator
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Lib/' Text
+'$$' Name.Variable
+'d' Text
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\tif test ! -d $$a; then continue; else true; fi; \\\n' Comment.Preproc
+
+'\t\tif test `ls $$a | wc -l` -lt 1; then continue; fi; \\\n' Comment.Preproc
+
+'\t\tb=$(LIBDEST)/$$d; \\\n' Comment.Preproc
+
+'\t\tfor i in $$a/*; \\\n' Comment.Preproc
+
+'\t\tdo \\\n' Comment.Preproc
+
+'\t\t\tcase $$i in \\\n' Comment.Preproc
+
+'\t\t\t*CVS) ;; \\\n' Comment.Preproc
+
+'\t\t\t*.py[co]) ;; \\\n' Comment.Preproc
+
+'\t\t\t*.orig) ;; \\\n' Comment.Preproc
+
+'\t\t\t*~) ;; \\\n' Comment.Preproc
+
+'\t\t\t*) \\\n' Comment.Preproc
+
+'\t\t\t\tif test -d $$i; then continue; fi; \\\n' Comment.Preproc
+
+'\t\t\t\tif test -x $$i; then \\\n' Comment.Preproc
+
+'\t\t\t\t echo $(INSTALL_SCRIPT) $$i $$b; \\\n' Comment.Preproc
+
+'\t\t\t\t $(INSTALL_SCRIPT) $$i $(DESTDIR)$$b; \\\n' Comment.Preproc
+
+'\t\t\t\telse \\\n' Comment.Preproc
+
+'\t\t\t\t echo $(INSTALL_DATA) $$i $$b; \\\n' Comment.Preproc
+
+'\t\t\t\t $(INSTALL_DATA) $$i $(DESTDIR)$$b; \\\n' Comment.Preproc
+
+'\t\t\t\tfi;; \\\n' Comment.Preproc
+
+'\t\t\tesac; \\\n' Comment.Preproc
+
+'\t\tdone; \\\n' Comment.Preproc
+
+'\tdone\n' Comment.Preproc
+
+'\t' Text
+'$(' Keyword
+'INSTALL_DATA' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/LICENSE' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBDEST' Text
+')' Keyword
+'/LICENSE.txt' Text
+'\n\t' Text
+'PYTHONPATH' Name.Variable
+'=' Operator
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBDEST' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'RUNSHARED' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'./' Text
+'$(' Keyword
+'BUILDPYTHON' Text
+')' Keyword
+' ' Text
+'-Wi' Text
+' ' Text
+'-tt' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBDEST' Text
+')' Keyword
+'/compileall.py' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-d' Text
+' ' Text
+'$(' Keyword
+'LIBDEST' Text
+')' Keyword
+' ' Text
+'-f' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-x' Text
+' ' Text
+"'bad_coding|badsyntax|site-packages'" Literal.String.Single
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBDEST' Text
+')' Keyword
+'\n\t' Text
+'PYTHONPATH' Name.Variable
+'=' Operator
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBDEST' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'RUNSHARED' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'./' Text
+'$(' Keyword
+'BUILDPYTHON' Text
+')' Keyword
+' ' Text
+'-Wi' Text
+' ' Text
+'-tt' Text
+' ' Text
+'-O' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBDEST' Text
+')' Keyword
+'/compileall.py' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-d' Text
+' ' Text
+'$(' Keyword
+'LIBDEST' Text
+')' Keyword
+' ' Text
+'-f' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-x' Text
+' ' Text
+"'bad_coding|badsyntax|site-packages'" Literal.String.Single
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBDEST' Text
+')' Keyword
+'\n\t' Text
+'-PYTHONPATH' Text
+'=' Operator
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBDEST' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'RUNSHARED' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'./' Text
+'$(' Keyword
+'BUILDPYTHON' Text
+')' Keyword
+' ' Text
+'-Wi' Text
+' ' Text
+'-t' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBDEST' Text
+')' Keyword
+'/compileall.py' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-d' Text
+' ' Text
+'$(' Keyword
+'LIBDEST' Text
+')' Keyword
+'/site-packages' Text
+' ' Text
+'-f' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-x' Text
+' ' Text
+'badsyntax' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBDEST' Text
+')' Keyword
+'/site-packages' Text
+'\n\t' Text
+'-PYTHONPATH' Text
+'=' Operator
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBDEST' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'RUNSHARED' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'./' Text
+'$(' Keyword
+'BUILDPYTHON' Text
+')' Keyword
+' ' Text
+'-Wi' Text
+' ' Text
+'-t' Text
+' ' Text
+'-O' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBDEST' Text
+')' Keyword
+'/compileall.py' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-d' Text
+' ' Text
+'$(' Keyword
+'LIBDEST' Text
+')' Keyword
+'/site-packages' Text
+' ' Text
+'-f' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-x' Text
+' ' Text
+'badsyntax' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBDEST' Text
+')' Keyword
+'/site-packages' Text
+'\n\n' Text
+
+"# Create the PLATDIR source directory, if one wasn't distributed..\n" Comment
+
+'$(srcdir)/Lib/$(PLATDIR)' Name.Function
+':' Operator
+'\n' Text
+
+'\t' Text
+'mkdir' Text
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Lib/' Text
+'$(' Keyword
+'PLATDIR' Text
+')' Keyword
+'\n\t' Text
+'cp' Text
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Lib/plat-generic/regen' Text
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Lib/' Text
+'$(' Keyword
+'PLATDIR' Text
+')' Keyword
+'/regen' Text
+'\n\t' Text
+'export' Name.Builtin
+' ' Text
+'PATH' Text
+';' Punctuation
+' ' Text
+'PATH' Name.Variable
+'=' Operator
+'"' Literal.String.Double
+'`pwd`:' Literal.String.Double
+'$$' Name.Variable
+'PATH' Literal.String.Double
+'"' Literal.String.Double
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'export' Name.Builtin
+' ' Text
+'PYTHONPATH' Text
+';' Punctuation
+' ' Text
+'PYTHONPATH' Name.Variable
+'=' Operator
+'"`pwd`/Lib"' Literal.String.Double
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'export' Name.Builtin
+' ' Text
+'DYLD_FRAMEWORK_PATH' Text
+';' Punctuation
+' ' Text
+'DYLD_FRAMEWORK_PATH' Name.Variable
+'=' Operator
+'"`pwd`"' Literal.String.Double
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'export' Name.Builtin
+' ' Text
+'EXE' Text
+';' Punctuation
+' ' Text
+'EXE' Name.Variable
+'=' Operator
+'"' Literal.String.Double
+'$(' Keyword
+'BUILDEXE' Text
+')' Keyword
+'"' Literal.String.Double
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'cd' Name.Builtin
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Lib/' Text
+'$(' Keyword
+'PLATDIR' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'./regen' Text
+'\n\n' Text
+
+'# Install the include files\n' Comment
+
+'INCLDIRSTOMAKE' Name.Variable
+'=' Operator
+'$(' Keyword
+'INCLUDEDIR' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'CONFINCLUDEDIR' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'INCLUDEPY' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'CONFINCLUDEPY' Text
+')' Keyword
+'\n' Text
+
+'inclinstall' Name.Function
+':' Operator
+'\n' Text
+
+'\t' Text
+'@for' Text
+' ' Text
+'i' Text
+' ' Text
+'in' Keyword
+' ' Text
+'$(' Keyword
+'INCLDIRSTOMAKE' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'do' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\tif test ! -d $(DESTDIR)$$i; then \\\n' Comment.Preproc
+
+'\t\t\techo "Creating directory $$i"; \\\n' Comment.Preproc
+
+'\t\t\t$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \\\n' Comment.Preproc
+
+'\t\telse\ttrue; \\\n' Comment.Preproc
+
+'\t\tfi; \\\n' Comment.Preproc
+
+'\tdone\n' Comment.Preproc
+
+'\t' Text
+'@for' Text
+' ' Text
+'i' Text
+' ' Text
+'in' Keyword
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Include/*.h' Text
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'do' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'echo' Name.Builtin
+' ' Text
+'$(' Keyword
+'INSTALL_DATA' Text
+')' Keyword
+' ' Text
+'$$' Name.Variable
+'i' Text
+' ' Text
+'$(' Keyword
+'INCLUDEPY' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'INSTALL_DATA' Text
+')' Keyword
+' ' Text
+'$$' Name.Variable
+'i' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'INCLUDEPY' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'done' Keyword
+'\n\t' Text
+'$(' Keyword
+'INSTALL_DATA' Text
+')' Keyword
+' ' Text
+'pyconfig.h' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'CONFINCLUDEPY' Text
+')' Keyword
+'/pyconfig.h' Text
+'\n\n' Text
+
+'# Install the library and miscellaneous stuff needed for extending/embedding\n' Comment
+
+'# This goes into $(exec_prefix)\n' Comment
+
+'LIBPL' Name.Variable
+'=' Operator
+'\t\t' Text
+'$(' Keyword
+'LIBP' Text
+')' Keyword
+'/config' Text
+'\n' Text
+
+'libainstall' Name.Function
+':' Operator
+'\t' Text
+'all' Name
+'\n' Text
+
+'\t' Text
+'@for' Text
+' ' Text
+'i' Text
+' ' Text
+'in' Keyword
+' ' Text
+'$(' Keyword
+'LIBDIR' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'LIBP' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'LIBPL' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'do' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\tif test ! -d $(DESTDIR)$$i; then \\\n' Comment.Preproc
+
+'\t\t\techo "Creating directory $$i"; \\\n' Comment.Preproc
+
+'\t\t\t$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \\\n' Comment.Preproc
+
+'\t\telse\ttrue; \\\n' Comment.Preproc
+
+'\t\tfi; \\\n' Comment.Preproc
+
+'\tdone\n' Comment.Preproc
+
+'\t' Text
+'@if' Text
+' ' Text
+'test' Name.Builtin
+' ' Text
+'-d' Text
+' ' Text
+'$(' Keyword
+'LIBRARY' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'then' Keyword
+' ' Text
+':' Text
+';' Punctuation
+' ' Text
+'else' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\tif test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \\\n' Comment.Preproc
+
+'\t\t\tif test "$(SO)" = .dll; then \\\n' Comment.Preproc
+
+'\t\t\t\t$(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \\\n' Comment.Preproc
+
+'\t\t\telse \\\n' Comment.Preproc
+
+'\t\t\t\t$(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \\\n' Comment.Preproc
+
+'\t\t\t\t$(RANLIB) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \\\n' Comment.Preproc
+
+'\t\t\tfi; \\\n' Comment.Preproc
+
+'\t\telse \\\n' Comment.Preproc
+
+'\t\t\techo Skip install of $(LIBRARY) - use make frameworkinstall; \\\n' Comment.Preproc
+
+'\t\tfi; \\\n' Comment.Preproc
+
+'\tfi\n' Comment.Preproc
+
+'\t' Text
+'$(' Keyword
+'INSTALL_DATA' Text
+')' Keyword
+' ' Text
+'Modules/config.c' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBPL' Text
+')' Keyword
+'/config.c' Text
+'\n\t' Text
+'$(' Keyword
+'INSTALL_DATA' Text
+')' Keyword
+' ' Text
+'Modules/python.o' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBPL' Text
+')' Keyword
+'/python.o' Text
+'\n\t' Text
+'$(' Keyword
+'INSTALL_DATA' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Modules/config.c.in' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBPL' Text
+')' Keyword
+'/config.c.in' Text
+'\n\t' Text
+'$(' Keyword
+'INSTALL_DATA' Text
+')' Keyword
+' ' Text
+'Makefile' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBPL' Text
+')' Keyword
+'/Makefile' Text
+'\n\t' Text
+'$(' Keyword
+'INSTALL_DATA' Text
+')' Keyword
+' ' Text
+'Modules/Setup' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBPL' Text
+')' Keyword
+'/Setup' Text
+'\n\t' Text
+'$(' Keyword
+'INSTALL_DATA' Text
+')' Keyword
+' ' Text
+'Modules/Setup.local' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBPL' Text
+')' Keyword
+'/Setup.local' Text
+'\n\t' Text
+'$(' Keyword
+'INSTALL_DATA' Text
+')' Keyword
+' ' Text
+'Modules/Setup.config' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBPL' Text
+')' Keyword
+'/Setup.config' Text
+'\n\t' Text
+'$(' Keyword
+'INSTALL_SCRIPT' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Modules/makesetup' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBPL' Text
+')' Keyword
+'/makesetup' Text
+'\n\t' Text
+'$(' Keyword
+'INSTALL_SCRIPT' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/install-sh' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBPL' Text
+')' Keyword
+'/install-sh' Text
+'\n' Text
+
+'\t# Substitution happens here, as the completely-expanded BINDIR\n' Comment
+
+'\t# is not available in configure\n' Comment
+
+'\t' Text
+'sed' Text
+' ' Text
+'-e' Text
+' ' Text
+'"' Literal.String.Double
+'s,@EXENAME@,' Literal.String.Double
+'$(' Keyword
+'BINDIR' Text
+')' Keyword
+'/python' Literal.String.Double
+'$(' Keyword
+'VERSION' Text
+')' Keyword
+'$(' Keyword
+'EXE' Text
+')' Keyword
+',' Literal.String.Double
+'"' Literal.String.Double
+' ' Text
+'<' Text
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Misc/python-config.in' Text
+' ' Text
+'>python-config' Text
+'\n\t' Text
+'$(' Keyword
+'INSTALL_SCRIPT' Text
+')' Keyword
+' ' Text
+'python-config' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'BINDIR' Text
+')' Keyword
+'/python' Text
+'$(' Keyword
+'VERSION' Text
+')' Keyword
+'-config' Text
+'\n\t' Text
+'rm' Text
+' ' Text
+'python-config' Text
+'\n\t' Text
+'@if' Text
+' ' Text
+'[' Operator
+' ' Text
+'-s' Text
+' ' Text
+'Modules/python.exp' Text
+' ' Text
+'-a' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'"' Literal.String.Double
+'`echo ' Literal.String.Double
+'$(' Keyword
+'MACHDEP' Text
+')' Keyword
+" | sed 's/^\\(...\\).*/\\1/'`" Literal.String.Double
+'"' Literal.String.Double
+' ' Text
+'=' Operator
+' ' Text
+'"aix"' Literal.String.Double
+' ' Text
+']' Operator
+';' Punctuation
+' ' Text
+'then' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'echo' Text
+';' Punctuation
+' ' Text
+'echo' Name.Builtin
+' ' Text
+'"Installing support files for building shared extension modules on AIX:"' Literal.String.Double
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'INSTALL_DATA' Text
+')' Keyword
+' ' Text
+'Modules/python.exp' Text
+'\t\t' Text
+'\\\n' Literal.String.Escape
+
+'\t\t\t\t' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBPL' Text
+')' Keyword
+'/python.exp' Text
+';' Punctuation
+'\t\t' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'echo' Text
+';' Punctuation
+' ' Text
+'echo' Name.Builtin
+' ' Text
+'"' Literal.String.Double
+'$(' Keyword
+'LIBPL' Text
+')' Keyword
+'/python.exp' Literal.String.Double
+'"' Literal.String.Double
+';' Punctuation
+'\t\t' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'INSTALL_SCRIPT' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Modules/makexp_aix' Text
+'\t' Text
+'\\\n' Literal.String.Escape
+
+'\t\t\t\t' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBPL' Text
+')' Keyword
+'/makexp_aix' Text
+';' Punctuation
+'\t\t' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'echo' Name.Builtin
+' ' Text
+'"' Literal.String.Double
+'$(' Keyword
+'LIBPL' Text
+')' Keyword
+'/makexp_aix' Literal.String.Double
+'"' Literal.String.Double
+';' Punctuation
+'\t\t\t' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'INSTALL_SCRIPT' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Modules/ld_so_aix' Text
+'\t' Text
+'\\\n' Literal.String.Escape
+
+'\t\t\t\t' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBPL' Text
+')' Keyword
+'/ld_so_aix' Text
+';' Punctuation
+'\t\t' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'echo' Name.Builtin
+' ' Text
+'"' Literal.String.Double
+'$(' Keyword
+'LIBPL' Text
+')' Keyword
+'/ld_so_aix' Literal.String.Double
+'"' Literal.String.Double
+';' Punctuation
+'\t\t\t' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'echo' Text
+';' Punctuation
+' ' Text
+'echo' Name.Builtin
+' ' Text
+'"See Misc/AIX-NOTES for details."' Literal.String.Double
+';' Punctuation
+'\t' Text
+'\\\n' Literal.String.Escape
+
+'\telse true; \\\n' Comment.Preproc
+
+'\tfi\n' Comment.Preproc
+
+'\t' Text
+'@case' Text
+' ' Text
+'"' Literal.String.Double
+'$(' Keyword
+'MACHDEP' Text
+')' Keyword
+'"' Literal.String.Double
+' ' Text
+'in' Keyword
+' ' Text
+'beos*' Text
+')' Operator
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'echo' Text
+';' Punctuation
+' ' Text
+'echo' Name.Builtin
+' ' Text
+'"Installing support files for building shared extension modules on BeOS:"' Literal.String.Double
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'INSTALL_DATA' Text
+')' Keyword
+' ' Text
+'Misc/BeOS-NOTES' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBPL' Text
+')' Keyword
+'/README' Text
+';' Punctuation
+'\t' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'echo' Text
+';' Punctuation
+' ' Text
+'echo' Name.Builtin
+' ' Text
+'"' Literal.String.Double
+'$(' Keyword
+'LIBPL' Text
+')' Keyword
+'/README' Literal.String.Double
+'"' Literal.String.Double
+';' Punctuation
+'\t\t\t' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'INSTALL_SCRIPT' Text
+')' Keyword
+' ' Text
+'Modules/ar_beos' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBPL' Text
+')' Keyword
+'/ar_beos' Text
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'echo' Name.Builtin
+' ' Text
+'"' Literal.String.Double
+'$(' Keyword
+'LIBPL' Text
+')' Keyword
+'/ar_beos' Literal.String.Double
+'"' Literal.String.Double
+';' Punctuation
+'\t\t\t' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'INSTALL_SCRIPT' Text
+')' Keyword
+' ' Text
+'Modules/ld_so_beos' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'LIBPL' Text
+')' Keyword
+'/ld_so_beos' Text
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'echo' Name.Builtin
+' ' Text
+'"' Literal.String.Double
+'$(' Keyword
+'LIBPL' Text
+')' Keyword
+'/ld_so_beos' Literal.String.Double
+'"' Literal.String.Double
+';' Punctuation
+'\t\t\t' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'echo' Text
+';' Punctuation
+' ' Text
+'echo' Name.Builtin
+' ' Text
+'"See Misc/BeOS-NOTES for details."' Literal.String.Double
+';' Punctuation
+'\t' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+';' Punctuation
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'esac' Keyword
+'\n\n' Text
+
+'# Install the dynamically loadable modules\n' Comment
+
+'# This goes into $(exec_prefix)\n' Comment
+
+'sharedinstall' Name.Function
+':' Operator
+'\n' Text
+
+'\t' Text
+'$(' Keyword
+'RUNSHARED' Text
+')' Keyword
+' ' Text
+'./' Text
+'$(' Keyword
+'BUILDPYTHON' Text
+')' Keyword
+' ' Text
+'-E' Text
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/setup.py' Text
+' ' Text
+'install' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t \t' Text
+'--prefix' Text
+'=' Operator
+'$(' Keyword
+'prefix' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'--install-scripts' Text
+'=' Operator
+'$(' Keyword
+'BINDIR' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'--install-platlib' Text
+'=' Operator
+'$(' Keyword
+'DESTSHARED' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'--root' Text
+'=' Operator
+'/' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'\n\n' Text
+
+'# Here are a couple of targets for MacOSX again, to install a full\n' Comment
+
+'# framework-based Python. frameworkinstall installs everything, the\n' Comment
+
+'# subtargets install specific parts. Much of the actual work is offloaded to\n' Comment
+
+'# the Makefile in Mac\n' Comment
+
+'#\n' Comment
+
+'#\n' Comment
+
+'# This target is here for backward compatiblity, previous versions of Python\n' Comment
+
+"# hadn't integrated framework installation in the normal install process.\n" Comment
+
+'frameworkinstall' Name.Function
+':' Operator
+' ' Text
+'install' Name
+'\n' Text
+
+'\n' Text
+
+'# On install, we re-make the framework\n' Comment
+
+'# structure in the install location, /Library/Frameworks/ or the argument to\n' Comment
+
+'# --enable-framework. If --enable-framework has been specified then we have\n' Comment
+
+'# automatically set prefix to the location deep down in the framework, so we\n' Comment
+
+'# only have to cater for the structural bits of the framework.\n' Comment
+
+'\n' Text
+
+'frameworkinstallframework' Name.Function
+':' Operator
+' ' Text
+'frameworkinstallstructure' Name
+' ' Text
+'install' Name
+' ' Text
+'frameworkinstallmaclib' Name
+'\n' Text
+
+'\n' Text
+
+'frameworkinstallstructure' Name.Function
+':' Operator
+'\t' Text
+'$(' Keyword
+'LDLIBRARY' Name.Variable
+')' Keyword
+'\n' Text
+
+'\t' Text
+'@if' Text
+' ' Text
+'test' Name.Builtin
+' ' Text
+'"' Literal.String.Double
+'$(' Keyword
+'PYTHONFRAMEWORKDIR' Text
+')' Keyword
+'"' Literal.String.Double
+' ' Text
+'=' Operator
+' ' Text
+'no-framework' Text
+';' Punctuation
+' ' Text
+'then' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'echo' Name.Builtin
+' ' Text
+'Not' Text
+' ' Text
+'configured' Text
+' ' Text
+'with' Text
+' ' Text
+'--enable-framework' Text
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'exit' Name.Builtin
+' ' Text
+'1' Literal.Number
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\telse true; \\\n' Comment.Preproc
+
+'\tfi\n' Comment.Preproc
+
+'\t' Text
+'@for' Text
+' ' Text
+'i' Text
+' ' Text
+'in' Keyword
+' ' Text
+'$(' Keyword
+'prefix' Text
+')' Keyword
+'/Resources/English.lproj' Text
+' ' Text
+'$(' Keyword
+'prefix' Text
+')' Keyword
+'/lib' Text
+';' Punctuation
+' ' Text
+'do' Keyword
+'\\\n' Literal.String.Escape
+
+'\t\tif test ! -d $(DESTDIR)$$i; then \\\n' Comment.Preproc
+
+'\t\t\techo "Creating directory $(DESTDIR)$$i"; \\\n' Comment.Preproc
+
+'\t\t\t$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \\\n' Comment.Preproc
+
+'\t\telse\ttrue; \\\n' Comment.Preproc
+
+'\t\tfi; \\\n' Comment.Preproc
+
+'\tdone\n' Comment.Preproc
+
+'\t' Text
+'$(' Keyword
+'LN' Text
+')' Keyword
+' ' Text
+'-fsn' Text
+' ' Text
+'include/python' Text
+'$(' Keyword
+'VERSION' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'prefix' Text
+')' Keyword
+'/Headers' Text
+'\n\t' Text
+'$(' Keyword
+'INSTALL_DATA' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'RESSRCDIR' Text
+')' Keyword
+'/Info.plist' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'prefix' Text
+')' Keyword
+'/Resources/Info.plist' Text
+'\n\t' Text
+'$(' Keyword
+'INSTALL_DATA' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'RESSRCDIR' Text
+')' Keyword
+'/version.plist' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'prefix' Text
+')' Keyword
+'/Resources/version.plist' Text
+'\n\t' Text
+'$(' Keyword
+'INSTALL_DATA' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'RESSRCDIR' Text
+')' Keyword
+'/English.lproj/InfoPlist.strings' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'prefix' Text
+')' Keyword
+'/Resources/English.lproj/InfoPlist.strings' Text
+'\n\t' Text
+'$(' Keyword
+'LN' Text
+')' Keyword
+' ' Text
+'-fsn' Text
+' ' Text
+'$(' Keyword
+'VERSION' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'PYTHONFRAMEWORKINSTALLDIR' Text
+')' Keyword
+'/Versions/Current' Text
+'\n\t' Text
+'$(' Keyword
+'LN' Text
+')' Keyword
+' ' Text
+'-fsn' Text
+' ' Text
+'Versions/Current/Python' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'PYTHONFRAMEWORKINSTALLDIR' Text
+')' Keyword
+'/Python' Text
+'\n\t' Text
+'$(' Keyword
+'LN' Text
+')' Keyword
+' ' Text
+'-fsn' Text
+' ' Text
+'Versions/Current/Headers' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'PYTHONFRAMEWORKINSTALLDIR' Text
+')' Keyword
+'/Headers' Text
+'\n\t' Text
+'$(' Keyword
+'LN' Text
+')' Keyword
+' ' Text
+'-fsn' Text
+' ' Text
+'Versions/Current/Resources' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'PYTHONFRAMEWORKINSTALLDIR' Text
+')' Keyword
+'/Resources' Text
+'\n\t' Text
+'$(' Keyword
+'INSTALL_SHARED' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'LDLIBRARY' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'PYTHONFRAMEWORKPREFIX' Text
+')' Keyword
+'/' Text
+'$(' Keyword
+'LDLIBRARY' Text
+')' Keyword
+'\n\n' Text
+
+'# This installs Mac/Lib into the framework\n' Comment
+
+'# Install a number of symlinks to keep software that expects a normal unix\n' Comment
+
+'# install (which includes python-config) happy.\n' Comment
+
+'frameworkinstallmaclib' Name.Function
+':' Operator
+'\n' Text
+
+'\t' Text
+'ln' Text
+' ' Text
+'-fs' Text
+' ' Text
+'"../../../Python"' Literal.String.Double
+' ' Text
+'"' Literal.String.Double
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'prefix' Text
+')' Keyword
+'/lib/python' Literal.String.Double
+'$(' Keyword
+'VERSION' Text
+')' Keyword
+'/config/libpython' Literal.String.Double
+'$(' Keyword
+'VERSION' Text
+')' Keyword
+'.a' Literal.String.Double
+'"' Literal.String.Double
+'\n\t' Text
+'cd' Name.Builtin
+' ' Text
+'Mac' Text
+' ' Text
+'&&' Operator
+' ' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'installmacsubtree' Text
+' ' Text
+'DESTDIR' Name.Variable
+'=' Operator
+'"' Literal.String.Double
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'"' Literal.String.Double
+'\n\n' Text
+
+'# This installs the IDE, the Launcher and other apps into /Applications\n' Comment
+
+'frameworkinstallapps' Name.Function
+':' Operator
+'\n' Text
+
+'\t' Text
+'cd' Name.Builtin
+' ' Text
+'Mac' Text
+' ' Text
+'&&' Operator
+' ' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'installapps' Text
+' ' Text
+'DESTDIR' Name.Variable
+'=' Operator
+'"' Literal.String.Double
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'"' Literal.String.Double
+'\n\n' Text
+
+'# This install the unix python and pythonw tools in /usr/local/bin\n' Comment
+
+'frameworkinstallunixtools' Name.Function
+':' Operator
+'\n' Text
+
+'\t' Text
+'cd' Name.Builtin
+' ' Text
+'Mac' Text
+' ' Text
+'&&' Operator
+' ' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'installunixtools' Text
+' ' Text
+'DESTDIR' Name.Variable
+'=' Operator
+'"' Literal.String.Double
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'"' Literal.String.Double
+'\n\n' Text
+
+'frameworkaltinstallunixtools' Name.Function
+':' Operator
+'\n' Text
+
+'\t' Text
+'cd' Name.Builtin
+' ' Text
+'Mac' Text
+' ' Text
+'&&' Operator
+' ' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'altinstallunixtools' Text
+' ' Text
+'DESTDIR' Name.Variable
+'=' Operator
+'"' Literal.String.Double
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'"' Literal.String.Double
+'\n\n' Text
+
+'# This installs the Demos and Tools into the applications directory.\n' Comment
+
+'# It is not part of a normal frameworkinstall\n' Comment
+
+'frameworkinstallextras' Name.Function
+':' Operator
+'\n' Text
+
+'\t' Text
+'cd' Name.Builtin
+' ' Text
+'Mac' Text
+' ' Text
+'&&' Operator
+' ' Text
+'Make' Text
+' ' Text
+'installextras' Text
+' ' Text
+'DESTDIR' Name.Variable
+'=' Operator
+'"' Literal.String.Double
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'"' Literal.String.Double
+'\n\n' Text
+
+'# This installs a few of the useful scripts in Tools/scripts\n' Comment
+
+'scriptsinstall' Name.Function
+':' Operator
+'\n' Text
+
+'\t' Text
+'SRCDIR' Name.Variable
+'=' Operator
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'RUNSHARED' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'./' Text
+'$(' Keyword
+'BUILDPYTHON' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Tools/scripts/setup.py' Text
+' ' Text
+'install' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'--prefix' Text
+'=' Operator
+'$(' Keyword
+'prefix' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'--install-scripts' Text
+'=' Operator
+'$(' Keyword
+'BINDIR' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'--root' Text
+'=' Operator
+'/' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'\n\n' Text
+
+'# Build the toplevel Makefile\n' Comment
+
+'Makefile.pre' Name.Function
+':' Operator
+' ' Text
+'Makefile' Name
+'.' Text
+'pre' Name
+'.' Text
+'in' Name
+' ' Text
+'config' Name
+'.' Text
+'status' Name
+'\n' Text
+
+'\t' Text
+'CONFIG_FILES' Name.Variable
+'=' Operator
+'Makefile.pre' Text
+' ' Text
+'CONFIG_HEADERS' Name.Variable
+'=' Operator
+' ' Text
+'$(' Keyword
+'SHELL' Text
+')' Keyword
+' ' Text
+'config.status' Text
+'\n\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'-f' Text
+' ' Text
+'Makefile.pre' Text
+' ' Text
+'Makefile' Text
+'\n\n' Text
+
+'# Run the configure script.\n' Comment
+
+'config.status' Name.Function
+':' Operator
+'\t' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'configure' Name
+'\n' Text
+
+'\t' Text
+'$(' Keyword
+'SHELL' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/configure' Text
+' ' Text
+'$(' Keyword
+'CONFIG_ARGS' Text
+')' Keyword
+'\n\n' Text
+
+'.PRECIOUS' Name.Function
+':' Operator
+' ' Text
+'config' Name
+'.' Text
+'status' Name
+' ' Text
+'$(' Keyword
+'BUILDPYTHON' Name.Variable
+')' Keyword
+' ' Text
+'Makefile' Name
+' ' Text
+'Makefile' Name
+'.' Text
+'pre' Name
+'\n' Text
+
+'\n' Text
+
+"# Some make's put the object file in the current directory\n" Comment
+
+'.c.o' Name.Function
+':' Operator
+'\n' Text
+
+'\t' Text
+'$(' Keyword
+'CC' Text
+')' Keyword
+' ' Text
+'-c' Text
+' ' Text
+'$(' Keyword
+'PY_CFLAGS' Text
+')' Keyword
+' ' Text
+'-o' Text
+' ' Text
+'$@' Name.Variable
+' ' Text
+'$' Text
+'<' Text
+'\n\n' Text
+
+'# Run reindent on the library\n' Comment
+
+'reindent' Name.Function
+':' Operator
+'\n' Text
+
+'\t' Text
+'./python' Text
+'$(' Keyword
+'EXEEXT' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Tools/scripts/reindent.py' Text
+' ' Text
+'-r' Text
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/Lib' Text
+'\n\n' Text
+
+'# Rerun configure with the same options as it was run last time,\n' Comment
+
+'# provided the config.status script exists\n' Comment
+
+'recheck' Name.Function
+':' Operator
+'\n' Text
+
+'\t' Text
+'$(' Keyword
+'SHELL' Text
+')' Keyword
+' ' Text
+'config.status' Text
+' ' Text
+'--recheck' Text
+'\n\t' Text
+'$(' Keyword
+'SHELL' Text
+')' Keyword
+' ' Text
+'config.status' Text
+'\n\n' Text
+
+'# Rebuild the configure script from configure.in; also rebuild pyconfig.h.in\n' Comment
+
+'autoconf' Name.Function
+':' Operator
+'\n' Text
+
+'\t' Text
+'(' Operator
+'cd' Name.Builtin
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'autoconf' Text
+')' Operator
+'\n\t' Text
+'(' Operator
+'cd' Name.Builtin
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'autoheader' Text
+')' Operator
+'\n\n' Text
+
+'# Create a tags file for vi\n' Comment
+
+'tags' Name.Function
+'::' Operator
+'\n' Text
+
+'\t' Text
+'cd' Name.Builtin
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'ctags' Text
+' ' Text
+'-w' Text
+' ' Text
+'-t' Text
+' ' Text
+'Include/*.h' Text
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'for' Keyword
+' ' Text
+'i' Text
+' ' Text
+'in' Keyword
+' ' Text
+'$(' Keyword
+'SRCDIRS' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'ctags' Text
+' ' Text
+'-w' Text
+' ' Text
+'-t' Text
+' ' Text
+'-a' Text
+' ' Text
+'$$' Name.Variable
+'i/*.' Text
+'[' Operator
+'ch' Text
+']' Operator
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'done' Keyword
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'sort' Text
+' ' Text
+'-o' Text
+' ' Text
+'tags' Text
+' ' Text
+'tags' Text
+'\n\n' Text
+
+'# Create a tags file for GNU Emacs\n' Comment
+
+'TAGS' Name.Function
+'::' Operator
+'\n' Text
+
+'\t' Text
+'cd' Name.Builtin
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'etags' Text
+' ' Text
+'Include/*.h' Text
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'for' Keyword
+' ' Text
+'i' Text
+' ' Text
+'in' Keyword
+' ' Text
+'$(' Keyword
+'SRCDIRS' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'etags' Text
+' ' Text
+'-a' Text
+' ' Text
+'$$' Name.Variable
+'i/*.' Text
+'[' Operator
+'ch' Text
+']' Operator
+';' Punctuation
+' ' Text
+'done' Keyword
+'\n\n' Text
+
+'# Sanitation targets -- clean leaves libraries, executables and tags\n' Comment
+
+'# files, which clobber removes those as well\n' Comment
+
+'pycremoval' Name.Function
+':' Operator
+'\n' Text
+
+'\t' Text
+'find' Text
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+' ' Text
+'-name' Text
+' ' Text
+"'*.py[co]'" Literal.String.Single
+' ' Text
+'-exec' Text
+' ' Text
+'rm' Text
+' ' Text
+'-f' Text
+' ' Text
+'{' Operator
+'}' Operator
+' ' Text
+"';'" Literal.String.Single
+'\n\n' Text
+
+'clean' Name.Function
+':' Operator
+' ' Text
+'pycremoval' Name
+'\n' Text
+
+'\t' Text
+'find' Text
+' ' Text
+'.' Text
+' ' Text
+'-name' Text
+' ' Text
+"'*.o'" Literal.String.Single
+' ' Text
+'-exec' Text
+' ' Text
+'rm' Text
+' ' Text
+'-f' Text
+' ' Text
+'{' Operator
+'}' Operator
+' ' Text
+"';'" Literal.String.Single
+'\n\t' Text
+'find' Text
+' ' Text
+'.' Text
+' ' Text
+'-name' Text
+' ' Text
+"'*.s[ol]'" Literal.String.Single
+' ' Text
+'-exec' Text
+' ' Text
+'rm' Text
+' ' Text
+'-f' Text
+' ' Text
+'{' Operator
+'}' Operator
+' ' Text
+"';'" Literal.String.Single
+'\n\t' Text
+'find' Text
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/build' Text
+' ' Text
+'-name' Text
+' ' Text
+"'fficonfig.h'" Literal.String.Single
+' ' Text
+'-exec' Text
+' ' Text
+'rm' Text
+' ' Text
+'-f' Text
+' ' Text
+'{' Operator
+'}' Operator
+' ' Text
+"';'" Literal.String.Single
+' ' Text
+'||' Operator
+' ' Text
+'true' Name.Builtin
+'\n\t' Text
+'find' Text
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+'/build' Text
+' ' Text
+'-name' Text
+' ' Text
+"'fficonfig.py'" Literal.String.Single
+' ' Text
+'-exec' Text
+' ' Text
+'rm' Text
+' ' Text
+'-f' Text
+' ' Text
+'{' Operator
+'}' Operator
+' ' Text
+"';'" Literal.String.Single
+' ' Text
+'||' Operator
+' ' Text
+'true' Name.Builtin
+'\n\n' Text
+
+'clobber' Name.Function
+':' Operator
+' ' Text
+'clean' Name
+'\n' Text
+
+'\t' Text
+'-rm' Text
+' ' Text
+'-f' Text
+' ' Text
+'$(' Keyword
+'BUILDPYTHON' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'PGEN' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'LIBRARY' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'LDLIBRARY' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'DLLLIBRARY' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'tags' Text
+' ' Text
+'TAGS' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'config.cache' Text
+' ' Text
+'config.log' Text
+' ' Text
+'pyconfig.h' Text
+' ' Text
+'Modules/config.c' Text
+'\n\t' Text
+'-rm' Text
+' ' Text
+'-rf' Text
+' ' Text
+'build' Text
+' ' Text
+'platform' Text
+'\n\t' Text
+'-rm' Text
+' ' Text
+'-rf' Text
+' ' Text
+'$(' Keyword
+'PYTHONFRAMEWORKDIR' Text
+')' Keyword
+'\n\n' Text
+
+'# Make things extra clean, before making a distribution:\n' Comment
+
+'# remove all generated files, even Makefile[.pre]\n' Comment
+
+"# Keep configure and Python-ast.[ch], it's possible they can't be generated\n" Comment
+
+'distclean' Name.Function
+':' Operator
+' ' Text
+'clobber' Name
+'\n' Text
+
+'\t' Text
+'-rm' Text
+' ' Text
+'-f' Text
+' ' Text
+'core' Text
+' ' Text
+'Makefile' Text
+' ' Text
+'Makefile.pre' Text
+' ' Text
+'config.status' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'Modules/Setup' Text
+' ' Text
+'Modules/Setup.local' Text
+' ' Text
+'Modules/Setup.config' Text
+'\n\t' Text
+'find' Text
+' ' Text
+'$(' Keyword
+'srcdir' Text
+')' Keyword
+' ' Text
+"'('" Literal.String.Single
+' ' Text
+'-name' Text
+' ' Text
+"'*.fdc'" Literal.String.Single
+' ' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+"'*~'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t\t ' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+"'[@,#]*'" Literal.String.Single
+' ' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+"'*.old'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t\t ' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+"'*.orig'" Literal.String.Single
+' ' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+"'*.rej'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t\t ' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+"'*.bak'" Literal.String.Single
+' ' Text
+"')'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t\t ' Text
+'-exec' Text
+' ' Text
+'rm' Text
+' ' Text
+'-f' Text
+' ' Text
+'{' Operator
+'}' Operator
+' ' Text
+"';'" Literal.String.Single
+'\n\n' Text
+
+'# Check for smelly exported symbols (not starting with Py/_Py)\n' Comment
+
+'smelly' Name.Function
+':' Operator
+' ' Text
+'all' Name
+'\n' Text
+
+'\t' Text
+'nm' Text
+' ' Text
+'-p' Text
+' ' Text
+'$(' Keyword
+'LIBRARY' Text
+')' Keyword
+' ' Text
+'|' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'sed' Text
+' ' Text
+'-n' Text
+' ' Text
+'"/ [TDB] /s/.* //p"' Literal.String.Double
+' ' Text
+'|' Punctuation
+' ' Text
+'grep' Text
+' ' Text
+'-v' Text
+' ' Text
+'"^_*Py"' Literal.String.Double
+' ' Text
+'|' Punctuation
+' ' Text
+'sort' Text
+' ' Text
+'-u' Text
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\n' Text
+
+'# Find files with funny names\n' Comment
+
+'funny' Name.Function
+':' Operator
+'\n' Text
+
+'\t' Text
+'find' Text
+' ' Text
+'$(' Keyword
+'DISTDIRS' Text
+')' Keyword
+' ' Text
+'-type' Text
+' ' Text
+'d' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+"'*.[chs]'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+"'*.py'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+"'*.doc'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+"'*.sty'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+"'*.bib'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+"'*.dat'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+"'*.el'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+"'*.fd'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+"'*.in'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+"'*.tex'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+"'*,[vpt]'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+"'Setup'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+"'Setup.*'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+'README' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+'Makefile' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+'ChangeLog' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+'Repository' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+'Root' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+'Entries' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+'Tag' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+'tags' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+'TAGS' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+'.cvsignore' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+'MANIFEST' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-o' Text
+' ' Text
+'-print' Text
+'\n\n' Text
+
+'# Dependencies\n' Comment
+
+'\n' Text
+
+'Python/thread.o' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Python' Name
+'/' Text
+'thread_atheos' Name
+'.' Text
+'h' Name
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Python' Name
+'/' Text
+'thread_beos' Name
+'.' Text
+'h' Name
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Python' Name
+'/' Text
+'thread_cthread' Name
+'.' Text
+'h' Name
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Python' Name
+'/' Text
+'thread_foobar' Name
+'.' Text
+'h' Name
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Python' Name
+'/' Text
+'thread_lwp' Name
+'.' Text
+'h' Name
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Python' Name
+'/' Text
+'thread_nt' Name
+'.' Text
+'h' Name
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Python' Name
+'/' Text
+'thread_os' Name
+'2' Text
+'.' Text
+'h' Name
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Python' Name
+'/' Text
+'thread_pth' Name
+'.' Text
+'h' Name
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Python' Name
+'/' Text
+'thread_pthread' Name
+'.' Text
+'h' Name
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Python' Name
+'/' Text
+'thread_sgi' Name
+'.' Text
+'h' Name
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Python' Name
+'/' Text
+'thread_solaris' Name
+'.' Text
+'h' Name
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Python' Name
+'/' Text
+'thread_wince' Name
+'.' Text
+'h' Name
+'\n' Text
+
+'\n' Text
+
+"# Declare targets that aren't real files\n" Comment
+
+'.PHONY' Name.Function
+':' Operator
+' ' Text
+'all' Name
+' ' Text
+'sharedmods' Name
+' ' Text
+'oldsharedmods' Name
+' ' Text
+'test' Name
+' ' Text
+'quicktest' Name
+' ' Text
+'memtest' Name
+'\n' Text
+
+'.PHONY' Name.Function
+':' Operator
+' ' Text
+'install' Name
+' ' Text
+'altinstall' Name
+' ' Text
+'oldsharedinstall' Name
+' ' Text
+'bininstall' Name
+' ' Text
+'altbininstall' Name
+'\n' Text
+
+'.PHONY' Name.Function
+':' Operator
+' ' Text
+'maninstall' Name
+' ' Text
+'libinstall' Name
+' ' Text
+'inclinstall' Name
+' ' Text
+'libainstall' Name
+' ' Text
+'sharedinstall' Name
+'\n' Text
+
+'.PHONY' Name.Function
+':' Operator
+' ' Text
+'frameworkinstall' Name
+' ' Text
+'frameworkinstallframework' Name
+' ' Text
+'frameworkinstallstructure' Name
+'\n' Text
+
+'.PHONY' Name.Function
+':' Operator
+' ' Text
+'frameworkinstallmaclib' Name
+' ' Text
+'frameworkinstallapps' Name
+' ' Text
+'frameworkinstallunixtools' Name
+'\n' Text
+
+'.PHONY' Name.Function
+':' Operator
+' ' Text
+'frameworkaltinstallunixtools' Name
+' ' Text
+'recheck' Name
+' ' Text
+'autoconf' Name
+' ' Text
+'clean' Name
+' ' Text
+'clobber' Name
+' ' Text
+'distclean' Name
+' ' Text
+'\n' Text
+
+'.PHONY' Name.Function
+':' Operator
+' ' Text
+'smelly' Name
+' ' Text
+'funny' Name
+'\n' Text
+
+'\n' Text
+
+'# IF YOU PUT ANYTHING HERE IT WILL GO AWAY\n' Comment
+
+'\n' Text
+
+'# Rules appended by makedepend\n' Comment
+
+'\n' Text
+
+'Modules/threadmodule.o' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'threadmodule' Name
+'.' Text
+'c' Name
+';' Text
+' ' Text
+'$(' Keyword
+'CC' Name.Variable
+')' Keyword
+' ' Text
+'$(' Keyword
+'PY_CFLAGS' Name.Variable
+')' Keyword
+' ' Text
+' ' Text
+'-' Text
+'c' Name
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'threadmodule' Name
+'.' Text
+'c' Name
+' ' Text
+'-' Text
+'o' Name
+' ' Text
+'Modules' Name
+'/' Text
+'threadmodule' Name
+'.' Text
+'o' Name
+'\n' Text
+
+'Modules/threadmodule$(SO)' Name.Function
+':' Operator
+' ' Text
+'Modules' Name
+'/' Text
+'threadmodule' Name
+'.' Text
+'o' Name
+';' Text
+' ' Text
+'$(' Keyword
+'LDSHARED' Name.Variable
+')' Keyword
+' ' Text
+' ' Text
+'Modules' Name
+'/' Text
+'threadmodule' Name
+'.' Text
+'o' Name
+' ' Text
+' ' Text
+' ' Text
+'-' Text
+'o' Name
+' ' Text
+'Modules' Name
+'/' Text
+'threadmodule' Name
+'$(' Keyword
+'SO' Name.Variable
+')' Keyword
+'\n' Text
+
+'Modules/signalmodule.o' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'signalmodule' Name
+'.' Text
+'c' Name
+';' Text
+' ' Text
+'$(' Keyword
+'CC' Name.Variable
+')' Keyword
+' ' Text
+'$(' Keyword
+'PY_CFLAGS' Name.Variable
+')' Keyword
+' ' Text
+' ' Text
+'-' Text
+'c' Name
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'signalmodule' Name
+'.' Text
+'c' Name
+' ' Text
+'-' Text
+'o' Name
+' ' Text
+'Modules' Name
+'/' Text
+'signalmodule' Name
+'.' Text
+'o' Name
+'\n' Text
+
+'Modules/signalmodule$(SO)' Name.Function
+':' Operator
+' ' Text
+'Modules' Name
+'/' Text
+'signalmodule' Name
+'.' Text
+'o' Name
+';' Text
+' ' Text
+'$(' Keyword
+'LDSHARED' Name.Variable
+')' Keyword
+' ' Text
+' ' Text
+'Modules' Name
+'/' Text
+'signalmodule' Name
+'.' Text
+'o' Name
+' ' Text
+' ' Text
+' ' Text
+'-' Text
+'o' Name
+' ' Text
+'Modules' Name
+'/' Text
+'signalmodule' Name
+'$(' Keyword
+'SO' Name.Variable
+')' Keyword
+'\n' Text
+
+'Modules/posixmodule.o' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'posixmodule' Name
+'.' Text
+'c' Name
+';' Text
+' ' Text
+'$(' Keyword
+'CC' Name.Variable
+')' Keyword
+' ' Text
+'$(' Keyword
+'PY_CFLAGS' Name.Variable
+')' Keyword
+' ' Text
+' ' Text
+'-' Text
+'c' Name
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'posixmodule' Name
+'.' Text
+'c' Name
+' ' Text
+'-' Text
+'o' Name
+' ' Text
+'Modules' Name
+'/' Text
+'posixmodule' Name
+'.' Text
+'o' Name
+'\n' Text
+
+'Modules/posixmodule$(SO)' Name.Function
+':' Operator
+' ' Text
+'Modules' Name
+'/' Text
+'posixmodule' Name
+'.' Text
+'o' Name
+';' Text
+' ' Text
+'$(' Keyword
+'LDSHARED' Name.Variable
+')' Keyword
+' ' Text
+' ' Text
+'Modules' Name
+'/' Text
+'posixmodule' Name
+'.' Text
+'o' Name
+' ' Text
+' ' Text
+' ' Text
+'-' Text
+'o' Name
+' ' Text
+'Modules' Name
+'/' Text
+'posixmodule' Name
+'$(' Keyword
+'SO' Name.Variable
+')' Keyword
+'\n' Text
+
+'Modules/errnomodule.o' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'errnomodule' Name
+'.' Text
+'c' Name
+';' Text
+' ' Text
+'$(' Keyword
+'CC' Name.Variable
+')' Keyword
+' ' Text
+'$(' Keyword
+'PY_CFLAGS' Name.Variable
+')' Keyword
+' ' Text
+' ' Text
+'-' Text
+'c' Name
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'errnomodule' Name
+'.' Text
+'c' Name
+' ' Text
+'-' Text
+'o' Name
+' ' Text
+'Modules' Name
+'/' Text
+'errnomodule' Name
+'.' Text
+'o' Name
+'\n' Text
+
+'Modules/errnomodule$(SO)' Name.Function
+':' Operator
+' ' Text
+'Modules' Name
+'/' Text
+'errnomodule' Name
+'.' Text
+'o' Name
+';' Text
+' ' Text
+'$(' Keyword
+'LDSHARED' Name.Variable
+')' Keyword
+' ' Text
+' ' Text
+'Modules' Name
+'/' Text
+'errnomodule' Name
+'.' Text
+'o' Name
+' ' Text
+' ' Text
+' ' Text
+'-' Text
+'o' Name
+' ' Text
+'Modules' Name
+'/' Text
+'errnomodule' Name
+'$(' Keyword
+'SO' Name.Variable
+')' Keyword
+'\n' Text
+
+'Modules/pwdmodule.o' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'pwdmodule' Name
+'.' Text
+'c' Name
+';' Text
+' ' Text
+'$(' Keyword
+'CC' Name.Variable
+')' Keyword
+' ' Text
+'$(' Keyword
+'PY_CFLAGS' Name.Variable
+')' Keyword
+' ' Text
+' ' Text
+'-' Text
+'c' Name
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'pwdmodule' Name
+'.' Text
+'c' Name
+' ' Text
+'-' Text
+'o' Name
+' ' Text
+'Modules' Name
+'/' Text
+'pwdmodule' Name
+'.' Text
+'o' Name
+'\n' Text
+
+'Modules/pwdmodule$(SO)' Name.Function
+':' Operator
+' ' Text
+'Modules' Name
+'/' Text
+'pwdmodule' Name
+'.' Text
+'o' Name
+';' Text
+' ' Text
+'$(' Keyword
+'LDSHARED' Name.Variable
+')' Keyword
+' ' Text
+' ' Text
+'Modules' Name
+'/' Text
+'pwdmodule' Name
+'.' Text
+'o' Name
+' ' Text
+' ' Text
+' ' Text
+'-' Text
+'o' Name
+' ' Text
+'Modules' Name
+'/' Text
+'pwdmodule' Name
+'$(' Keyword
+'SO' Name.Variable
+')' Keyword
+'\n' Text
+
+'Modules/_sre.o' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'_sre' Name
+'.' Text
+'c' Name
+';' Text
+' ' Text
+'$(' Keyword
+'CC' Name.Variable
+')' Keyword
+' ' Text
+'$(' Keyword
+'PY_CFLAGS' Name.Variable
+')' Keyword
+' ' Text
+' ' Text
+'-' Text
+'c' Name
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'_sre' Name
+'.' Text
+'c' Name
+' ' Text
+'-' Text
+'o' Name
+' ' Text
+'Modules' Name
+'/' Text
+'_sre' Name
+'.' Text
+'o' Name
+'\n' Text
+
+'Modules/_sre$(SO)' Name.Function
+':' Operator
+' ' Text
+'Modules' Name
+'/' Text
+'_sre' Name
+'.' Text
+'o' Name
+';' Text
+' ' Text
+'$(' Keyword
+'LDSHARED' Name.Variable
+')' Keyword
+' ' Text
+' ' Text
+'Modules' Name
+'/' Text
+'_sre' Name
+'.' Text
+'o' Name
+' ' Text
+' ' Text
+' ' Text
+'-' Text
+'o' Name
+' ' Text
+'Modules' Name
+'/' Text
+'_sre' Name
+'$(' Keyword
+'SO' Name.Variable
+')' Keyword
+'\n' Text
+
+'Modules/_codecsmodule.o' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'_codecsmodule' Name
+'.' Text
+'c' Name
+';' Text
+' ' Text
+'$(' Keyword
+'CC' Name.Variable
+')' Keyword
+' ' Text
+'$(' Keyword
+'PY_CFLAGS' Name.Variable
+')' Keyword
+' ' Text
+' ' Text
+'-' Text
+'c' Name
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'_codecsmodule' Name
+'.' Text
+'c' Name
+' ' Text
+'-' Text
+'o' Name
+' ' Text
+'Modules' Name
+'/' Text
+'_codecsmodule' Name
+'.' Text
+'o' Name
+'\n' Text
+
+'Modules/_codecsmodule$(SO)' Name.Function
+':' Operator
+' ' Text
+'Modules' Name
+'/' Text
+'_codecsmodule' Name
+'.' Text
+'o' Name
+';' Text
+' ' Text
+'$(' Keyword
+'LDSHARED' Name.Variable
+')' Keyword
+' ' Text
+' ' Text
+'Modules' Name
+'/' Text
+'_codecsmodule' Name
+'.' Text
+'o' Name
+' ' Text
+' ' Text
+' ' Text
+'-' Text
+'o' Name
+' ' Text
+'Modules' Name
+'/' Text
+'_codecsmodule' Name
+'$(' Keyword
+'SO' Name.Variable
+')' Keyword
+'\n' Text
+
+'Modules/zipimport.o' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'zipimport' Name
+'.' Text
+'c' Name
+';' Text
+' ' Text
+'$(' Keyword
+'CC' Name.Variable
+')' Keyword
+' ' Text
+'$(' Keyword
+'PY_CFLAGS' Name.Variable
+')' Keyword
+' ' Text
+' ' Text
+'-' Text
+'c' Name
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'zipimport' Name
+'.' Text
+'c' Name
+' ' Text
+'-' Text
+'o' Name
+' ' Text
+'Modules' Name
+'/' Text
+'zipimport' Name
+'.' Text
+'o' Name
+'\n' Text
+
+'Modules/zipimport$(SO)' Name.Function
+':' Operator
+' ' Text
+'Modules' Name
+'/' Text
+'zipimport' Name
+'.' Text
+'o' Name
+';' Text
+' ' Text
+'$(' Keyword
+'LDSHARED' Name.Variable
+')' Keyword
+' ' Text
+' ' Text
+'Modules' Name
+'/' Text
+'zipimport' Name
+'.' Text
+'o' Name
+' ' Text
+' ' Text
+' ' Text
+'-' Text
+'o' Name
+' ' Text
+'Modules' Name
+'/' Text
+'zipimport' Name
+'$(' Keyword
+'SO' Name.Variable
+')' Keyword
+'\n' Text
+
+'Modules/symtablemodule.o' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'symtablemodule' Name
+'.' Text
+'c' Name
+';' Text
+' ' Text
+'$(' Keyword
+'CC' Name.Variable
+')' Keyword
+' ' Text
+'$(' Keyword
+'PY_CFLAGS' Name.Variable
+')' Keyword
+' ' Text
+' ' Text
+'-' Text
+'c' Name
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'symtablemodule' Name
+'.' Text
+'c' Name
+' ' Text
+'-' Text
+'o' Name
+' ' Text
+'Modules' Name
+'/' Text
+'symtablemodule' Name
+'.' Text
+'o' Name
+'\n' Text
+
+'Modules/_symtablemodule$(SO)' Name.Function
+':' Operator
+' ' Text
+'Modules' Name
+'/' Text
+'symtablemodule' Name
+'.' Text
+'o' Name
+';' Text
+' ' Text
+'$(' Keyword
+'LDSHARED' Name.Variable
+')' Keyword
+' ' Text
+' ' Text
+'Modules' Name
+'/' Text
+'symtablemodule' Name
+'.' Text
+'o' Name
+' ' Text
+' ' Text
+' ' Text
+'-' Text
+'o' Name
+' ' Text
+'Modules' Name
+'/' Text
+'_symtablemodule' Name
+'$(' Keyword
+'SO' Name.Variable
+')' Keyword
+'\n' Text
+
+'Modules/xxsubtype.o' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'xxsubtype' Name
+'.' Text
+'c' Name
+';' Text
+' ' Text
+'$(' Keyword
+'CC' Name.Variable
+')' Keyword
+' ' Text
+'$(' Keyword
+'PY_CFLAGS' Name.Variable
+')' Keyword
+' ' Text
+' ' Text
+'-' Text
+'c' Name
+' ' Text
+'$(' Keyword
+'srcdir' Name.Variable
+')' Keyword
+'/' Text
+'Modules' Name
+'/' Text
+'xxsubtype' Name
+'.' Text
+'c' Name
+' ' Text
+'-' Text
+'o' Name
+' ' Text
+'Modules' Name
+'/' Text
+'xxsubtype' Name
+'.' Text
+'o' Name
+'\n' Text
+
+'Modules/xxsubtype$(SO)' Name.Function
+':' Operator
+' ' Text
+'Modules' Name
+'/' Text
+'xxsubtype' Name
+'.' Text
+'o' Name
+';' Text
+' ' Text
+'$(' Keyword
+'LDSHARED' Name.Variable
+')' Keyword
+' ' Text
+' ' Text
+'Modules' Name
+'/' Text
+'xxsubtype' Name
+'.' Text
+'o' Name
+' ' Text
+' ' Text
+' ' Text
+'-' Text
+'o' Name
+' ' Text
+'Modules' Name
+'/' Text
+'xxsubtype' Name
+'$(' Keyword
+'SO' Name.Variable
+')' Keyword
+'\n' Text
diff --git a/tests/lexers/make/example2.txt b/tests/lexers/make/example2.txt
new file mode 100644
index 00000000..9db09d00
--- /dev/null
+++ b/tests/lexers/make/example2.txt
@@ -0,0 +1,36 @@
+---input---
+if DEBUG
+DBG = debug
+else
+DBG =
+endif
+noinst_PROGRAMS = $(DBG)
+
+
+---tokens---
+'if DEBUG\n' Comment.Preproc
+
+'DBG' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'debug' Text
+'\n' Text
+
+'else\n' Comment.Preproc
+
+'DBG' Name.Variable
+' ' Text
+'=' Operator
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'noinst_PROGRAMS' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'$(' Keyword
+'DBG' Text
+')' Keyword
+'\n' Text
diff --git a/tests/lexers/make/example3.txt b/tests/lexers/make/example3.txt
new file mode 100644
index 00000000..c7ae714e
--- /dev/null
+++ b/tests/lexers/make/example3.txt
@@ -0,0 +1,1914 @@
+---input---
+# New ports collection makefile for: python25
+# Date created: 3 July 2003
+# Whom: Hye-Shik Chang <perky@FreeBSD.org>
+#
+# $FreeBSD: ports/lang/python25/Makefile,v 1.145 2007/10/03 23:22:04 edwin Exp $
+
+PORTNAME= python25
+PORTVERSION= 2.5.1
+CATEGORIES= lang python ipv6
+MASTER_SITES= ${PYTHON_MASTER_SITES}
+MASTER_SITE_SUBDIR= ${PYTHON_MASTER_SITE_SUBDIR}
+DISTFILES= ${PYTHON_DISTFILE}
+
+MAINTAINER= python@FreeBSD.org
+COMMENT?= An interpreted object-oriented programming language
+
+DIST_SUBDIR= python
+WRKSRC= ${PYTHON_WRKSRC}/portbld.static
+PATCH_WRKSRC= ${PYTHON_WRKSRC}
+GNU_CONFIGURE= yes
+CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
+CONFIGURE_SCRIPT= ../configure # must be relative
+CONFIGURE_ENV= OPT="${CFLAGS}" SVNVERSION="echo freebsd"
+MAKE_ENV= VPATH="${PYTHON_WRKSRC}"
+INSTALLS_SHLIB= yes
+INSTALL_TARGET= altinstall
+MAN1= ${PYTHON_VERSION}.1
+
+USE_PYTHON= yes
+PYTHON_VERSION= python2.5
+PYTHON_NO_DEPENDS= yes
+
+SHARED_WRKSRC= ${PYTHON_WRKSRC}/portbld.shared
+PLIST= ${WRKDIR}/PLIST
+PLIST_TEMPLATE?=${PKGDIR}/pkg-plist
+PLIST_SUB= PYVER=${PYTHON_VERSION:S/python//} \
+ PYVER_WITHPAT=${PORTVERSION:S/.c/c/}
+DEMODIR= ${PREFIX}/share/examples/${PYTHON_VERSION}
+TOOLSDIR= ${PREFIX}/share/${PYTHON_VERSION}
+
+BIN_SCRIPTS= idle pydoc python python-shared smtpd.py python-config \
+ python-shared-config
+BINLINKS_SUB= -e 's,smtpd,smtpd${PYTHON_VER},' \
+ -e 's,(idle|pydoc|python-shared|python),\1${PYTHON_VER},'
+
+OPTIONS= THREADS "Enable thread support" on \
+ HUGE_STACK_SIZE "Use a larger thread stack" off \
+ UCS4 "Use UCS4 for unicode support" on \
+ PYMALLOC "Use python's internal malloc" on \
+ IPV6 "Enable IPv6 support" on \
+ FPECTL "Enable floating point exception handling" off
+
+.include <bsd.port.pre.mk>
+
+.if ${PYTHON_VERSION} == ${PYTHON_DEFAULT_VERSION}
+MLINKS= ${PYTHON_VERSION}.1 python.1
+PLIST_SUB+= IF_DEFAULT=""
+.else
+PLIST_SUB+= IF_DEFAULT="@comment "
+.endif
+
+# workaround for a bug in base curses.h.
+CFLAGS+= -D__wchar_t=wchar_t
+
+.if !defined(WITHOUT_THREADS)
+CONFIGURE_ARGS+= --with-threads
+CFLAGS+= ${PTHREAD_CFLAGS}
+.if defined(WITHOUT_HUGE_STACK_SIZE)
+CFLAGS+= -DTHREAD_STACK_SIZE=0x20000
+.else
+CFLAGS+= -DTHREAD_STACK_SIZE=0x100000
+.endif # defined(WITHOUT_HUGE_STACK_SIZE)
+CONFIGURE_ENV+= LDFLAGS="${PTHREAD_LIBS} ${LDFLAGS}"
+.else
+CONFIGURE_ARGS+= --without-threads
+.if defined(LDFLAGS)
+CONFIGURE_ENV+= LDFLAGS="${LDFLAGS}"
+.endif # defined(LDFLAGS)
+.endif # !defined(WITHOUT_THREADS)
+
+.if !defined(WITHOUT_UCS4) && !defined(WITH_UCS2)
+CONFIGURE_ARGS+= --enable-unicode=ucs4
+.endif
+
+.if defined(WITHOUT_PYMALLOC)
+CONFIGURE_ARGS+= --without-pymalloc
+.endif
+
+.if ${ARCH} == i386
+PLIST_SUB+= X86_ONLY=""
+.else
+PLIST_SUB+= X86_ONLY="@comment "
+.endif
+.if ${ARCH} == amd64 || ${ARCH} == ia64 || ${ARCH} == sparc64 || ${ARCH} == alpha
+PLIST_SUB+= 32BIT_ONLY="@comment "
+.else
+PLIST_SUB+= 32BIT_ONLY=""
+.endif
+.if ${ARCH} == sparc64
+CFLAGS+= -DPYTHON_DEFAULT_RECURSION_LIMIT=900
+.endif
+
+.if !exists(/usr/bin/ypcat) # the world with NO_NIS
+PLIST_SUB+= NO_NIS="@comment "
+.else
+PLIST_SUB+= NO_NIS=""
+.endif
+
+.if !defined(WITHOUT_IPV6)
+CONFIGURE_ARGS+= --enable-ipv6
+.else
+CONFIGURE_ARGS+= --disable-ipv6
+.endif
+
+.if defined(WITH_FPECTL)
+CONFIGURE_ARGS+= --with-fpectl
+.endif
+
+.if ${OSVERSION} >= 700000
+PLATFORMS=plat-freebsd4 plat-freebsd5 plat-freebsd6
+.elif ${OSVERSION} >= 600000
+PLATFORMS=plat-freebsd4 plat-freebsd5 plat-freebsd7
+.else
+PLATFORMS=plat-freebsd4 plat-freebsd6 plat-freebsd7
+.endif
+
+pre-patch:
+ ${MKDIR} ${WRKSRC} ${SHARED_WRKSRC}/Modules
+ ${SED} -e '1s,^.*$$,#!${PREFIX}/bin/${PYTHON_VERSION},' \
+ ${PATCH_WRKSRC}/Tools/scripts/pydoc > ${WRKDIR}/pydoc2.5
+ ${SED} -e '1s,^.*$$,#!${PREFIX}/bin/${PYTHON_VERSION},' \
+ ${PATCH_WRKSRC}/Tools/scripts/idle > ${WRKDIR}/idle2.5
+ ${SED} -e '1s,^.*$$,#!${PREFIX}/bin/${PYTHON_VERSION},' \
+ ${PATCH_WRKSRC}/Lib/smtpd.py > ${WRKDIR}/smtpd2.5.py
+ ${REINPLACE_CMD} -e \
+ 's,/usr/doc/python-docs-,${PREFIX}/share/doc/python,g' \
+ ${PATCH_WRKSRC}/Lib/pydoc.py
+ ${REINPLACE_CMD} -e \
+ 's|^\( *prefixes = .*\)\]$$|\1, "${X11BASE}"]|g' \
+ ${PATCH_WRKSRC}/Lib/site.py
+ ${REINPLACE_CMD} -e \
+ 's|^ \(..ASDLGEN.*\)$$| ${TRUE}|g' \
+ ${PATCH_WRKSRC}/Makefile.pre.in
+
+ ${REINPLACE_CMD} -e \
+ 's|*\(..INSTALL_SCRIPT.*\)python-config$$|#port \1|' \
+ ${PATCH_WRKSRC}/Makefile.pre.in
+
+ ${SED} -e 's|^#!.*|#!${PREFIX}/bin/${PYTHON_VERSION}|' \
+ ${PATCH_WRKSRC}/Misc/python-config.in > ${WRKDIR}/${PYTHON_VERSION}-config
+ ${SED} -e 's|^#!.*|#!${PREFIX}/bin/${PYTHON_VERSION:S/thon/thon-shared/}|' \
+ ${PATCH_WRKSRC}/Misc/python-config.in > ${WRKDIR}/${PYTHON_VERSION:S/thon/thon-shared/}-config
+
+.if defined(WITH_FPECTL) && ${ARCH} == i386
+ ${MKDIR} ${WRKSRC}/Modules
+ ${ECHO} "fpectl fpectlmodule.c" >> ${WRKSRC}/Modules/Setup.dist
+.endif
+
+post-configure:
+ ${TAR} -C ${WRKSRC} -cf - . | ${TAR} -C ${SHARED_WRKSRC} -xf -
+ ${LN} -sf ${PYTHON_WRKSRC}/Lib ${WRKSRC}/Lib
+ ${SED} -e 's,^\(LDLIBRARY=\).*$$,\1libpython$$(VERSION).so,' \
+ -e 's,^\(BLDLIBRARY=\).*$$,\1-L. -lpython$$(VERSION),' \
+ -e 's,^\(CFLAGSFORSHARED=\).*$$,\1$$(CCSHARED),' \
+ -e 's,^\(Makefile Modules/config.c:.*\)Makefile.pre,\1,' \
+ -e 's,^\(.(BUILDPYTHON)\: .*\).(LIBRARY),\1,' \
+ -e 's,^\(.(BUILDPYTHON):.*\).(LIBRARY),\1,' \
+ ${WRKSRC}/Makefile > ${SHARED_WRKSRC}/Makefile
+
+pre-build:
+ cd ${SHARED_WRKSRC}; \
+ ${SETENV} ${MAKE_ENV} ${MAKE} lib${PYTHON_VERSION}.so python; \
+ ${LN} -f lib${PYTHON_VERSION}.so lib${PYTHON_VERSION}.so.1; \
+ ${LN} -f python ${PYTHON_VERSION:S/thon/thon-shared/}
+
+pre-su-install:
+.for platform in ${PLATFORMS}
+ ${MKDIR} ${PYTHONPREFIX_LIBDIR}/${platform}
+.for file in IN.py regen
+ ${INSTALL_DATA} ${WRKSRC}/Lib/${platform}/${file} \
+ ${PYTHONPREFIX_LIBDIR}/${platform}/
+.endfor
+.endfor
+
+pre-install:
+ ${CAT} ${PLIST_TEMPLATE} | ${AWK} '{ print $$0; } \
+ /LIBDIR.*\.py$$/ && !/\/bad/ { print $$0 "o"; print $$0 "c"; }' > ${PLIST}
+
+ @# if openssl 0.9.8 is detected, _sha{256,512} module won't be installed
+ ([ -f ${WRKSRC}/.without_own_sha ] && \
+ ${GREP} -v 'lib-dynload/_sha' ${PLIST} > ${PLIST}.tmp && \
+ ${CAT} ${PLIST}.tmp > ${PLIST}) || ${TRUE}
+
+post-install:
+ @# install config providers
+ ${INSTALL_SCRIPT} ${WRKDIR}/${PYTHON_VERSION}-config ${PREFIX}/bin
+ ${INSTALL_SCRIPT} ${WRKDIR}/${PYTHON_VERSION:S/thon/thon-shared/}-config ${PREFIX}/bin
+
+ @# shared version of executable and library
+ ${INSTALL_PROGRAM} ${SHARED_WRKSRC}/lib${PYTHON_VERSION}.so.1 \
+ ${PREFIX}/lib
+ cd ${PREFIX}/lib; ${LN} -sf lib${PYTHON_VERSION}.so.1 \
+ lib${PYTHON_VERSION}.so
+ ${LN} -sf ${PREFIX}/lib/lib${PYTHON_VERSION}.so ${PYTHONPREFIX_LIBDIR}/config
+ ${INSTALL_PROGRAM} \
+ ${SHARED_WRKSRC}/${PYTHON_VERSION:S/thon/thon-shared/} \
+ ${PREFIX}/bin
+
+ @# additional files installing by ports
+ ${INSTALL_SCRIPT} ${WRKDIR}/pydoc2.5 ${WRKDIR}/idle2.5 \
+ ${WRKDIR}/smtpd2.5.py ${PREFIX}/bin
+ @${MKDIR} ${MANPREFIX}/man/man1
+ ${INSTALL_MAN} ${PYTHON_WRKSRC}/Misc/python.man \
+ ${MANPREFIX}/man/man1/${PYTHON_VERSION}.1
+
+.if ${PYTHON_VERSION} == ${PYTHON_DEFAULT_VERSION}
+ for f in ${BIN_SCRIPTS}; do \
+ TARGET=`${ECHO_CMD} $$f | ${SED} -E ${BINLINKS_SUB}`; \
+ cd ${PREFIX}/bin && ${LN} -f $$TARGET $$f; \
+ done
+.endif
+
+.if !defined(NOPORTDOCS)
+ @${MKDIR} ${TOOLSDIR}
+ @cd ${PYTHON_WRKSRC}; ${TAR} -cf - Tools | \
+ (cd ${TOOLSDIR}; ${TAR} -xf -)
+ @${MKDIR} ${DEMODIR}
+ @cd ${PYTHON_WRKSRC}/Demo; ${TAR} -cf - * | \
+ (cd ${DEMODIR}; ${TAR} -xf -)
+.endif
+
+ @${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.post.mk>
+
+---tokens---
+'# New ports collection makefile for: python25\n' Comment
+
+'# Date created: 3 July 2003\n' Comment
+
+'# Whom: Hye-Shik Chang <perky@FreeBSD.org>\n' Comment
+
+'#\n' Comment
+
+'# $FreeBSD: ports/lang/python25/Makefile,v 1.145 2007/10/03 23:22:04 edwin Exp $\n' Comment
+
+'\n' Text
+
+'PORTNAME' Name.Variable
+'=' Operator
+'\t' Text
+'python25' Text
+'\n' Text
+
+'PORTVERSION' Name.Variable
+'=' Operator
+'\t' Text
+'2' Literal.Number
+'.5.1' Text
+'\n' Text
+
+'CATEGORIES' Name.Variable
+'=' Operator
+'\t' Text
+'lang' Text
+' ' Text
+'python' Text
+' ' Text
+'ipv6' Text
+'\n' Text
+
+'MASTER_SITES' Name.Variable
+'=' Operator
+'\t' Text
+'${' Literal.String.Interpol
+'PYTHON_MASTER_SITES' Name.Variable
+'}' Literal.String.Interpol
+'\n' Text
+
+'MASTER_SITE_SUBDIR' Name.Variable
+'=' Operator
+'\t' Text
+'${' Literal.String.Interpol
+'PYTHON_MASTER_SITE_SUBDIR' Name.Variable
+'}' Literal.String.Interpol
+'\n' Text
+
+'DISTFILES' Name.Variable
+'=' Operator
+'\t' Text
+'${' Literal.String.Interpol
+'PYTHON_DISTFILE' Name.Variable
+'}' Literal.String.Interpol
+'\n' Text
+
+'\n' Text
+
+'MAINTAINER' Name.Variable
+'=' Operator
+'\t' Text
+'python@FreeBSD.org' Text
+'\n' Text
+
+'COMMENT' Name.Variable
+'?=' Operator
+'\t' Text
+'An' Text
+' ' Text
+'interpreted' Text
+' ' Text
+'object-oriented' Text
+' ' Text
+'programming' Text
+' ' Text
+'language' Text
+'\n' Text
+
+'\n' Text
+
+'DIST_SUBDIR' Name.Variable
+'=' Operator
+'\t' Text
+'python' Text
+'\n' Text
+
+'WRKSRC' Name.Variable
+'=' Operator
+'\t\t' Text
+'${' Literal.String.Interpol
+'PYTHON_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/portbld.static' Text
+'\n' Text
+
+'PATCH_WRKSRC' Name.Variable
+'=' Operator
+'\t' Text
+'${' Literal.String.Interpol
+'PYTHON_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'\n' Text
+
+'GNU_CONFIGURE' Name.Variable
+'=' Operator
+'\t' Text
+'yes' Text
+'\n' Text
+
+'CONFIGURE_TARGET' Name.Variable
+'=' Operator
+'\t' Text
+'--build' Text
+'=' Operator
+'${' Literal.String.Interpol
+'MACHINE_ARCH' Name.Variable
+'}' Literal.String.Interpol
+'-portbld-freebsd' Text
+'${' Literal.String.Interpol
+'OSREL' Name.Variable
+'}' Literal.String.Interpol
+'\n' Text
+
+'CONFIGURE_SCRIPT' Name.Variable
+'=' Operator
+'\t' Text
+'../configure' Text
+' ' Text
+'# must be relative\n' Comment.Single
+
+'CONFIGURE_ENV' Name.Variable
+'=' Operator
+'\t' Text
+'OPT' Name.Variable
+'=' Operator
+'"' Literal.String.Double
+'${' Literal.String.Interpol
+'CFLAGS' Name.Variable
+'}' Literal.String.Interpol
+'"' Literal.String.Double
+' ' Text
+'SVNVERSION' Name.Variable
+'=' Operator
+'"echo freebsd"' Literal.String.Double
+'\n' Text
+
+'MAKE_ENV' Name.Variable
+'=' Operator
+'\t' Text
+'VPATH' Name.Variable
+'=' Operator
+'"' Literal.String.Double
+'${' Literal.String.Interpol
+'PYTHON_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'"' Literal.String.Double
+'\n' Text
+
+'INSTALLS_SHLIB' Name.Variable
+'=' Operator
+'\t' Text
+'yes' Text
+'\n' Text
+
+'INSTALL_TARGET' Name.Variable
+'=' Operator
+'\t' Text
+'altinstall' Text
+'\n' Text
+
+'MAN1' Name.Variable
+'=' Operator
+'\t\t' Text
+'${' Literal.String.Interpol
+'PYTHON_VERSION' Name.Variable
+'}' Literal.String.Interpol
+'.1' Text
+'\n' Text
+
+'\n' Text
+
+'USE_PYTHON' Name.Variable
+'=' Operator
+'\t' Text
+'yes' Text
+'\n' Text
+
+'PYTHON_VERSION' Name.Variable
+'=' Operator
+'\t' Text
+'python2.5' Text
+'\n' Text
+
+'PYTHON_NO_DEPENDS' Name.Variable
+'=' Operator
+'\t' Text
+'yes' Text
+'\n' Text
+
+'\n' Text
+
+'SHARED_WRKSRC' Name.Variable
+'=' Operator
+'\t' Text
+'${' Literal.String.Interpol
+'PYTHON_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/portbld.shared' Text
+'\n' Text
+
+'PLIST' Name.Variable
+'=' Operator
+'\t\t' Text
+'${' Literal.String.Interpol
+'WRKDIR' Name.Variable
+'}' Literal.String.Interpol
+'/PLIST' Text
+'\n' Text
+
+'PLIST_TEMPLATE' Name.Variable
+'?=' Operator
+'${' Literal.String.Interpol
+'PKGDIR' Name.Variable
+'}' Literal.String.Interpol
+'/pkg-plist' Text
+'\n' Text
+
+'PLIST_SUB' Name.Variable
+'=' Operator
+'\t' Text
+'PYVER' Name.Variable
+'=' Operator
+'${' Literal.String.Interpol
+'PYTHON_VERSION' Name.Variable
+':' Punctuation
+'S' Name.Variable
+'/python//' Punctuation
+'}' Literal.String.Interpol
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'PYVER_WITHPAT' Name.Variable
+'=' Operator
+'${' Literal.String.Interpol
+'PORTVERSION' Name.Variable
+':' Punctuation
+'S' Name.Variable
+'/.c/c/' Punctuation
+'}' Literal.String.Interpol
+'\n' Text
+
+'DEMODIR' Name.Variable
+'=' Operator
+'\t' Text
+'${' Literal.String.Interpol
+'PREFIX' Name.Variable
+'}' Literal.String.Interpol
+'/share/examples/' Text
+'${' Literal.String.Interpol
+'PYTHON_VERSION' Name.Variable
+'}' Literal.String.Interpol
+'\n' Text
+
+'TOOLSDIR' Name.Variable
+'=' Operator
+'\t' Text
+'${' Literal.String.Interpol
+'PREFIX' Name.Variable
+'}' Literal.String.Interpol
+'/share/' Text
+'${' Literal.String.Interpol
+'PYTHON_VERSION' Name.Variable
+'}' Literal.String.Interpol
+'\n' Text
+
+'\n' Text
+
+'BIN_SCRIPTS' Name.Variable
+'=' Operator
+'\t' Text
+'idle' Text
+' ' Text
+'pydoc' Text
+' ' Text
+'python' Text
+' ' Text
+'python-shared' Text
+' ' Text
+'smtpd.py' Text
+' ' Text
+'python-config' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'python-shared-config' Text
+'\n' Text
+
+'BINLINKS_SUB' Name.Variable
+'=' Operator
+'\t' Text
+'-e' Text
+' ' Text
+"'s,smtpd,smtpd${PYTHON_VER},'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-e' Text
+' ' Text
+"'s,(idle|pydoc|python-shared|python),\\1${PYTHON_VER},'" Literal.String.Single
+'\n\n' Text
+
+'OPTIONS' Name.Variable
+'=' Operator
+'\t' Text
+'THREADS' Text
+' ' Text
+'"Enable thread support"' Literal.String.Double
+' ' Text
+'on' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'HUGE_STACK_SIZE' Text
+' ' Text
+'"Use a larger thread stack"' Literal.String.Double
+' ' Text
+'off' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'UCS4' Text
+' ' Text
+'"Use UCS4 for unicode support"' Literal.String.Double
+' ' Text
+'on' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'PYMALLOC' Text
+' ' Text
+'"Use python\'s internal malloc"' Literal.String.Double
+' ' Text
+'on' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'IPV6' Text
+' ' Text
+'"Enable IPv6 support"' Literal.String.Double
+' ' Text
+'on' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'FPECTL' Text
+' ' Text
+'"Enable floating point exception handling"' Literal.String.Double
+' ' Text
+'off' Text
+'\n\n' Text
+
+'.include <bsd.port.pre.mk>\n' Comment.Preproc
+
+'\n' Text
+
+'.if ${PYTHON_VERSION} == ${PYTHON_DEFAULT_VERSION}\n' Comment.Preproc
+
+'MLINKS' Name.Variable
+'=' Operator
+'\t\t' Text
+'${' Literal.String.Interpol
+'PYTHON_VERSION' Name.Variable
+'}' Literal.String.Interpol
+'.1' Text
+' ' Text
+'python.1' Text
+'\n' Text
+
+'PLIST_SUB' Name.Variable
+'+=' Operator
+'\t' Text
+'IF_DEFAULT' Name.Variable
+'=' Operator
+'""' Literal.String.Double
+'\n' Text
+
+'.else\n' Comment.Preproc
+
+'PLIST_SUB' Name.Variable
+'+=' Operator
+'\t' Text
+'IF_DEFAULT' Name.Variable
+'=' Operator
+'"@comment "' Literal.String.Double
+'\n' Text
+
+'.endif\n' Comment.Preproc
+
+'\n' Text
+
+'# workaround for a bug in base curses.h.\n' Comment
+
+'CFLAGS' Name.Variable
+'+=' Operator
+'\t' Text
+'-D__wchar_t' Text
+'=' Operator
+'wchar_t' Text
+'\n' Text
+
+'\n' Text
+
+'.if !defined(WITHOUT_THREADS)\n' Comment.Preproc
+
+'CONFIGURE_ARGS' Name.Variable
+'+=' Operator
+'\t' Text
+'--with-threads' Text
+'\n' Text
+
+'CFLAGS' Name.Variable
+'+=' Operator
+'\t\t' Text
+'${' Literal.String.Interpol
+'PTHREAD_CFLAGS' Name.Variable
+'}' Literal.String.Interpol
+'\n' Text
+
+'.if defined(WITHOUT_HUGE_STACK_SIZE)\n' Comment.Preproc
+
+'CFLAGS' Name.Variable
+'+=' Operator
+'\t\t' Text
+'-DTHREAD_STACK_SIZE' Text
+'=' Operator
+'0x20000' Text
+'\n' Text
+
+'.else\n' Comment.Preproc
+
+'CFLAGS' Name.Variable
+'+=' Operator
+'\t\t' Text
+'-DTHREAD_STACK_SIZE' Text
+'=' Operator
+'0x100000' Text
+'\n' Text
+
+'.endif # defined(WITHOUT_HUGE_STACK_SIZE)\n' Comment.Preproc
+
+'CONFIGURE_ENV' Name.Variable
+'+=' Operator
+'\t\t' Text
+'LDFLAGS' Name.Variable
+'=' Operator
+'"' Literal.String.Double
+'${' Literal.String.Interpol
+'PTHREAD_LIBS' Name.Variable
+'}' Literal.String.Interpol
+' ' Literal.String.Double
+'${' Literal.String.Interpol
+'LDFLAGS' Name.Variable
+'}' Literal.String.Interpol
+'"' Literal.String.Double
+'\n' Text
+
+'.else\n' Comment.Preproc
+
+'CONFIGURE_ARGS' Name.Variable
+'+=' Operator
+'\t' Text
+'--without-threads' Text
+'\n' Text
+
+'.if defined(LDFLAGS)\n' Comment.Preproc
+
+'CONFIGURE_ENV' Name.Variable
+'+=' Operator
+'\t\t' Text
+'LDFLAGS' Name.Variable
+'=' Operator
+'"' Literal.String.Double
+'${' Literal.String.Interpol
+'LDFLAGS' Name.Variable
+'}' Literal.String.Interpol
+'"' Literal.String.Double
+'\n' Text
+
+'.endif # defined(LDFLAGS)\n' Comment.Preproc
+
+'.endif # !defined(WITHOUT_THREADS)\n' Comment.Preproc
+
+'\n' Text
+
+'.if !defined(WITHOUT_UCS4) && !defined(WITH_UCS2)\n' Comment.Preproc
+
+'CONFIGURE_ARGS' Name.Variable
+'+=' Operator
+'\t' Text
+'--enable-unicode' Text
+'=' Operator
+'ucs4' Text
+'\n' Text
+
+'.endif\n' Comment.Preproc
+
+'\n' Text
+
+'.if defined(WITHOUT_PYMALLOC)\n' Comment.Preproc
+
+'CONFIGURE_ARGS' Name.Variable
+'+=' Operator
+' ' Text
+'--without-pymalloc' Text
+'\n' Text
+
+'.endif\n' Comment.Preproc
+
+'\n' Text
+
+'.if ${ARCH} == i386\n' Comment.Preproc
+
+'PLIST_SUB' Name.Variable
+'+=' Operator
+'\t' Text
+'X86_ONLY' Name.Variable
+'=' Operator
+'""' Literal.String.Double
+'\n' Text
+
+'.else\n' Comment.Preproc
+
+'PLIST_SUB' Name.Variable
+'+=' Operator
+'\t' Text
+'X86_ONLY' Name.Variable
+'=' Operator
+'"@comment "' Literal.String.Double
+'\n' Text
+
+'.endif\n' Comment.Preproc
+
+'.if ${ARCH} == amd64 || ${ARCH} == ia64 || ${ARCH} == sparc64 || ${ARCH} == alpha\n' Comment.Preproc
+
+'PLIST_SUB' Name.Variable
+'+=' Operator
+' ' Text
+'32BIT_ONLY' Name.Variable
+'=' Operator
+'"@comment "' Literal.String.Double
+'\n' Text
+
+'.else\n' Comment.Preproc
+
+'PLIST_SUB' Name.Variable
+'+=' Operator
+' ' Text
+'32BIT_ONLY' Name.Variable
+'=' Operator
+'""' Literal.String.Double
+'\n' Text
+
+'.endif\n' Comment.Preproc
+
+'.if ${ARCH} == sparc64\n' Comment.Preproc
+
+'CFLAGS' Name.Variable
+'+=' Operator
+' ' Text
+'-DPYTHON_DEFAULT_RECURSION_LIMIT' Text
+'=' Operator
+'900' Literal.Number
+'\n' Text
+
+'.endif\n' Comment.Preproc
+
+'\n' Text
+
+'.if !exists(/usr/bin/ypcat) # the world with NO_NIS\n' Comment.Preproc
+
+'PLIST_SUB' Name.Variable
+'+=' Operator
+'\t' Text
+'NO_NIS' Name.Variable
+'=' Operator
+'"@comment "' Literal.String.Double
+'\n' Text
+
+'.else\n' Comment.Preproc
+
+'PLIST_SUB' Name.Variable
+'+=' Operator
+'\t' Text
+'NO_NIS' Name.Variable
+'=' Operator
+'""' Literal.String.Double
+'\n' Text
+
+'.endif\n' Comment.Preproc
+
+'\n' Text
+
+'.if !defined(WITHOUT_IPV6)\n' Comment.Preproc
+
+'CONFIGURE_ARGS' Name.Variable
+'+=' Operator
+' ' Text
+'--enable-ipv6' Text
+'\n' Text
+
+'.else\n' Comment.Preproc
+
+'CONFIGURE_ARGS' Name.Variable
+'+=' Operator
+' ' Text
+'--disable-ipv6' Text
+'\n' Text
+
+'.endif\n' Comment.Preproc
+
+'\n' Text
+
+'.if defined(WITH_FPECTL)\n' Comment.Preproc
+
+'CONFIGURE_ARGS' Name.Variable
+'+=' Operator
+' ' Text
+'--with-fpectl' Text
+'\n' Text
+
+'.endif\n' Comment.Preproc
+
+'\n' Text
+
+'.if ${OSVERSION} >= 700000\n' Comment.Preproc
+
+'PLATFORMS' Name.Variable
+'=' Operator
+'plat-freebsd4' Text
+' ' Text
+'plat-freebsd5' Text
+' ' Text
+'plat-freebsd6' Text
+'\n' Text
+
+'.elif ${OSVERSION} >= 600000\n' Comment.Preproc
+
+'PLATFORMS' Name.Variable
+'=' Operator
+'plat-freebsd4' Text
+' ' Text
+'plat-freebsd5' Text
+' ' Text
+'plat-freebsd7' Text
+'\n' Text
+
+'.else\n' Comment.Preproc
+
+'PLATFORMS' Name.Variable
+'=' Operator
+'plat-freebsd4' Text
+' ' Text
+'plat-freebsd6' Text
+' ' Text
+'plat-freebsd7' Text
+'\n' Text
+
+'.endif\n' Comment.Preproc
+
+'\n' Text
+
+'pre-patch' Name.Function
+':' Operator
+'\n' Text
+
+'\t' Text
+'${' Literal.String.Interpol
+'MKDIR' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'${' Literal.String.Interpol
+'WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'${' Literal.String.Interpol
+'SHARED_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/Modules' Text
+'\n\t' Text
+'${' Literal.String.Interpol
+'SED' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-e' Text
+' ' Text
+"'1s,^.*$$,#!${PREFIX}/bin/${PYTHON_VERSION},'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'${' Literal.String.Interpol
+'PATCH_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/Tools/scripts/pydoc' Text
+' ' Text
+'>' Text
+' ' Text
+'${' Literal.String.Interpol
+'WRKDIR' Name.Variable
+'}' Literal.String.Interpol
+'/pydoc2.5' Text
+'\n\t' Text
+'${' Literal.String.Interpol
+'SED' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-e' Text
+' ' Text
+"'1s,^.*$$,#!${PREFIX}/bin/${PYTHON_VERSION},'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'${' Literal.String.Interpol
+'PATCH_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/Tools/scripts/idle' Text
+' ' Text
+'>' Text
+' ' Text
+'${' Literal.String.Interpol
+'WRKDIR' Name.Variable
+'}' Literal.String.Interpol
+'/idle2.5' Text
+'\n\t' Text
+'${' Literal.String.Interpol
+'SED' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-e' Text
+' ' Text
+"'1s,^.*$$,#!${PREFIX}/bin/${PYTHON_VERSION},'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'${' Literal.String.Interpol
+'PATCH_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/Lib/smtpd.py' Text
+' ' Text
+'>' Text
+' ' Text
+'${' Literal.String.Interpol
+'WRKDIR' Name.Variable
+'}' Literal.String.Interpol
+'/smtpd2.5.py' Text
+'\n\t' Text
+'${' Literal.String.Interpol
+'REINPLACE_CMD' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-e' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+"'s,/usr/doc/python-docs-,${PREFIX}/share/doc/python,g'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'${' Literal.String.Interpol
+'PATCH_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/Lib/pydoc.py' Text
+'\n\t' Text
+'${' Literal.String.Interpol
+'REINPLACE_CMD' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-e' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'\'s|^\\( *prefixes = .*\\)\\]$$|\\1, "${X11BASE}"]|g\'' Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'${' Literal.String.Interpol
+'PATCH_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/Lib/site.py' Text
+'\n\t' Text
+'${' Literal.String.Interpol
+'REINPLACE_CMD' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-e' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+"'s|^\t\\(..ASDLGEN.*\\)$$|\t${TRUE}|g'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'${' Literal.String.Interpol
+'PATCH_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/Makefile.pre.in' Text
+'\n\n\t' Text
+'${' Literal.String.Interpol
+'REINPLACE_CMD' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-e' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+"'s|*\\(..INSTALL_SCRIPT.*\\)python-config$$|#port \\1|'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'${' Literal.String.Interpol
+'PATCH_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/Makefile.pre.in' Text
+'\n\n\t' Text
+'${' Literal.String.Interpol
+'SED' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-e' Text
+' ' Text
+"'s|^#!.*|#!${PREFIX}/bin/${PYTHON_VERSION}|'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'${' Literal.String.Interpol
+'PATCH_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/Misc/python-config.in' Text
+' ' Text
+'>' Text
+' ' Text
+'${' Literal.String.Interpol
+'WRKDIR' Name.Variable
+'}' Literal.String.Interpol
+'/' Text
+'${' Literal.String.Interpol
+'PYTHON_VERSION' Name.Variable
+'}' Literal.String.Interpol
+'-config' Text
+'\n\t' Text
+'${' Literal.String.Interpol
+'SED' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-e' Text
+' ' Text
+"'s|^#!.*|#!${PREFIX}/bin/${PYTHON_VERSION:S/thon/thon-shared/}|'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'${' Literal.String.Interpol
+'PATCH_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/Misc/python-config.in' Text
+' ' Text
+'>' Text
+' ' Text
+'${' Literal.String.Interpol
+'WRKDIR' Name.Variable
+'}' Literal.String.Interpol
+'/' Text
+'${' Literal.String.Interpol
+'PYTHON_VERSION' Name.Variable
+':' Punctuation
+'S' Name.Variable
+'/thon/thon-shared/' Punctuation
+'}' Literal.String.Interpol
+'-config' Text
+'\n\n' Text
+
+'.if defined(WITH_FPECTL) && ${ARCH} == i386\n' Comment.Preproc
+
+'\t' Text
+'${' Literal.String.Interpol
+'MKDIR' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'${' Literal.String.Interpol
+'WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/Modules' Text
+'\n\t' Text
+'${' Literal.String.Interpol
+'ECHO' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'"fpectl fpectlmodule.c"' Literal.String.Double
+' ' Text
+'>>' Text
+' ' Text
+'${' Literal.String.Interpol
+'WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/Modules/Setup.dist' Text
+'\n' Text
+
+'.endif\n' Comment.Preproc
+
+'\n' Text
+
+'post-configure' Name.Function
+':' Operator
+'\n' Text
+
+'\t' Text
+'${' Literal.String.Interpol
+'TAR' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-C' Text
+' ' Text
+'${' Literal.String.Interpol
+'WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-cf' Text
+' ' Text
+'-' Text
+' ' Text
+'.' Text
+' ' Text
+'|' Punctuation
+' ' Text
+'${' Literal.String.Interpol
+'TAR' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-C' Text
+' ' Text
+'${' Literal.String.Interpol
+'SHARED_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-xf' Text
+' ' Text
+'-' Text
+'\n\t' Text
+'${' Literal.String.Interpol
+'LN' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-sf' Text
+' ' Text
+'${' Literal.String.Interpol
+'PYTHON_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/Lib' Text
+' ' Text
+'${' Literal.String.Interpol
+'WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/Lib' Text
+'\n\t' Text
+'${' Literal.String.Interpol
+'SED' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-e' Text
+' ' Text
+"'s,^\\(LDLIBRARY=\\).*$$,\\1libpython$$(VERSION).so,'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-e' Text
+' ' Text
+"'s,^\\(BLDLIBRARY=\\).*$$,\\1-L. -lpython$$(VERSION),'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-e' Text
+' ' Text
+"'s,^\\(CFLAGSFORSHARED=\\).*$$,\\1$$(CCSHARED),'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-e' Text
+' ' Text
+"'s,^\\(Makefile Modules/config.c:.*\\)Makefile.pre,\\1,'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-e' Text
+' ' Text
+"'s,^\\(.(BUILDPYTHON)\\: .*\\).(LIBRARY),\\1,'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'-e' Text
+' ' Text
+"'s,^\\(.(BUILDPYTHON):.*\\).(LIBRARY),\\1,'" Literal.String.Single
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'${' Literal.String.Interpol
+'WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/Makefile' Text
+' ' Text
+'>' Text
+' ' Text
+'${' Literal.String.Interpol
+'SHARED_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/Makefile' Text
+'\n\n' Text
+
+'pre-build' Name.Function
+':' Operator
+'\n' Text
+
+'\t' Text
+'cd' Name.Builtin
+' ' Text
+'${' Literal.String.Interpol
+'SHARED_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'${' Literal.String.Interpol
+'SETENV' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'${' Literal.String.Interpol
+'MAKE_ENV' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'${' Literal.String.Interpol
+'MAKE' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'lib' Text
+'${' Literal.String.Interpol
+'PYTHON_VERSION' Name.Variable
+'}' Literal.String.Interpol
+'.so' Text
+' ' Text
+'python' Text
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'${' Literal.String.Interpol
+'LN' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-f' Text
+' ' Text
+'lib' Text
+'${' Literal.String.Interpol
+'PYTHON_VERSION' Name.Variable
+'}' Literal.String.Interpol
+'.so' Text
+' ' Text
+'lib' Text
+'${' Literal.String.Interpol
+'PYTHON_VERSION' Name.Variable
+'}' Literal.String.Interpol
+'.so.1' Text
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'${' Literal.String.Interpol
+'LN' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-f' Text
+' ' Text
+'python' Text
+' ' Text
+'${' Literal.String.Interpol
+'PYTHON_VERSION' Name.Variable
+':' Punctuation
+'S' Name.Variable
+'/thon/thon-shared/' Punctuation
+'}' Literal.String.Interpol
+'\n\n' Text
+
+'pre-su-install' Name.Function
+':' Operator
+'\n' Text
+
+'.for platform in ${PLATFORMS}\n' Comment.Preproc
+
+'\t' Text
+'${' Literal.String.Interpol
+'MKDIR' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'${' Literal.String.Interpol
+'PYTHONPREFIX_LIBDIR' Name.Variable
+'}' Literal.String.Interpol
+'/' Text
+'${' Literal.String.Interpol
+'platform' Name.Variable
+'}' Literal.String.Interpol
+'\n' Text
+
+'.for file in IN.py regen\n' Comment.Preproc
+
+'\t' Text
+'${' Literal.String.Interpol
+'INSTALL_DATA' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'${' Literal.String.Interpol
+'WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/Lib/' Text
+'${' Literal.String.Interpol
+'platform' Name.Variable
+'}' Literal.String.Interpol
+'/' Text
+'${' Literal.String.Interpol
+'file' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'${' Literal.String.Interpol
+'PYTHONPREFIX_LIBDIR' Name.Variable
+'}' Literal.String.Interpol
+'/' Text
+'${' Literal.String.Interpol
+'platform' Name.Variable
+'}' Literal.String.Interpol
+'/' Text
+'\n' Text
+
+'.endfor\n' Comment.Preproc
+
+'.endfor\n' Comment.Preproc
+
+'\n' Text
+
+'pre-install' Name.Function
+':' Operator
+'\n' Text
+
+'\t' Text
+'${' Literal.String.Interpol
+'CAT' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'${' Literal.String.Interpol
+'PLIST_TEMPLATE' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'|' Punctuation
+' ' Text
+'${' Literal.String.Interpol
+'AWK' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'\'{ print $$0; } \\\n\t/LIBDIR.*\\.py$$/ && !/\\/bad/ { print $$0 "o"; print $$0 "c"; }\'' Literal.String.Single
+'\t' Text
+'>' Text
+' ' Text
+'${' Literal.String.Interpol
+'PLIST' Name.Variable
+'}' Literal.String.Interpol
+'\n\n' Text
+
+"\t@# if openssl 0.9.8 is detected, _sha{256,512} module won't be installed\n" Comment
+
+'\t' Text
+'(' Operator
+'[' Operator
+' ' Text
+'-f' Text
+' ' Text
+'${' Literal.String.Interpol
+'WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/.without_own_sha' Text
+' ' Text
+']' Operator
+' ' Text
+'&&' Operator
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'${' Literal.String.Interpol
+'GREP' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-v' Text
+' ' Text
+"'lib-dynload/_sha'" Literal.String.Single
+' ' Text
+'${' Literal.String.Interpol
+'PLIST' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'>' Text
+' ' Text
+'${' Literal.String.Interpol
+'PLIST' Name.Variable
+'}' Literal.String.Interpol
+'.tmp' Text
+' ' Text
+'&&' Operator
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'${' Literal.String.Interpol
+'CAT' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'${' Literal.String.Interpol
+'PLIST' Name.Variable
+'}' Literal.String.Interpol
+'.tmp' Text
+' ' Text
+'>' Text
+' ' Text
+'${' Literal.String.Interpol
+'PLIST' Name.Variable
+'}' Literal.String.Interpol
+')' Operator
+' ' Text
+'||' Operator
+' ' Text
+'${' Literal.String.Interpol
+'TRUE' Name.Variable
+'}' Literal.String.Interpol
+'\n\n' Text
+
+'post-install' Name.Function
+':' Operator
+'\n' Text
+
+'\t@# install config providers\n' Comment
+
+'\t' Text
+'${' Literal.String.Interpol
+'INSTALL_SCRIPT' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'${' Literal.String.Interpol
+'WRKDIR' Name.Variable
+'}' Literal.String.Interpol
+'/' Text
+'${' Literal.String.Interpol
+'PYTHON_VERSION' Name.Variable
+'}' Literal.String.Interpol
+'-config' Text
+' ' Text
+'${' Literal.String.Interpol
+'PREFIX' Name.Variable
+'}' Literal.String.Interpol
+'/bin' Text
+'\n\t' Text
+'${' Literal.String.Interpol
+'INSTALL_SCRIPT' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'${' Literal.String.Interpol
+'WRKDIR' Name.Variable
+'}' Literal.String.Interpol
+'/' Text
+'${' Literal.String.Interpol
+'PYTHON_VERSION' Name.Variable
+':' Punctuation
+'S' Name.Variable
+'/thon/thon-shared/' Punctuation
+'}' Literal.String.Interpol
+'-config' Text
+' ' Text
+'${' Literal.String.Interpol
+'PREFIX' Name.Variable
+'}' Literal.String.Interpol
+'/bin' Text
+'\n\n' Text
+
+'\t@# shared version of executable and library\n' Comment
+
+'\t' Text
+'${' Literal.String.Interpol
+'INSTALL_PROGRAM' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'${' Literal.String.Interpol
+'SHARED_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/lib' Text
+'${' Literal.String.Interpol
+'PYTHON_VERSION' Name.Variable
+'}' Literal.String.Interpol
+'.so.1' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'${' Literal.String.Interpol
+'PREFIX' Name.Variable
+'}' Literal.String.Interpol
+'/lib' Text
+'\n\t' Text
+'cd' Name.Builtin
+' ' Text
+'${' Literal.String.Interpol
+'PREFIX' Name.Variable
+'}' Literal.String.Interpol
+'/lib' Text
+';' Punctuation
+' ' Text
+'${' Literal.String.Interpol
+'LN' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-sf' Text
+' ' Text
+'lib' Text
+'${' Literal.String.Interpol
+'PYTHON_VERSION' Name.Variable
+'}' Literal.String.Interpol
+'.so.1' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'lib' Text
+'${' Literal.String.Interpol
+'PYTHON_VERSION' Name.Variable
+'}' Literal.String.Interpol
+'.so' Text
+'\n\t' Text
+'${' Literal.String.Interpol
+'LN' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-sf' Text
+' ' Text
+'${' Literal.String.Interpol
+'PREFIX' Name.Variable
+'}' Literal.String.Interpol
+'/lib/lib' Text
+'${' Literal.String.Interpol
+'PYTHON_VERSION' Name.Variable
+'}' Literal.String.Interpol
+'.so' Text
+' ' Text
+'${' Literal.String.Interpol
+'PYTHONPREFIX_LIBDIR' Name.Variable
+'}' Literal.String.Interpol
+'/config' Text
+'\n\t' Text
+'${' Literal.String.Interpol
+'INSTALL_PROGRAM' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'${' Literal.String.Interpol
+'SHARED_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/' Text
+'${' Literal.String.Interpol
+'PYTHON_VERSION' Name.Variable
+':' Punctuation
+'S' Name.Variable
+'/thon/thon-shared/' Punctuation
+'}' Literal.String.Interpol
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'${' Literal.String.Interpol
+'PREFIX' Name.Variable
+'}' Literal.String.Interpol
+'/bin' Text
+'\n\n' Text
+
+'\t@# additional files installing by ports\n' Comment
+
+'\t' Text
+'${' Literal.String.Interpol
+'INSTALL_SCRIPT' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'${' Literal.String.Interpol
+'WRKDIR' Name.Variable
+'}' Literal.String.Interpol
+'/pydoc2.5' Text
+' ' Text
+'${' Literal.String.Interpol
+'WRKDIR' Name.Variable
+'}' Literal.String.Interpol
+'/idle2.5' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'${' Literal.String.Interpol
+'WRKDIR' Name.Variable
+'}' Literal.String.Interpol
+'/smtpd2.5.py' Text
+' ' Text
+'${' Literal.String.Interpol
+'PREFIX' Name.Variable
+'}' Literal.String.Interpol
+'/bin' Text
+'\n\t' Text
+'@' Text
+'${' Literal.String.Interpol
+'MKDIR' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'${' Literal.String.Interpol
+'MANPREFIX' Name.Variable
+'}' Literal.String.Interpol
+'/man/man1' Text
+'\n\t' Text
+'${' Literal.String.Interpol
+'INSTALL_MAN' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'${' Literal.String.Interpol
+'PYTHON_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/Misc/python.man' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'${' Literal.String.Interpol
+'MANPREFIX' Name.Variable
+'}' Literal.String.Interpol
+'/man/man1/' Text
+'${' Literal.String.Interpol
+'PYTHON_VERSION' Name.Variable
+'}' Literal.String.Interpol
+'.1' Text
+'\n\n' Text
+
+'.if ${PYTHON_VERSION} == ${PYTHON_DEFAULT_VERSION}\n' Comment.Preproc
+
+'\t' Text
+'for' Keyword
+' ' Text
+'f' Text
+' ' Text
+'in' Keyword
+' ' Text
+'${' Literal.String.Interpol
+'BIN_SCRIPTS' Name.Variable
+'}' Literal.String.Interpol
+';' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'TARGET' Name.Variable
+'=' Operator
+'`' Literal.String.Backtick
+'${' Literal.String.Interpol
+'ECHO_CMD' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'$$' Name.Variable
+'f' Text
+' ' Text
+'|' Punctuation
+' ' Text
+'${' Literal.String.Interpol
+'SED' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-E' Text
+' ' Text
+'${' Literal.String.Interpol
+'BINLINKS_SUB' Name.Variable
+'}' Literal.String.Interpol
+'`' Literal.String.Backtick
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'cd' Name.Builtin
+' ' Text
+'${' Literal.String.Interpol
+'PREFIX' Name.Variable
+'}' Literal.String.Interpol
+'/bin' Text
+' ' Text
+'&&' Operator
+' ' Text
+'${' Literal.String.Interpol
+'LN' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-f' Text
+' ' Text
+'$$' Name.Variable
+'TARGET' Text
+' ' Text
+'$$' Name.Variable
+'f' Text
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'done' Keyword
+'\n' Text
+
+'.endif\n' Comment.Preproc
+
+'\n' Text
+
+'.if !defined(NOPORTDOCS)\n' Comment.Preproc
+
+'\t' Text
+'@' Text
+'${' Literal.String.Interpol
+'MKDIR' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'${' Literal.String.Interpol
+'TOOLSDIR' Name.Variable
+'}' Literal.String.Interpol
+'\n\t' Text
+'@cd' Text
+' ' Text
+'${' Literal.String.Interpol
+'PYTHON_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+';' Punctuation
+' ' Text
+'${' Literal.String.Interpol
+'TAR' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-cf' Text
+' ' Text
+'-' Text
+' ' Text
+'Tools' Text
+' ' Text
+'|' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'(' Operator
+'cd' Name.Builtin
+' ' Text
+'${' Literal.String.Interpol
+'TOOLSDIR' Name.Variable
+'}' Literal.String.Interpol
+';' Punctuation
+' ' Text
+'${' Literal.String.Interpol
+'TAR' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-xf' Text
+' ' Text
+'-' Text
+')' Operator
+'\n\t' Text
+'@' Text
+'${' Literal.String.Interpol
+'MKDIR' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'${' Literal.String.Interpol
+'DEMODIR' Name.Variable
+'}' Literal.String.Interpol
+'\n\t' Text
+'@cd' Text
+' ' Text
+'${' Literal.String.Interpol
+'PYTHON_WRKSRC' Name.Variable
+'}' Literal.String.Interpol
+'/Demo' Text
+';' Punctuation
+' ' Text
+'${' Literal.String.Interpol
+'TAR' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-cf' Text
+' ' Text
+'-' Text
+' ' Text
+'*' Text
+' ' Text
+'|' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'(' Operator
+'cd' Name.Builtin
+' ' Text
+'${' Literal.String.Interpol
+'DEMODIR' Name.Variable
+'}' Literal.String.Interpol
+';' Punctuation
+' ' Text
+'${' Literal.String.Interpol
+'TAR' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'-xf' Text
+' ' Text
+'-' Text
+')' Operator
+'\n' Text
+
+'.endif\n' Comment.Preproc
+
+'\n\t' Text
+'@' Text
+'${' Literal.String.Interpol
+'CAT' Name.Variable
+'}' Literal.String.Interpol
+' ' Text
+'${' Literal.String.Interpol
+'PKGMESSAGE' Name.Variable
+'}' Literal.String.Interpol
+'\n\n' Text
+
+'.include <bsd.port.post.mk>\n' Comment.Preproc
diff --git a/tests/lexers/make/example4.txt b/tests/lexers/make/example4.txt
new file mode 100644
index 00000000..6f6c1808
--- /dev/null
+++ b/tests/lexers/make/example4.txt
@@ -0,0 +1,126 @@
+---input---
+vpath %.c src
+vpath %.h header
+EXEC=hello
+SRC= hello.c main.c
+OBJ= $(SRC:.c=.o)
+
+all: $(EXEC)
+
+hello: $(OBJ)
+ $(CC) -o $@ $^ $(LDFLAGS)
+
+main.o: hello.h
+
+%.o: %.c
+ $(CC) -I header -o $@ \
+ -c $< $(CFLAGS)
+
+---tokens---
+'vpath %.c src\n' Comment.Preproc
+
+'vpath %.h header\n' Comment.Preproc
+
+'EXEC' Name.Variable
+'=' Operator
+'hello' Text
+'\n' Text
+
+'SRC' Name.Variable
+'=' Operator
+' ' Text
+'hello.c' Text
+' ' Text
+'main.c' Text
+'\n' Text
+
+'OBJ' Name.Variable
+'=' Operator
+' ' Text
+'$(' Keyword
+'SRC:.c' Text
+'=' Operator
+'.o' Text
+')' Keyword
+'\n' Text
+
+'\n' Text
+
+'all' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'EXEC' Name.Variable
+')' Keyword
+'\n' Text
+
+'\n' Text
+
+'hello' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'OBJ' Name.Variable
+')' Keyword
+'\n' Text
+
+' ' Text
+'$(' Keyword
+'CC' Text
+')' Keyword
+' ' Text
+'-o' Text
+' ' Text
+'$@' Name.Variable
+' ' Text
+'$' Text
+'^' Text
+' ' Text
+'$(' Keyword
+'LDFLAGS' Text
+')' Keyword
+'\n\n' Text
+
+'main.o' Name.Function
+':' Operator
+' ' Text
+'hello' Name
+'.' Text
+'h' Name
+'\n' Text
+
+'\n' Text
+
+'%.o' Name.Function
+':' Operator
+' ' Text
+'%' Text
+'.' Text
+'c' Name
+'\n' Text
+
+' ' Text
+'$(' Keyword
+'CC' Text
+')' Keyword
+' ' Text
+'-I' Text
+' ' Text
+'header' Text
+' ' Text
+'-o' Text
+' ' Text
+'$@' Name.Variable
+' ' Text
+'\\\n' Literal.String.Escape
+
+' ' Text
+'-c' Text
+' ' Text
+'$' Text
+'<' Text
+' ' Text
+'$(' Keyword
+'CFLAGS' Text
+')' Keyword
+'\n' Text
diff --git a/tests/lexers/make/example5.txt b/tests/lexers/make/example5.txt
new file mode 100644
index 00000000..20141271
--- /dev/null
+++ b/tests/lexers/make/example5.txt
@@ -0,0 +1,3175 @@
+---input---
+#
+# ***** BEGIN LICENSE BLOCK *****
+# Version: MPL 1.1/GPL 2.0/LGPL 2.1
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Original Code is mozilla.org code.
+#
+# The Initial Developer of the Original Code is
+# Netscape Communications Corporation.
+# Portions created by the Initial Developer are Copyright (C) 1998
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 2 or later (the "GPL"), or
+# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+# in which case the provisions of the GPL or the LGPL are applicable instead
+# of those above. If you wish to allow use of your version of this file only
+# under the terms of either the GPL or the LGPL, and not to allow others to
+# use your version of this file under the terms of the MPL, indicate your
+# decision by deleting the provisions above and replace them with the notice
+# and other provisions required by the GPL or the LGPL. If you do not delete
+# the provisions above, a recipient may use your version of this file under
+# the terms of any one of the MPL, the GPL or the LGPL.
+#
+# ***** END LICENSE BLOCK *****
+
+DEPTH = .
+topsrcdir = @top_srcdir@
+srcdir = @srcdir@
+VPATH = @srcdir@
+
+include $(DEPTH)/config/autoconf.mk
+
+include $(topsrcdir)/build/unix/modules.mk
+
+ifeq ($(BUILD_MODULES),all)
+#
+# And now for something completely different...
+# Divide the default build into tiers.
+# Tiers must be defined on module boundaries
+#
+SUPPRESS_DEFAULT_RULES = 1
+
+default alldep all:: $(SUBMAKEFILES)
+ $(RM) -rf $(DIST)/sdk
+ $(RM) -rf $(DIST)/include
+ $(MAKE) -C config export
+ $(MAKE) nspr
+ $(MAKE) ldap
+ $(MAKE) tier_0
+ $(MAKE) tier_1
+ $(MAKE) tier_2
+ $(MAKE) tier_9
+ $(MAKE) tier_50
+ $(MAKE) tier_99
+
+# Make sure that the existing rulesets work
+DIRS = \
+ $(tier_0_dirs) \
+ $(tier_1_dirs) \
+ $(tier_2_dirs) \
+ $(tier_9_dirs) \
+ $(tier_50_dirs) \
+ $(NULL)
+
+ifdef GC_LEAK_DETECTOR
+DIRS += gc/boehm
+endif
+
+DIRS += $(tier_99_dirs)
+
+#
+# tier 0 - base build config dirs
+#
+tier_0_dirs = \
+ config \
+ build \
+ $(NULL)
+
+#
+# tier 1 - 3rd party individual libraries
+#
+tier_1_dirs += dbm
+
+ifndef MOZ_NATIVE_JPEG
+tier_1_dirs += jpeg
+endif
+
+ifndef MOZ_NATIVE_ZLIB
+tier_1_dirs += modules/zlib
+endif
+
+# Installer needs standalone libjar, hence standalone zlib
+ifdef MOZ_INSTALLER
+tier_1_dirs += modules/zlib/standalone
+endif
+
+ifdef MOZ_UPDATER
+tier_1_dirs += modules/libbz2
+tier_1_dirs += modules/libmar
+endif
+
+ifdef MOZ_SVG_RENDERER_LIBART
+tier_1_dirs += other-licenses/libart_lgpl
+endif
+
+#
+# tier 2 - base libraries
+#
+tier_2_dirs = \
+ js \
+ xpcom \
+ $(NULL)
+
+ifndef MOZ_NO_XPCOM_OBSOLETE
+tier_2_dirs += modules/libreg xpcom/obsolete
+endif
+
+ifdef NS_TRACE_MALLOC
+tier_2_dirs += tools/trace-malloc/lib
+endif
+
+#
+# tier 9 - core components (necko,gecko)
+#
+
+tier_9_dirs += \
+ js/src/xpconnect \
+ intl \
+ db \
+ $(NULL)
+
+ifdef MOZ_STORAGE
+tier_9_dirs += storage
+endif
+
+ifdef MOZ_ENABLE_XLIB
+tier_9_dirs += gfx/src/xlibrgb widget/src/xlibxtbin
+endif
+
+ifdef MOZ_ENABLE_GTK
+tier_9_dirs += widget/src/gtksuperwin widget/src/gtkxtbin
+endif
+
+ifdef MOZ_ENABLE_GTK2
+tier_9_dirs += widget/src/gtkxtbin
+endif
+
+ifdef MOZ_IPCD
+tier_9_dirs += ipc/ipcd
+endif
+
+ifdef MOZ_JSDEBUGGER
+tier_9_dirs += js/jsd
+endif
+
+tier_9_dirs += \
+ modules/libutil \
+ netwerk \
+ modules/libjar \
+ uriloader \
+ modules/libpref \
+ modules/libimg \
+ caps \
+ rdf \
+ parser/expat \
+ parser/xml \
+ parser/htmlparser \
+ gfx \
+ modules/libpr0n \
+ sun-java \
+ modules/plugin \
+ dom \
+ view \
+ widget \
+ content \
+ layout \
+ xpfe/components/shistory \
+ docshell \
+ webshell \
+ embedding \
+ editor \
+ xpfe/appshell \
+ $(NULL)
+
+ifdef MOZ_OJI
+tier_9_dirs += \
+ js/src/liveconnect \
+ modules/oji \
+ $(NULL)
+endif
+
+ifdef ACCESSIBILITY
+tier_9_dirs += accessible
+endif
+
+#
+# tier 50 - xpfe & toolkit
+#
+
+ifdef MOZ_XUL
+ifdef MOZ_XUL_APP
+tier_50_dirs += chrome
+else
+tier_50_dirs += rdf/chrome
+endif
+else
+tier_50_dirs += embedding/minimo/chromelite
+endif
+
+tier_50_dirs += profile
+
+# This must preceed xpfe
+ifdef MOZ_JPROF
+tier_50_dirs += tools/jprof
+endif
+
+ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
+tier_50_dirs += xpfe/bootstrap/appleevents
+endif
+
+tier_50_dirs += \
+ xpfe \
+ toolkit/components \
+ $(NULL)
+
+ifndef MOZ_XUL_APP
+tier_50_dirs += themes
+endif
+
+ifdef MOZ_ENABLE_XREMOTE
+tier_50_dirs += widget/src/xremoteclient
+endif
+
+ifdef MOZ_XUL_APP
+tier_50_dirs += toolkit
+endif
+
+ifdef MOZ_PHOENIX
+#XXXBlake this shell path is a temp hack; toolkit shouldn't depend on browser
+tier_50_dirs += browser/components/shell/public
+endif
+
+ifdef MOZ_XPINSTALL
+tier_50_dirs += xpinstall
+endif
+
+# JavaXPCOM JNI code is compiled into libXUL
+ifdef MOZ_JAVAXPCOM
+tier_50_dirs += extensions/java/xpcom/src
+endif
+
+ifdef MOZ_ENABLE_LIBXUL
+tier_50_dirs += \
+ toolkit/library \
+ xpcom/stub \
+ $(NULL)
+endif
+
+ifdef NS_TRACE_MALLOC
+tier_50_dirs += tools/trace-malloc
+endif
+
+ifdef MOZ_PSM
+tier_50_dirs += security/manager
+else
+tier_50_dirs += security/manager/boot/public security/manager/ssl/public
+endif
+
+ifdef MOZ_LDAP_XPCOM
+tier_50_dirs += directory/xpcom
+endif
+
+ifndef MINIMO
+ifdef MOZ_XUL_APP
+ifdef MOZ_ENABLE_GTK2
+tier_50_dirs += toolkit/components/gnome
+endif
+endif
+endif
+
+ifdef MOZ_LEAKY
+tier_50_dirs += tools/leaky
+endif
+
+ifdef MOZ_MAPINFO
+tier_50_dirs += tools/codesighs
+endif
+
+#
+# tier 99 - application features
+#
+
+ifdef MOZ_MAIL_NEWS
+tier_99_dirs += mailnews
+endif
+
+ifdef MOZ_CALENDAR
+tier_99_dirs += calendar
+endif
+
+ifdef MOZ_EXTENSIONS
+tier_99_dirs += extensions
+endif
+
+ifdef MOZ_JAVAXPCOM
+tier_99_dirs += extensions/java
+endif
+
+# axcontrol
+ifeq ($(OS_ARCH),WINNT)
+ifndef MOZ_NO_ACTIVEX_SUPPORT
+tier_99_dirs += \
+ embedding/browser/activex/src/control \
+ embedding/browser/activex/src/control_kicker \
+ $(NULL)
+endif
+endif
+
+# Java Embedding Plugin
+ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
+tier_99_dirs += plugin/oji/JEP
+endif
+
+ifneq (,$(filter browser suite,$(MOZ_BUILD_APP)))
+tier_99_dirs += xpfe/components/search
+endif
+
+ifdef MOZ_BRANDING_DIRECTORY
+tier_99_dirs += $(MOZ_BRANDING_DIRECTORY)
+endif
+
+ifdef MOZ_PHOENIX
+tier_99_dirs += browser xpfe/bootstrap/init.d
+endif
+
+ifdef MOZ_XULRUNNER
+tier_99_dirs += xulrunner
+endif
+
+ifdef MOZ_COMPOSER
+tier_99_dirs += editor/ui
+endif
+
+ifdef MOZ_THUNDERBIRD
+tier_99_dirs += mail xpfe/bootstrap/init.d
+endif
+
+ifdef MOZ_STANDALONE_COMPOSER
+tier_99_dirs += composer
+endif
+
+ifdef MOZ_SUNBIRD
+tier_99_dirs += calendar/sunbird
+endif
+
+ifdef MOZ_SUITE
+tier_99_dirs += suite
+endif
+
+ifdef MINIMO
+tier_99_dirs += minimo
+endif
+
+ifdef MOZ_XUL_APP
+ifdef MOZ_INSTALLER
+tier_99_dirs += toolkit/mozapps/installer
+endif
+else
+ifneq (,$(MOZ_XPFE_COMPONENTS)$(MOZ_XUL))
+ifndef MINIMO
+tier_99_dirs += xpfe/bootstrap
+endif
+endif
+endif
+
+ifneq (,$(MOZ_ENABLE_GTK)$(MOZ_ENABLE_GTK2))
+tier_99_dirs += embedding/browser/gtk
+endif
+
+# viewer
+ifneq (,$(ENABLE_TESTS))
+ifndef MOZ_ENABLE_LIBXUL
+tier_99_dirs += webshell/tests
+endif
+endif
+
+# winembed, mfcembed
+ifeq ($(OS_ARCH),WINNT)
+ifneq (,$(ENABLE_TESTS)$(MOZILLA_OFFICIAL))
+tier_99_dirs += embedding/tests
+endif
+endif
+
+# os2embed
+ifeq ($(OS_ARCH),OS2)
+ifneq (,$(ENABLE_TESTS)$(MOZILLA_OFFICIAL))
+tier_99_dirs += embedding/tests
+endif
+endif
+
+ifeq ($(MOZ_BUILD_APP),macbrowser)
+tier_99_dirs += \
+ embedding/config \
+ camino \
+ $(NULL)
+endif
+
+# test harnesses
+ifdef ENABLE_TESTS
+tier_99_dirs += tools/test-harness
+endif
+
+else
+
+# Standalone build
+
+DIRS = $(BUILD_MODULE_DIRS)
+
+# Hack to generate xpidl Makefile
+ifneq ($(BUILD_MODULES),all)
+ifneq (,$(findstring xpcom, $(BUILD_MODULE_DIRS)))
+DIRS := xpcom/typelib $(DIRS)
+SUBMAKEFILES := xpcom/typelib/Makefile
+endif
+endif
+
+default:: $(SUBMAKEFILES)
+ $(MAKE) export
+ $(MAKE) libs
+
+endif # BUILD_MODULES == all
+
+STATIC_MAKEFILES := nsprpub directory/c-sdk security/nss
+
+GARBAGE_DIRS += dist
+DIST_GARBAGE = config.cache config.log config.status config-defs.h \
+ dependencies.beos config/autoconf.mk config/myrules.mk config/myconfig.mk \
+ unallmakefiles mozilla-config.h \
+ $(topsrcdir)/.mozconfig.mk $(topsrcdir)/.mozconfig.out
+
+# Build pseudo-external modules first when export is explicitly called
+export::
+ $(RM) -rf $(DIST)/sdk
+ $(MAKE) -C config export
+ $(MAKE) nspr
+ $(MAKE) ldap
+ifneq ($(BUILD_MODULES),all)
+ifneq (,$(findstring xpcom, $(BUILD_MODULE_DIRS)))
+ $(MAKE) -C xpcom/typelib
+ $(MAKE) export-idl
+endif
+endif
+
+install::
+ifndef MOZ_NATIVE_NSPR
+ $(MAKE) -C nsprpub real_install DESTDIR=$(DESTDIR) libdir=$(mozappdir) includedir=$(includedir)/nspr
+ $(RM) -f $(addprefix $(DESTDIR)$(mozappdir)/$(LIB_PREFIX), $(addsuffix .$(LIB_SUFFIX), nspr4 plds4 plc4))
+ $(RM) -f $(addprefix $(DESTDIR)$(bindir)/,nspr-config compile-et.pl prerr.properties)
+endif
+ifdef MOZ_LDAP_XPCOM
+ $(MAKE) -C directory/c-sdk real_install DESTDIR=$(DESTDIR) libdir=$(mozappdir) includedir=$(includedir)/ldap
+endif
+
+include $(topsrcdir)/config/rules.mk
+
+# Clean up after pseudo-external modules
+clean clobber realclean clobber_all distclean::
+ifndef MOZ_NATIVE_NSPR
+ $(MAKE) -C nsprpub $@
+endif
+ifdef MOZ_LDAP_XPCOM
+ $(MAKE) -C directory/c-sdk $@
+endif
+
+# Map mozilla targets to standard automake target
+ifdef MOZ_ENABLE_LIBXUL
+tier_50: $(addsuffix /Makefile, $(filter-out $(STATIC_MAKEFILES), $($@_dirs)))
+ @echo "tier_50: $(tier_50_dirs)"
+ @$(EXIT_ON_ERROR) \
+ for d in $(tier_50_dirs); do \
+ $(UPDATE_TITLE) \
+ if test ! -f $$d/Makefile; then \
+ $(PERL) $(AUTOCONF_TOOLS)/make-makefile -t $(topsrcdir) -d $(DEPTH) $(CYGWIN_TOPSRCDIR) $$d/Makefile; \
+ fi; \
+ $(MAKE) -C $$d export; \
+ done ; \
+ for d in $(tier_50_dirs); do \
+ $(UPDATE_TITLE) \
+ $(MAKE) -C $$d libs; \
+ done
+ @echo "Building tools from tier 2/9/50"
+ @$(EXIT_ON_ERROR) \
+ for d in $(tier_2_dirs) $(tier_9_dirs) $(tier_50_dirs); do \
+ $(UPDATE_TITLE) \
+ $(MAKE) -C $$d tools; \
+ done;
+endif
+
+tier_%:
+ @echo "$@: $($@_dirs)"
+ @$(EXIT_ON_ERROR) \
+ for d in $($@_dirs); do \
+ $(UPDATE_TITLE) \
+ if test ! -f $$d/Makefile; then \
+ $(PERL) $(AUTOCONF_TOOLS)/make-makefile -t $(topsrcdir) -d $(DEPTH) $(CYGWIN_TOPSRCDIR) $$d/Makefile; \
+ fi; \
+ $(MAKE) -C $$d export; \
+ done ; \
+ for d in $($@_dirs); do $(UPDATE_TITLE) \
+ $(MAKE) -C $$d libs; \
+ done
+
+#
+# Individual modules
+#
+boehm:
+ifdef GC_LEAK_DETECTOR
+ $(MAKE) -C gc/boehm
+endif
+
+nspr: boehm
+ifndef MOZ_NATIVE_NSPR
+ $(MAKE) -C nsprpub
+endif
+
+ldap:
+ifdef MOZ_LDAP_XPCOM
+ $(MAKE) -C directory/c-sdk
+endif
+
+distclean::
+ cat unallmakefiles | $(XARGS) rm -f
+ rm -f unallmakefiles $(DIST_GARBAGE)
+
+ifeq ($(OS_ARCH),WINNT)
+rebase:
+ifdef MOZILLA_OFFICIAL
+ echo rebasing $(DIST)
+ /bin/find $(DIST) -name "*.dll" > rebase.lst
+ rebase -b 60000000 -R . -G rebase.lst
+ rm rebase.lst
+endif
+
+splitsymbols:
+ifdef MOZILLA_OFFICIAL
+ifdef MOZ_DEBUG_SYMBOLS
+ echo finding pdb files
+ mkdir -p $(DIST)/$(BUILDID)
+ -cp `/bin/find . -path "./dist" -prune -o -name "*.dll" | sed "s/\.dll$$/\.pdb/" | xargs` $(DIST)/$(BUILDID)
+ -cp `/bin/find . -path "./dist" -prune -o -name "*.exe" | sed "s/\.exe$$/\.pdb/" | xargs` $(DIST)/$(BUILDID)
+ -cp `/bin/find . -path "./dist" -prune -o -name "*.EXE" | sed "s/\.EXE$$/\.pdb/" | xargs` $(DIST)/$(BUILDID)
+endif # MOZ_DEBUG_SYMBOLS
+ifdef MOZ_PROFILE
+ echo splitting symbols out of binaries
+ /bin/find $(DIST) -name "*.dll" -exec splitsym {} \;
+ /bin/find $(DIST) -name "*.exe" -exec splitsym {} \;
+ /bin/find $(DIST) -name "*.EXE" -exec splitsym {} \;
+ mkdir -p $(DIST)/$(BUILDID)
+ /bin/find $(DIST) -name "*.dbg" -exec mv {} $(DIST)/$(BUILDID) \;
+endif # MOZ_PROFILE
+endif # MOZILLA_OFFICIAL
+
+signnss:
+ifdef MOZILLA_OFFICIAL
+ echo signing NSS libs
+ cd $(DIST)/bin; ./shlibsign.exe -v -i softokn3.dll
+ cd $(DIST)/bin; ./shlibsign.exe -v -i freebl3.dll
+endif # MOZILLA_OFFICIAL
+
+BUILDID = $(shell cat $(DEPTH)/config/build_number)
+deliver: splitsymbols rebase signnss
+
+endif # WINNT
+
+
+---tokens---
+'#\n' Comment
+
+'# ***** BEGIN LICENSE BLOCK *****\n' Comment
+
+'# Version: MPL 1.1/GPL 2.0/LGPL 2.1\n' Comment
+
+'#\n' Comment
+
+'# The contents of this file are subject to the Mozilla Public License Version\n' Comment
+
+'# 1.1 (the "License"); you may not use this file except in compliance with\n' Comment
+
+'# the License. You may obtain a copy of the License at\n' Comment
+
+'# http://www.mozilla.org/MPL/\n' Comment
+
+'#\n' Comment
+
+'# Software distributed under the License is distributed on an "AS IS" basis,\n' Comment
+
+'# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\n' Comment
+
+'# for the specific language governing rights and limitations under the\n' Comment
+
+'# License.\n' Comment
+
+'#\n' Comment
+
+'# The Original Code is mozilla.org code.\n' Comment
+
+'#\n' Comment
+
+'# The Initial Developer of the Original Code is\n' Comment
+
+'# Netscape Communications Corporation.\n' Comment
+
+'# Portions created by the Initial Developer are Copyright (C) 1998\n' Comment
+
+'# the Initial Developer. All Rights Reserved.\n' Comment
+
+'#\n' Comment
+
+'# Contributor(s):\n' Comment
+
+'#\n' Comment
+
+'# Alternatively, the contents of this file may be used under the terms of\n' Comment
+
+'# either the GNU General Public License Version 2 or later (the "GPL"), or\n' Comment
+
+'# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),\n' Comment
+
+'# in which case the provisions of the GPL or the LGPL are applicable instead\n' Comment
+
+'# of those above. If you wish to allow use of your version of this file only\n' Comment
+
+'# under the terms of either the GPL or the LGPL, and not to allow others to\n' Comment
+
+'# use your version of this file under the terms of the MPL, indicate your\n' Comment
+
+'# decision by deleting the provisions above and replace them with the notice\n' Comment
+
+'# and other provisions required by the GPL or the LGPL. If you do not delete\n' Comment
+
+'# the provisions above, a recipient may use your version of this file under\n' Comment
+
+'# the terms of any one of the MPL, the GPL or the LGPL.\n' Comment
+
+'#\n' Comment
+
+'# ***** END LICENSE BLOCK *****\n' Comment
+
+'\n' Text
+
+'DEPTH' Name.Variable
+'\t\t' Text
+'=' Operator
+' ' Text
+'.' Text
+'\n' Text
+
+'topsrcdir' Name.Variable
+'\t' Text
+'=' Operator
+' ' Text
+'@top_srcdir@' Text
+'\n' Text
+
+'srcdir' Name.Variable
+'\t\t' Text
+'=' Operator
+' ' Text
+'@srcdir@' Text
+'\n' Text
+
+'VPATH' Name.Variable
+'\t\t' Text
+'=' Operator
+' ' Text
+'@srcdir@' Text
+'\n' Text
+
+'\n' Text
+
+'include $(DEPTH)/config/autoconf.mk\n' Comment.Preproc
+
+'\n' Text
+
+'include $(topsrcdir)/build/unix/modules.mk\n' Comment.Preproc
+
+'\n' Text
+
+'ifeq ($(BUILD_MODULES),all)\n' Comment.Preproc
+
+'#\n' Comment
+
+'# And now for something completely different...\n' Comment
+
+'# Divide the default build into tiers. \n' Comment
+
+'# Tiers must be defined on module boundaries \n' Comment
+
+'#\n' Comment
+
+'SUPPRESS_DEFAULT_RULES' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'1' Literal.Number
+'\n' Text
+
+'\n' Text
+
+'default alldep all' Name.Function
+'::' Operator
+' ' Text
+'$(' Keyword
+'SUBMAKEFILES' Name.Variable
+')' Keyword
+'\n' Text
+
+'\t' Text
+'$(' Keyword
+'RM' Text
+')' Keyword
+' ' Text
+'-rf' Text
+' ' Text
+'$(' Keyword
+'DIST' Text
+')' Keyword
+'/sdk' Text
+'\n\t' Text
+'$(' Keyword
+'RM' Text
+')' Keyword
+' ' Text
+'-rf' Text
+' ' Text
+'$(' Keyword
+'DIST' Text
+')' Keyword
+'/include' Text
+'\n\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'-C' Text
+' ' Text
+'config' Text
+' ' Text
+'export' Name.Builtin
+'\n\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'nspr' Text
+'\n\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'ldap' Text
+'\n\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'tier_0' Text
+'\n\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'tier_1' Text
+'\n\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'tier_2' Text
+'\n\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'tier_9' Text
+'\n\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'tier_50' Text
+'\n\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'tier_99' Text
+'\n\n' Text
+
+'# Make sure that the existing rulesets work\n' Comment
+
+'DIRS' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'$(' Keyword
+'tier_0_dirs' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'$(' Keyword
+'tier_1_dirs' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'$(' Keyword
+'tier_2_dirs' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'$(' Keyword
+'tier_9_dirs' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'$(' Keyword
+'tier_50_dirs' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'$(' Keyword
+'NULL' Text
+')' Keyword
+'\n\n' Text
+
+'ifdef GC_LEAK_DETECTOR\n' Comment.Preproc
+
+'DIRS' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'gc/boehm' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'DIRS' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'$(' Keyword
+'tier_99_dirs' Text
+')' Keyword
+'\n' Text
+
+'\n' Text
+
+'#\n' Comment
+
+'# tier 0 - base build config dirs\n' Comment
+
+'# \n' Comment
+
+'tier_0_dirs' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'config' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'build' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'$(' Keyword
+'NULL' Text
+')' Keyword
+'\n\n' Text
+
+'#\n' Comment
+
+'# tier 1 - 3rd party individual libraries\n' Comment
+
+'#\n' Comment
+
+'tier_1_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'dbm' Text
+'\n' Text
+
+'\n' Text
+
+'ifndef MOZ_NATIVE_JPEG\n' Comment.Preproc
+
+'tier_1_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'jpeg' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifndef MOZ_NATIVE_ZLIB\n' Comment.Preproc
+
+'tier_1_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'modules/zlib' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'# Installer needs standalone libjar, hence standalone zlib\n' Comment
+
+'ifdef MOZ_INSTALLER\n' Comment.Preproc
+
+'tier_1_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'modules/zlib/standalone' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_UPDATER\n' Comment.Preproc
+
+'tier_1_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'modules/libbz2' Text
+'\n' Text
+
+'tier_1_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'modules/libmar' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_SVG_RENDERER_LIBART\n' Comment.Preproc
+
+'tier_1_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'other-licenses/libart_lgpl' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'#\n' Comment
+
+'# tier 2 - base libraries\n' Comment
+
+'# \n' Comment
+
+'tier_2_dirs' Name.Variable
+'\t' Text
+'=' Operator
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'js' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'xpcom' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'NULL' Text
+')' Keyword
+'\n\n' Text
+
+'ifndef MOZ_NO_XPCOM_OBSOLETE\n' Comment.Preproc
+
+'tier_2_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'modules/libreg' Text
+' ' Text
+'xpcom/obsolete' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef NS_TRACE_MALLOC\n' Comment.Preproc
+
+'tier_2_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'tools/trace-malloc/lib' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'#\n' Comment
+
+'# tier 9 - core components (necko,gecko)\n' Comment
+
+'#\n' Comment
+
+'\n' Text
+
+'tier_9_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'js/src/xpconnect' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'intl' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'db' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'NULL' Text
+')' Keyword
+'\n\n' Text
+
+'ifdef MOZ_STORAGE\n' Comment.Preproc
+
+'tier_9_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'storage' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_ENABLE_XLIB\n' Comment.Preproc
+
+'tier_9_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'gfx/src/xlibrgb' Text
+' ' Text
+'widget/src/xlibxtbin' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_ENABLE_GTK\n' Comment.Preproc
+
+'tier_9_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'widget/src/gtksuperwin' Text
+' ' Text
+'widget/src/gtkxtbin' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_ENABLE_GTK2\n' Comment.Preproc
+
+'tier_9_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'widget/src/gtkxtbin' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_IPCD\n' Comment.Preproc
+
+'tier_9_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'ipc/ipcd' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_JSDEBUGGER\n' Comment.Preproc
+
+'tier_9_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'js/jsd' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'tier_9_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'modules/libutil' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'netwerk' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'modules/libjar' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'uriloader' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'modules/libpref' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'modules/libimg' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'caps' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'rdf' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'parser/expat' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'parser/xml' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'parser/htmlparser' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'gfx' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'modules/libpr0n' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'sun-java' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'modules/plugin' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'dom' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'view' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'widget' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'content' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'layout' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'xpfe/components/shistory' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'docshell' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'webshell' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'embedding' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'editor' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'xpfe/appshell' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'NULL' Text
+')' Keyword
+'\n\n' Text
+
+'ifdef MOZ_OJI\n' Comment.Preproc
+
+'tier_9_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'js/src/liveconnect' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'modules/oji' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'NULL' Text
+')' Keyword
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef ACCESSIBILITY\n' Comment.Preproc
+
+'tier_9_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'accessible' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'# \n' Comment
+
+'# tier 50 - xpfe & toolkit\n' Comment
+
+'#\n' Comment
+
+'\n' Text
+
+'ifdef MOZ_XUL\n' Comment.Preproc
+
+'ifdef MOZ_XUL_APP\n' Comment.Preproc
+
+'tier_50_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'chrome' Text
+'\n' Text
+
+'else\n' Comment.Preproc
+
+'tier_50_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'rdf/chrome' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'else\n' Comment.Preproc
+
+'tier_50_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'embedding/minimo/chromelite' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'tier_50_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'profile' Text
+'\n' Text
+
+'\n' Text
+
+'# This must preceed xpfe\n' Comment
+
+'ifdef MOZ_JPROF\n' Comment.Preproc
+
+'tier_50_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'tools/jprof' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))\n' Comment.Preproc
+
+'tier_50_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'xpfe/bootstrap/appleevents' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'tier_50_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'xpfe' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'toolkit/components' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'$(' Keyword
+'NULL' Text
+')' Keyword
+'\n\n' Text
+
+'ifndef MOZ_XUL_APP\n' Comment.Preproc
+
+'tier_50_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'themes' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_ENABLE_XREMOTE\n' Comment.Preproc
+
+'tier_50_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'widget/src/xremoteclient' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_XUL_APP\n' Comment.Preproc
+
+'tier_50_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'toolkit' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_PHOENIX\n' Comment.Preproc
+
+"#XXXBlake this shell path is a temp hack; toolkit shouldn't depend on browser\n" Comment
+
+'tier_50_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'browser/components/shell/public' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_XPINSTALL\n' Comment.Preproc
+
+'tier_50_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'xpinstall' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'# JavaXPCOM JNI code is compiled into libXUL\n' Comment
+
+'ifdef MOZ_JAVAXPCOM\n' Comment.Preproc
+
+'tier_50_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'extensions/java/xpcom/src' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_ENABLE_LIBXUL\n' Comment.Preproc
+
+'tier_50_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'toolkit/library' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'xpcom/stub' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'NULL' Text
+')' Keyword
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef NS_TRACE_MALLOC\n' Comment.Preproc
+
+'tier_50_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'tools/trace-malloc' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_PSM\n' Comment.Preproc
+
+'tier_50_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'security/manager' Text
+'\n' Text
+
+'else\n' Comment.Preproc
+
+'tier_50_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'security/manager/boot/public' Text
+' ' Text
+'security/manager/ssl/public' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_LDAP_XPCOM\n' Comment.Preproc
+
+'tier_50_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'directory/xpcom' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifndef MINIMO\n' Comment.Preproc
+
+'ifdef MOZ_XUL_APP\n' Comment.Preproc
+
+'ifdef MOZ_ENABLE_GTK2\n' Comment.Preproc
+
+'tier_50_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'toolkit/components/gnome' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'endif\n' Comment.Preproc
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_LEAKY\n' Comment.Preproc
+
+'tier_50_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'tools/leaky' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_MAPINFO\n' Comment.Preproc
+
+'tier_50_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'tools/codesighs' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'#\n' Comment
+
+'# tier 99 - application features\n' Comment
+
+'#\n' Comment
+
+'\n' Text
+
+'ifdef MOZ_MAIL_NEWS\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'mailnews' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_CALENDAR\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'calendar' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_EXTENSIONS\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'extensions' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_JAVAXPCOM\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'extensions/java' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'# axcontrol\n' Comment
+
+'ifeq ($(OS_ARCH),WINNT)\n' Comment.Preproc
+
+'ifndef MOZ_NO_ACTIVEX_SUPPORT\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'embedding/browser/activex/src/control' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'embedding/browser/activex/src/control_kicker' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t\t' Text
+'$(' Keyword
+'NULL' Text
+')' Keyword
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'# Java Embedding Plugin\n' Comment
+
+'ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'plugin/oji/JEP' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifneq (,$(filter browser suite,$(MOZ_BUILD_APP)))\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'xpfe/components/search' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_BRANDING_DIRECTORY\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'$(' Keyword
+'MOZ_BRANDING_DIRECTORY' Text
+')' Keyword
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_PHOENIX\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'browser' Text
+' ' Text
+'xpfe/bootstrap/init.d' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_XULRUNNER\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'xulrunner' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_COMPOSER\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'editor/ui' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_THUNDERBIRD\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'mail' Text
+' ' Text
+'xpfe/bootstrap/init.d' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_STANDALONE_COMPOSER\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'composer' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_SUNBIRD\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'calendar/sunbird' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_SUITE\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'suite' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MINIMO\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'minimo' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifdef MOZ_XUL_APP\n' Comment.Preproc
+
+'ifdef MOZ_INSTALLER\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'toolkit/mozapps/installer' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'else\n' Comment.Preproc
+
+'ifneq (,$(MOZ_XPFE_COMPONENTS)$(MOZ_XUL))\n' Comment.Preproc
+
+'ifndef MINIMO\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'xpfe/bootstrap' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'endif\n' Comment.Preproc
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifneq (,$(MOZ_ENABLE_GTK)$(MOZ_ENABLE_GTK2))\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+'\t' Text
+'+=' Operator
+' ' Text
+'embedding/browser/gtk' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'# viewer\n' Comment
+
+'ifneq (,$(ENABLE_TESTS))\n' Comment.Preproc
+
+'ifndef MOZ_ENABLE_LIBXUL\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'webshell/tests' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'# winembed, mfcembed\n' Comment
+
+'ifeq ($(OS_ARCH),WINNT)\n' Comment.Preproc
+
+'ifneq (,$(ENABLE_TESTS)$(MOZILLA_OFFICIAL))\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'embedding/tests' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'# os2embed\n' Comment
+
+'ifeq ($(OS_ARCH),OS2)\n' Comment.Preproc
+
+'ifneq (,$(ENABLE_TESTS)$(MOZILLA_OFFICIAL))\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'embedding/tests' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ifeq ($(MOZ_BUILD_APP),macbrowser)\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'embedding/config' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'camino' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'$(' Keyword
+'NULL' Text
+')' Keyword
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'# test harnesses \n' Comment
+
+'ifdef ENABLE_TESTS\n' Comment.Preproc
+
+'tier_99_dirs' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'tools/test-harness' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'else\n' Comment.Preproc
+
+'\n' Text
+
+'# Standalone build\n' Comment
+
+'\n' Text
+
+'DIRS' Name.Variable
+'\t\t' Text
+'=' Operator
+' ' Text
+'$(' Keyword
+'BUILD_MODULE_DIRS' Text
+')' Keyword
+'\n' Text
+
+'\n' Text
+
+'# Hack to generate xpidl Makefile\n' Comment
+
+'ifneq ($(BUILD_MODULES),all)\n' Comment.Preproc
+
+'ifneq (,$(findstring xpcom, $(BUILD_MODULE_DIRS)))\n' Comment.Preproc
+
+'DIRS' Name.Variable
+'\t\t' Text
+':=' Operator
+' ' Text
+'xpcom/typelib' Text
+' ' Text
+'$(' Keyword
+'DIRS' Text
+')' Keyword
+'\n' Text
+
+'SUBMAKEFILES' Name.Variable
+'\t' Text
+':=' Operator
+' ' Text
+'xpcom/typelib/Makefile' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'default' Name.Function
+'::' Operator
+' ' Text
+'$(' Keyword
+'SUBMAKEFILES' Name.Variable
+')' Keyword
+'\n' Text
+
+'\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'export' Name.Builtin
+'\n\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'libs' Text
+'\n\n' Text
+
+'endif # BUILD_MODULES == all\n' Comment.Preproc
+
+'\n' Text
+
+'STATIC_MAKEFILES' Name.Variable
+' ' Text
+':=' Operator
+' ' Text
+'nsprpub' Text
+' ' Text
+'directory/c-sdk' Text
+' ' Text
+'security/nss' Text
+'\n' Text
+
+'\n' Text
+
+'GARBAGE_DIRS' Name.Variable
+' ' Text
+'+=' Operator
+' ' Text
+'dist' Text
+'\n' Text
+
+'DIST_GARBAGE' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'config.cache' Text
+' ' Text
+'config.log' Text
+' ' Text
+'config.status' Text
+' ' Text
+'config-defs.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+' ' Text
+'dependencies.beos' Text
+' ' Text
+'config/autoconf.mk' Text
+' ' Text
+'config/myrules.mk' Text
+' ' Text
+'config/myconfig.mk' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+' ' Text
+'unallmakefiles' Text
+' ' Text
+'mozilla-config.h' Text
+' ' Text
+'\\\n' Literal.String.Escape
+
+' ' Text
+'$(' Keyword
+'topsrcdir' Text
+')' Keyword
+'/.mozconfig.mk' Text
+' ' Text
+'$(' Keyword
+'topsrcdir' Text
+')' Keyword
+'/.mozconfig.out' Text
+' \n\n' Text
+
+'# Build pseudo-external modules first when export is explicitly called\n' Comment
+
+'export' Name.Function
+'::' Operator
+'\n' Text
+
+'\t' Text
+'$(' Keyword
+'RM' Text
+')' Keyword
+' ' Text
+'-rf' Text
+' ' Text
+'$(' Keyword
+'DIST' Text
+')' Keyword
+'/sdk' Text
+'\n\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'-C' Text
+' ' Text
+'config' Text
+' ' Text
+'export' Name.Builtin
+'\n\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'nspr' Text
+'\n\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'ldap' Text
+'\n' Text
+
+'ifneq ($(BUILD_MODULES),all)\n' Comment.Preproc
+
+'ifneq (,$(findstring xpcom, $(BUILD_MODULE_DIRS)))\n' Comment.Preproc
+
+'\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'-C' Text
+' ' Text
+'xpcom/typelib' Text
+'\n\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'export-idl' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'install' Name.Function
+'::' Operator
+'\n' Text
+
+'ifndef MOZ_NATIVE_NSPR\n' Comment.Preproc
+
+'\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'-C' Text
+' ' Text
+'nsprpub' Text
+' ' Text
+'real_install' Text
+' ' Text
+'DESTDIR' Name.Variable
+'=' Operator
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+' ' Text
+'libdir' Name.Variable
+'=' Operator
+'$(' Keyword
+'mozappdir' Text
+')' Keyword
+' ' Text
+'includedir' Name.Variable
+'=' Operator
+'$(' Keyword
+'includedir' Text
+')' Keyword
+'/nspr' Text
+'\n\t' Text
+'$(' Keyword
+'RM' Text
+')' Keyword
+' ' Text
+'-f' Text
+' ' Text
+'$(' Keyword
+'addprefix' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'mozappdir' Text
+')' Keyword
+'/' Text
+'$(' Keyword
+'LIB_PREFIX' Text
+')' Keyword
+',' Text
+' ' Text
+'$(' Keyword
+'addsuffix' Text
+' ' Text
+'.' Text
+'$(' Keyword
+'LIB_SUFFIX' Text
+')' Keyword
+',' Text
+' ' Text
+'nspr4' Text
+' ' Text
+'plds4' Text
+' ' Text
+'plc4' Text
+')' Keyword
+')' Keyword
+'\n\t' Text
+'$(' Keyword
+'RM' Text
+')' Keyword
+' ' Text
+'-f' Text
+' ' Text
+'$(' Keyword
+'addprefix' Text
+' ' Text
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+'$(' Keyword
+'bindir' Text
+')' Keyword
+'/,nspr-config' Text
+' ' Text
+'compile-et.pl' Text
+' ' Text
+'prerr.properties' Text
+')' Keyword
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'ifdef MOZ_LDAP_XPCOM\n' Comment.Preproc
+
+'\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'-C' Text
+' ' Text
+'directory/c-sdk' Text
+' ' Text
+'real_install' Text
+' ' Text
+'DESTDIR' Name.Variable
+'=' Operator
+'$(' Keyword
+'DESTDIR' Text
+')' Keyword
+' ' Text
+'libdir' Name.Variable
+'=' Operator
+'$(' Keyword
+'mozappdir' Text
+')' Keyword
+' ' Text
+'includedir' Name.Variable
+'=' Operator
+'$(' Keyword
+'includedir' Text
+')' Keyword
+'/ldap' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'include $(topsrcdir)/config/rules.mk\n' Comment.Preproc
+
+'\n' Text
+
+'# Clean up after pseudo-external modules\n' Comment
+
+'clean clobber realclean clobber_all distclean' Name.Function
+'::' Operator
+'\n' Text
+
+'ifndef MOZ_NATIVE_NSPR\n' Comment.Preproc
+
+'\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'-C' Text
+' ' Text
+'nsprpub' Text
+' ' Text
+'$@' Name.Variable
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'ifdef MOZ_LDAP_XPCOM\n' Comment.Preproc
+
+'\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'-C' Text
+' ' Text
+'directory/c-sdk' Text
+' ' Text
+'$@' Name.Variable
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'# Map mozilla targets to standard automake target\n' Comment
+
+'ifdef MOZ_ENABLE_LIBXUL\n' Comment.Preproc
+
+'tier_50' Name.Function
+':' Operator
+' ' Text
+'$(' Keyword
+'addsuffix' Name.Variable
+' /' Text
+'Makefile' Name.Variable
+', ' Text
+'$' Keyword
+'(' Keyword
+'filter-out' Name.Variable
+' ' Text
+'$' Keyword
+'(' Keyword
+'STATIC_MAKEFILES' Name.Variable
+')' Keyword
+', ' Text
+'$' Keyword
+'(' Keyword
+'$' Keyword
+'@' Text
+'_dirs' Name.Variable
+')' Keyword
+')' Keyword
+')' Keyword
+'\n' Text
+
+'\t' Text
+'@echo' Text
+' ' Text
+'"' Literal.String.Double
+'tier_50: ' Literal.String.Double
+'$(' Keyword
+'tier_50_dirs' Text
+')' Keyword
+'"' Literal.String.Double
+'\n\t' Text
+'@' Text
+'$(' Keyword
+'EXIT_ON_ERROR' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'for' Keyword
+' ' Text
+'d' Text
+' ' Text
+'in' Keyword
+' ' Text
+'$(' Keyword
+'tier_50_dirs' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t ' Text
+'$(' Keyword
+'UPDATE_TITLE' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t if test ! -f $$d/Makefile; then \\\n' Comment.Preproc
+
+'\t $(PERL) $(AUTOCONF_TOOLS)/make-makefile -t $(topsrcdir) -d $(DEPTH) $(CYGWIN_TOPSRCDIR) $$d/Makefile; \\\n' Comment.Preproc
+
+'\t fi; \\\n' Comment.Preproc
+
+'\t $(MAKE) -C $$d export; \\\n' Comment.Preproc
+
+'\tdone ; \\\n' Comment.Preproc
+
+'\tfor d in $(tier_50_dirs); do \\\n' Comment.Preproc
+
+'\t $(UPDATE_TITLE) \\\n' Comment.Preproc
+
+'\t $(MAKE) -C $$d libs; \\\n' Comment.Preproc
+
+'\tdone\n' Comment.Preproc
+
+'\t' Text
+'@echo' Text
+' ' Text
+'"Building tools from tier 2/9/50"' Literal.String.Double
+'\n\t' Text
+'@' Text
+'$(' Keyword
+'EXIT_ON_ERROR' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'for' Keyword
+' ' Text
+'d' Text
+' ' Text
+'in' Keyword
+' ' Text
+'$(' Keyword
+'tier_2_dirs' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'tier_9_dirs' Text
+')' Keyword
+' ' Text
+'$(' Keyword
+'tier_50_dirs' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t ' Text
+'$(' Keyword
+'UPDATE_TITLE' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t ' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'-C' Text
+' ' Text
+'$$' Name.Variable
+'d' Text
+' ' Text
+'tools' Text
+';' Punctuation
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t' Text
+'done' Keyword
+';' Punctuation
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'tier_%' Name.Function
+':' Operator
+'\n' Text
+
+'\t' Text
+'@echo' Text
+' ' Text
+'"' Literal.String.Double
+'$@' Name.Variable
+': ' Literal.String.Double
+'$(' Keyword
+'$@' Name.Variable
+'_dirs' Text
+')' Keyword
+'"' Literal.String.Double
+'\n\t' Text
+'@' Text
+'$(' Keyword
+'EXIT_ON_ERROR' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t ' Text
+'for' Keyword
+' ' Text
+'d' Text
+' ' Text
+'in' Keyword
+' ' Text
+'$(' Keyword
+'$@' Name.Variable
+'_dirs' Text
+')' Keyword
+';' Punctuation
+' ' Text
+'do' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t ' Text
+'$(' Keyword
+'UPDATE_TITLE' Text
+')' Keyword
+' ' Text
+'\\\n' Literal.String.Escape
+
+'\t if test ! -f $$d/Makefile; then \\\n' Comment.Preproc
+
+'\t $(PERL) $(AUTOCONF_TOOLS)/make-makefile -t $(topsrcdir) -d $(DEPTH) $(CYGWIN_TOPSRCDIR) $$d/Makefile; \\\n' Comment.Preproc
+
+'\t fi; \\\n' Comment.Preproc
+
+'\t $(MAKE) -C $$d export; \\\n' Comment.Preproc
+
+'\t done ; \\\n' Comment.Preproc
+
+'\t for d in $($@_dirs); do $(UPDATE_TITLE) \\\n' Comment.Preproc
+
+'\t $(MAKE) -C $$d libs; \\\n' Comment.Preproc
+
+'\t done\n' Comment.Preproc
+
+'\n' Text
+
+'#\n' Comment
+
+'# Individual modules\n' Comment
+
+'#\n' Comment
+
+'boehm' Name.Function
+':' Operator
+'\n' Text
+
+'ifdef GC_LEAK_DETECTOR\n' Comment.Preproc
+
+'\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'-C' Text
+' ' Text
+'gc/boehm' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'nspr' Name.Function
+':' Operator
+' ' Text
+'boehm' Name
+'\n' Text
+
+'ifndef MOZ_NATIVE_NSPR\n' Comment.Preproc
+
+'\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'-C' Text
+' ' Text
+'nsprpub' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'ldap' Name.Function
+':' Operator
+'\n' Text
+
+'ifdef MOZ_LDAP_XPCOM\n' Comment.Preproc
+
+'\t' Text
+'$(' Keyword
+'MAKE' Text
+')' Keyword
+' ' Text
+'-C' Text
+' ' Text
+'directory/c-sdk' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'distclean' Name.Function
+'::' Operator
+'\n' Text
+
+'\t' Text
+'cat' Text
+' ' Text
+'unallmakefiles' Text
+' ' Text
+'|' Punctuation
+' ' Text
+'$(' Keyword
+'XARGS' Text
+')' Keyword
+' ' Text
+'rm' Text
+' ' Text
+'-f' Text
+'\n\t' Text
+'rm' Text
+' ' Text
+'-f' Text
+' ' Text
+'unallmakefiles' Text
+' ' Text
+'$(' Keyword
+'DIST_GARBAGE' Text
+')' Keyword
+'\n\n' Text
+
+'ifeq ($(OS_ARCH),WINNT)\n' Comment.Preproc
+
+'rebase' Name.Function
+':' Operator
+'\n' Text
+
+'ifdef MOZILLA_OFFICIAL\n' Comment.Preproc
+
+'\t' Text
+'echo' Name.Builtin
+' ' Text
+'rebasing' Text
+' ' Text
+'$(' Keyword
+'DIST' Text
+')' Keyword
+'\n\t' Text
+'/bin/find' Text
+' ' Text
+'$(' Keyword
+'DIST' Text
+')' Keyword
+' ' Text
+'-name' Text
+' ' Text
+'"*.dll"' Literal.String.Double
+' ' Text
+'>' Text
+' ' Text
+'rebase.lst' Text
+'\n\t' Text
+'rebase' Text
+' ' Text
+'-b' Text
+' ' Text
+'60000000' Literal.Number
+' ' Text
+'-R' Text
+' ' Text
+'.' Text
+' ' Text
+'-G' Text
+' ' Text
+'rebase.lst' Text
+'\n\t' Text
+'rm' Text
+' ' Text
+'rebase.lst' Text
+'\n' Text
+
+'endif\n' Comment.Preproc
+
+'\n' Text
+
+'splitsymbols' Name.Function
+':' Operator
+'\n' Text
+
+'ifdef MOZILLA_OFFICIAL\n' Comment.Preproc
+
+'ifdef MOZ_DEBUG_SYMBOLS\n' Comment.Preproc
+
+'\t' Text
+'echo' Name.Builtin
+' ' Text
+'finding' Text
+' ' Text
+'pdb' Text
+' ' Text
+'files' Text
+'\n\t' Text
+'mkdir' Text
+' ' Text
+'-p' Text
+' ' Text
+'$(' Keyword
+'DIST' Text
+')' Keyword
+'/' Text
+'$(' Keyword
+'BUILDID' Text
+')' Keyword
+'\n\t' Text
+'-cp' Text
+' ' Text
+'`' Literal.String.Backtick
+'/bin/find' Text
+' ' Text
+'.' Text
+' ' Text
+'-path' Text
+' ' Text
+'"./dist"' Literal.String.Double
+' ' Text
+'-prune' Text
+' ' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+'"*.dll"' Literal.String.Double
+' ' Text
+'|' Punctuation
+' ' Text
+'sed' Text
+' ' Text
+'"' Literal.String.Double
+'s/\\.dll' Literal.String.Double
+'$$' Name.Variable
+'/\\.pdb/' Literal.String.Double
+'"' Literal.String.Double
+' ' Text
+'|' Punctuation
+' ' Text
+'xargs' Text
+'`' Literal.String.Backtick
+' ' Text
+'$(' Keyword
+'DIST' Text
+')' Keyword
+'/' Text
+'$(' Keyword
+'BUILDID' Text
+')' Keyword
+'\n\t' Text
+'-cp' Text
+' ' Text
+'`' Literal.String.Backtick
+'/bin/find' Text
+' ' Text
+'.' Text
+' ' Text
+'-path' Text
+' ' Text
+'"./dist"' Literal.String.Double
+' ' Text
+'-prune' Text
+' ' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+'"*.exe"' Literal.String.Double
+' ' Text
+'|' Punctuation
+' ' Text
+'sed' Text
+' ' Text
+'"' Literal.String.Double
+'s/\\.exe' Literal.String.Double
+'$$' Name.Variable
+'/\\.pdb/' Literal.String.Double
+'"' Literal.String.Double
+' ' Text
+'|' Punctuation
+' ' Text
+'xargs' Text
+'`' Literal.String.Backtick
+' ' Text
+'$(' Keyword
+'DIST' Text
+')' Keyword
+'/' Text
+'$(' Keyword
+'BUILDID' Text
+')' Keyword
+'\n\t' Text
+'-cp' Text
+' ' Text
+'`' Literal.String.Backtick
+'/bin/find' Text
+' ' Text
+'.' Text
+' ' Text
+'-path' Text
+' ' Text
+'"./dist"' Literal.String.Double
+' ' Text
+'-prune' Text
+' ' Text
+'-o' Text
+' ' Text
+'-name' Text
+' ' Text
+'"*.EXE"' Literal.String.Double
+' ' Text
+'|' Punctuation
+' ' Text
+'sed' Text
+' ' Text
+'"' Literal.String.Double
+'s/\\.EXE' Literal.String.Double
+'$$' Name.Variable
+'/\\.pdb/' Literal.String.Double
+'"' Literal.String.Double
+' ' Text
+'|' Punctuation
+' ' Text
+'xargs' Text
+'`' Literal.String.Backtick
+' ' Text
+'$(' Keyword
+'DIST' Text
+')' Keyword
+'/' Text
+'$(' Keyword
+'BUILDID' Text
+')' Keyword
+'\n' Text
+
+'endif # MOZ_DEBUG_SYMBOLS\n' Comment.Preproc
+
+'ifdef MOZ_PROFILE\n' Comment.Preproc
+
+'\t' Text
+'echo' Name.Builtin
+' ' Text
+'splitting' Text
+' ' Text
+'symbols' Text
+' ' Text
+'out' Text
+' ' Text
+'of' Text
+' ' Text
+'binaries' Text
+'\n\t' Text
+'/bin/find' Text
+' ' Text
+'$(' Keyword
+'DIST' Text
+')' Keyword
+' ' Text
+'-name' Text
+' ' Text
+'"*.dll"' Literal.String.Double
+' ' Text
+'-exec' Text
+' ' Text
+'splitsym' Text
+' ' Text
+'{' Operator
+'}' Operator
+' ' Text
+'\\;' Literal.String.Escape
+'\n\t' Text
+'/bin/find' Text
+' ' Text
+'$(' Keyword
+'DIST' Text
+')' Keyword
+' ' Text
+'-name' Text
+' ' Text
+'"*.exe"' Literal.String.Double
+' ' Text
+'-exec' Text
+' ' Text
+'splitsym' Text
+' ' Text
+'{' Operator
+'}' Operator
+' ' Text
+'\\;' Literal.String.Escape
+'\n\t' Text
+'/bin/find' Text
+' ' Text
+'$(' Keyword
+'DIST' Text
+')' Keyword
+' ' Text
+'-name' Text
+' ' Text
+'"*.EXE"' Literal.String.Double
+' ' Text
+'-exec' Text
+' ' Text
+'splitsym' Text
+' ' Text
+'{' Operator
+'}' Operator
+' ' Text
+'\\;' Literal.String.Escape
+'\n\t' Text
+'mkdir' Text
+' ' Text
+'-p' Text
+' ' Text
+'$(' Keyword
+'DIST' Text
+')' Keyword
+'/' Text
+'$(' Keyword
+'BUILDID' Text
+')' Keyword
+'\n\t' Text
+'/bin/find' Text
+' ' Text
+'$(' Keyword
+'DIST' Text
+')' Keyword
+' ' Text
+'-name' Text
+' ' Text
+'"*.dbg"' Literal.String.Double
+' ' Text
+'-exec' Text
+' ' Text
+'mv' Text
+' ' Text
+'{' Operator
+'}' Operator
+' ' Text
+'$(' Keyword
+'DIST' Text
+')' Keyword
+'/' Text
+'$(' Keyword
+'BUILDID' Text
+')' Keyword
+' ' Text
+'\\;' Literal.String.Escape
+'\n' Text
+
+'endif # MOZ_PROFILE\n' Comment.Preproc
+
+'endif # MOZILLA_OFFICIAL\n' Comment.Preproc
+
+'\n' Text
+
+'signnss' Name.Function
+':' Operator
+'\n' Text
+
+'ifdef MOZILLA_OFFICIAL\n' Comment.Preproc
+
+'\t' Text
+'echo' Name.Builtin
+' ' Text
+'signing' Text
+' ' Text
+'NSS' Text
+' ' Text
+'libs' Text
+'\n\t' Text
+'cd' Name.Builtin
+' ' Text
+'$(' Keyword
+'DIST' Text
+')' Keyword
+'/bin' Text
+';' Punctuation
+' ' Text
+'./shlibsign.exe' Text
+' ' Text
+'-v' Text
+' ' Text
+'-i' Text
+' ' Text
+'softokn3.dll' Text
+'\n\t' Text
+'cd' Name.Builtin
+' ' Text
+'$(' Keyword
+'DIST' Text
+')' Keyword
+'/bin' Text
+';' Punctuation
+' ' Text
+'./shlibsign.exe' Text
+' ' Text
+'-v' Text
+' ' Text
+'-i' Text
+' ' Text
+'freebl3.dll' Text
+'\n' Text
+
+'endif # MOZILLA_OFFICIAL\n' Comment.Preproc
+
+'\n' Text
+
+'BUILDID' Name.Variable
+' ' Text
+'=' Operator
+' ' Text
+'$(' Keyword
+'shell' Text
+' ' Text
+'cat' Text
+' ' Text
+'$(' Keyword
+'DEPTH' Text
+')' Keyword
+'/config/build_number' Text
+')' Keyword
+'\n' Text
+
+'deliver' Name.Function
+':' Operator
+' ' Text
+'splitsymbols' Name
+' ' Text
+'rebase' Name
+' ' Text
+'signnss' Name
+'\n' Text
+
+'\n' Text
+
+'endif # WINNT\n' Comment.Preproc