From f623e255ebeed07b2907e1b6866b342d6f0f57b0 Mon Sep 17 00:00:00 2001 From: midipix Date: Sun, 23 Dec 2018 19:53:06 -0500 Subject: project: added initial support of the 3.7.1 variant. --- project/config/cfgdefs.sh | 11 + project/extras.mk | 1 + project/pycompile.mk | 1 + project/tree.mk | 1 + project/variants/3.7.1/common.mk | 175 +++ project/variants/3.7.1/headers.mk | 103 ++ project/variants/3.7.1/linkage/inittab.h | 172 +++ project/variants/3.7.1/linkage/pycompile.h | 24 + project/variants/3.7.1/linkage/static.h | 75 + project/variants/3.7.1/pydist.mk | 1925 ++++++++++++++++++++++++++ project/variants/3.7.1/pyexts.h | 203 +++ project/variants/3.7.1/pyexts.mk | 2039 ++++++++++++++++++++++++++++ project/variants/3.7.1/subsets.mk | 155 +++ 13 files changed, 4885 insertions(+) create mode 100644 project/variants/3.7.1/common.mk create mode 100644 project/variants/3.7.1/headers.mk create mode 100644 project/variants/3.7.1/linkage/inittab.h create mode 100644 project/variants/3.7.1/linkage/pycompile.h create mode 100644 project/variants/3.7.1/linkage/static.h create mode 100644 project/variants/3.7.1/pydist.mk create mode 100644 project/variants/3.7.1/pyexts.h create mode 100644 project/variants/3.7.1/pyexts.mk create mode 100644 project/variants/3.7.1/subsets.mk diff --git a/project/config/cfgdefs.sh b/project/config/cfgdefs.sh index 74dcee1..e976ee6 100644 --- a/project/config/cfgdefs.sh +++ b/project/config/cfgdefs.sh @@ -90,6 +90,8 @@ cfgdefs_perform_common_tests() cfgtest_header_presence 'sys/sysmacros.h' cfgtest_header_presence 'sys/uio.h' cfgtest_header_presence 'sys/xattr.h' + cfgtest_header_presence 'uuid.h' + cfgtest_header_presence 'uuid/uuid.h' # interfaces mb_cfgtest_headers='sys/epoll.h' @@ -205,6 +207,14 @@ cfgdefs_perform_common_tests() cfgtest_ldflags_append '-Wl,--as-needed -lintl -Wl,--no-as-needed' fi + # libuuid + cfgtest_newline + cfgtest_comment 'libuuid' + + if cfgtest_library_presence -luuid; then + cfgtest_ldflags_append '-Wl,--as-needed -luuid -Wl,--no-as-needed' + fi + # ncurses cfgtest_newline cfgtest_comment 'ncurses/ncursesw' @@ -356,6 +366,7 @@ cfgdefs_perform_target_tests() mb_cfgtest_makevar='LDFLAGS_PYEXT_STATIC' cfgtest_makevar_append '-Wl,--as-needed -lssl -lcrypto -Wl,--no-as-needed' + cfgtest_makevar_append '-Wl,--as-needed -luuid -Wl,--no-as-needed' cfgtest_makevar_append '-Wl,--as-needed -lbz2 -Wl,--no-as-needed' cfgtest_makevar_append '-Wl,--as-needed -lffi -Wl,--no-as-needed' cfgtest_makevar_append '-Wl,--as-needed -lgdbm -Wl,--no-as-needed' diff --git a/project/extras.mk b/project/extras.mk index b60bb1b..9c1005e 100644 --- a/project/extras.mk +++ b/project/extras.mk @@ -10,6 +10,7 @@ CFLAGS_CONFIG += -DEXEC_PREFIX=\"$(EXEC_PREFIX)\" CFLAGS_CONFIG += -DVPATH=\"$(SOURCE_DIR)\" CFLAGS_CONFIG += -DPYTHONPATH=\"$(PYTHON_PATH)\" CFLAGS_CONFIG += -DABIFLAGS=\"\" +CFLAGS_CONFIG += -D_PYTHONFRAMEWORK=\"\" # python's front-end utility LDFLAGS_DEPS += -Wl,--as-needed diff --git a/project/pycompile.mk b/project/pycompile.mk index d221d6c..abac1f7 100644 --- a/project/pycompile.mk +++ b/project/pycompile.mk @@ -25,6 +25,7 @@ PYCOMPILE_CFLAGS += -DEXEC_PREFIX=\"$(PYCOMPILE_PREFIX)\" PYCOMPILE_CFLAGS += -DPYTHONPATH=\"$(PYCOMPILE_PATH)\" PYCOMPILE_CFLAGS += -DSOABI=\"$(PYTHON_SOABI)\" PYCOMPILE_CFLAGS += -DABIFLAGS=\"\" +PYCOMPILE_CFLAGS += -D_PYTHONFRAMEWORK=\"\" PYCOMPILE_CFLAGS += $(NATIVE_CC_CFLAGS) PYCOMPILE_LDFLAGS += -lreadline -lm -lutil -lpthread diff --git a/project/tree.mk b/project/tree.mk index 9fecefe..b55b3cb 100644 --- a/project/tree.mk +++ b/project/tree.mk @@ -16,5 +16,6 @@ tree.tag: mkdir -p pyext/obj/_multiprocessing mkdir -p pyext/obj/_sha3 mkdir -p pyext/obj/_sqlite + mkdir -p pyext/obj/_xxtestfuzz mkdir -p tools touch tree.tag diff --git a/project/variants/3.7.1/common.mk b/project/variants/3.7.1/common.mk new file mode 100644 index 0000000..0b79544 --- /dev/null +++ b/project/variants/3.7.1/common.mk @@ -0,0 +1,175 @@ +core/%.lo: CFLAGS_SHARED += -DPy_BUILD_CORE +core/%.o: CFLAGS_STATIC += -DPy_BUILD_CORE +core/%.o: CFLAGS_APP += -DPy_BUILD_CORE + +core/Modules/config.lo: build/config.c $(ALL_HEADERS) host.tag tree.tag config.tag + $(CC) -c -o $@ $< $(CFLAGS_SHARED) + +core/Modules/config.o: build/config.c $(ALL_HEADERS) host.tag tree.tag config.tag + $(CC) -c -o $@ $< $(CFLAGS_STATIC) + +core/%.lo: $(SOURCE_DIR)/%.c $(ALL_HEADERS) host.tag tree.tag config.tag + $(CC) -c -o $@ $< $(CFLAGS_SHARED) + +core/%.o: $(SOURCE_DIR)/%.c $(ALL_HEADERS) host.tag tree.tag config.tag + $(CC) -c -o $@ $< $(CFLAGS_STATIC) + + +MODULE_SRCS = \ + core/Modules/_abc.c \ + core/Modules/_codecsmodule.c \ + core/Modules/_collectionsmodule.c \ + core/Modules/_functoolsmodule.c \ + core/Modules/_localemodule.c \ + core/Modules/_operator.c \ + core/Modules/_sre.c \ + core/Modules/_stat.c \ + core/Modules/_threadmodule.c \ + core/Modules/_tracemalloc.c \ + core/Modules/_weakref.c \ + core/Modules/atexitmodule.c \ + core/Modules/config.c \ + core/Modules/errnomodule.c \ + core/Modules/faulthandler.c \ + core/Modules/gcmodule.c \ + core/Modules/getbuildinfo.c \ + core/Modules/getpath.c \ + core/Modules/hashtable.c \ + core/Modules/itertoolsmodule.c \ + core/Modules/main.c \ + core/Modules/posixmodule.c \ + core/Modules/pwdmodule.c \ + core/Modules/signalmodule.c \ + core/Modules/symtablemodule.c \ + core/Modules/timemodule.c \ + core/Modules/xxsubtype.c \ + core/Modules/zipimport.c \ + core/Modules/_io/_iomodule.c \ + core/Modules/_io/bufferedio.c \ + core/Modules/_io/bytesio.c \ + core/Modules/_io/fileio.c \ + core/Modules/_io/iobase.c \ + core/Modules/_io/stringio.c \ + core/Modules/_io/textio.c \ + +OBJECT_SRCS = \ + core/Objects/abstract.c \ + core/Objects/accu.c \ + core/Objects/boolobject.c \ + core/Objects/bytearrayobject.c \ + core/Objects/bytes_methods.c \ + core/Objects/bytesobject.c \ + core/Objects/call.c \ + core/Objects/capsule.c \ + core/Objects/cellobject.c \ + core/Objects/classobject.c \ + core/Objects/codeobject.c \ + core/Objects/complexobject.c \ + core/Objects/descrobject.c \ + core/Objects/dictobject.c \ + core/Objects/enumobject.c \ + core/Objects/exceptions.c \ + core/Objects/fileobject.c \ + core/Objects/floatobject.c \ + core/Objects/frameobject.c \ + core/Objects/funcobject.c \ + core/Objects/genobject.c \ + core/Objects/iterobject.c \ + core/Objects/listobject.c \ + core/Objects/longobject.c \ + core/Objects/memoryobject.c \ + core/Objects/methodobject.c \ + core/Objects/moduleobject.c \ + core/Objects/namespaceobject.c \ + core/Objects/object.c \ + core/Objects/obmalloc.c \ + core/Objects/odictobject.c \ + core/Objects/rangeobject.c \ + core/Objects/setobject.c \ + core/Objects/sliceobject.c \ + core/Objects/structseq.c \ + core/Objects/tupleobject.c \ + core/Objects/typeobject.c \ + core/Objects/unicodectype.c \ + core/Objects/unicodeobject.c \ + core/Objects/weakrefobject.c \ + +PARSER_SRCS = \ + core/Parser/acceler.c \ + core/Parser/bitset.c \ + core/Parser/firstsets.c \ + core/Parser/grammar.c \ + core/Parser/grammar1.c \ + core/Parser/listnode.c \ + core/Parser/metagrammar.c \ + core/Parser/myreadline.c \ + core/Parser/node.c \ + core/Parser/parser.c \ + core/Parser/parsetok.c \ + core/Parser/pgen.c \ + core/Parser/tokenizer.c \ + +PYTHON_SRCS = \ + core/Python/Python-ast.c \ + core/Python/_warnings.c \ + core/Python/asdl.c \ + core/Python/ast.c \ + core/Python/ast_opt.c \ + core/Python/ast_unparse.c \ + core/Python/bltinmodule.c \ + core/Python/bootstrap_hash.c \ + core/Python/ceval.c \ + core/Python/codecs.c \ + core/Python/compile.c \ + core/Python/context.c \ + core/Python/dtoa.c \ + core/Python/dynamic_annotations.c \ + core/Python/errors.c \ + core/Python/fileutils.c \ + core/Python/formatter_unicode.c \ + core/Python/frozen.c \ + core/Python/frozenmain.c \ + core/Python/future.c \ + core/Python/getargs.c \ + core/Python/getcompiler.c \ + core/Python/getcopyright.c \ + core/Python/getopt.c \ + core/Python/getplatform.c \ + core/Python/getversion.c \ + core/Python/graminit.c \ + core/Python/hamt.c \ + core/Python/import.c \ + core/Python/importdl.c \ + core/Python/marshal.c \ + core/Python/modsupport.c \ + core/Python/mysnprintf.c \ + core/Python/mystrtoul.c \ + core/Python/pathconfig.c \ + core/Python/peephole.c \ + core/Python/pyarena.c \ + core/Python/pyctype.c \ + core/Python/pyfpe.c \ + core/Python/pyhash.c \ + core/Python/pylifecycle.c \ + core/Python/pymath.c \ + core/Python/pystate.c \ + core/Python/pystrcmp.c \ + core/Python/pystrhex.c \ + core/Python/pystrtod.c \ + core/Python/pythonrun.c \ + core/Python/pytime.c \ + core/Python/structmember.c \ + core/Python/symtable.c \ + core/Python/sysmodule.c \ + core/Python/thread.c \ + core/Python/traceback.c \ + +APP_SRCS = \ + core/Programs/python.c \ + +COMMON_SRCS = \ + $(CONFIG_SRCS) \ + $(MODULE_SRCS) \ + $(OBJECT_SRCS) \ + $(PARSER_SRCS) \ + $(PYTHON_SRCS) \ diff --git a/project/variants/3.7.1/headers.mk b/project/variants/3.7.1/headers.mk new file mode 100644 index 0000000..61f8004 --- /dev/null +++ b/project/variants/3.7.1/headers.mk @@ -0,0 +1,103 @@ +API_HEADERS = \ + build/pyconfig.h \ + $(SOURCE_DIR)/Include/Python-ast.h \ + $(SOURCE_DIR)/Include/Python.h \ + $(SOURCE_DIR)/Include/abstract.h \ + $(SOURCE_DIR)/Include/accu.h \ + $(SOURCE_DIR)/Include/asdl.h \ + $(SOURCE_DIR)/Include/ast.h \ + $(SOURCE_DIR)/Include/bitset.h \ + $(SOURCE_DIR)/Include/bltinmodule.h \ + $(SOURCE_DIR)/Include/boolobject.h \ + $(SOURCE_DIR)/Include/bytearrayobject.h \ + $(SOURCE_DIR)/Include/bytes_methods.h \ + $(SOURCE_DIR)/Include/bytesobject.h \ + $(SOURCE_DIR)/Include/cellobject.h \ + $(SOURCE_DIR)/Include/ceval.h \ + $(SOURCE_DIR)/Include/classobject.h \ + $(SOURCE_DIR)/Include/code.h \ + $(SOURCE_DIR)/Include/codecs.h \ + $(SOURCE_DIR)/Include/compile.h \ + $(SOURCE_DIR)/Include/complexobject.h \ + $(SOURCE_DIR)/Include/context.h \ + $(SOURCE_DIR)/Include/datetime.h \ + $(SOURCE_DIR)/Include/descrobject.h \ + $(SOURCE_DIR)/Include/dictobject.h \ + $(SOURCE_DIR)/Include/dtoa.h \ + $(SOURCE_DIR)/Include/dynamic_annotations.h \ + $(SOURCE_DIR)/Include/enumobject.h \ + $(SOURCE_DIR)/Include/errcode.h \ + $(SOURCE_DIR)/Include/eval.h \ + $(SOURCE_DIR)/Include/fileobject.h \ + $(SOURCE_DIR)/Include/fileutils.h \ + $(SOURCE_DIR)/Include/floatobject.h \ + $(SOURCE_DIR)/Include/frameobject.h \ + $(SOURCE_DIR)/Include/funcobject.h \ + $(SOURCE_DIR)/Include/genobject.h \ + $(SOURCE_DIR)/Include/graminit.h \ + $(SOURCE_DIR)/Include/grammar.h \ + $(SOURCE_DIR)/Include/import.h \ + $(SOURCE_DIR)/Include/intrcheck.h \ + $(SOURCE_DIR)/Include/iterobject.h \ + $(SOURCE_DIR)/Include/listobject.h \ + $(SOURCE_DIR)/Include/longintrepr.h \ + $(SOURCE_DIR)/Include/longobject.h \ + $(SOURCE_DIR)/Include/marshal.h \ + $(SOURCE_DIR)/Include/memoryobject.h \ + $(SOURCE_DIR)/Include/metagrammar.h \ + $(SOURCE_DIR)/Include/methodobject.h \ + $(SOURCE_DIR)/Include/modsupport.h \ + $(SOURCE_DIR)/Include/moduleobject.h \ + $(SOURCE_DIR)/Include/namespaceobject.h \ + $(SOURCE_DIR)/Include/node.h \ + $(SOURCE_DIR)/Include/object.h \ + $(SOURCE_DIR)/Include/objimpl.h \ + $(SOURCE_DIR)/Include/odictobject.h \ + $(SOURCE_DIR)/Include/opcode.h \ + $(SOURCE_DIR)/Include/osdefs.h \ + $(SOURCE_DIR)/Include/osmodule.h \ + $(SOURCE_DIR)/Include/parsetok.h \ + $(SOURCE_DIR)/Include/patchlevel.h \ + $(SOURCE_DIR)/Include/pgen.h \ + $(SOURCE_DIR)/Include/pgenheaders.h \ + $(SOURCE_DIR)/Include/py_curses.h \ + $(SOURCE_DIR)/Include/pyarena.h \ + $(SOURCE_DIR)/Include/pyatomic.h \ + $(SOURCE_DIR)/Include/pycapsule.h \ + $(SOURCE_DIR)/Include/pyctype.h \ + $(SOURCE_DIR)/Include/pydebug.h \ + $(SOURCE_DIR)/Include/pydtrace.h \ + $(SOURCE_DIR)/Include/pyerrors.h \ + $(SOURCE_DIR)/Include/pyexpat.h \ + $(SOURCE_DIR)/Include/pyfpe.h \ + $(SOURCE_DIR)/Include/pyhash.h \ + $(SOURCE_DIR)/Include/pylifecycle.h \ + $(SOURCE_DIR)/Include/pymacconfig.h \ + $(SOURCE_DIR)/Include/pymacro.h \ + $(SOURCE_DIR)/Include/pymath.h \ + $(SOURCE_DIR)/Include/pymem.h \ + $(SOURCE_DIR)/Include/pyport.h \ + $(SOURCE_DIR)/Include/pystate.h \ + $(SOURCE_DIR)/Include/pystrcmp.h \ + $(SOURCE_DIR)/Include/pystrhex.h \ + $(SOURCE_DIR)/Include/pystrtod.h \ + $(SOURCE_DIR)/Include/pythonrun.h \ + $(SOURCE_DIR)/Include/pythread.h \ + $(SOURCE_DIR)/Include/pytime.h \ + $(SOURCE_DIR)/Include/rangeobject.h \ + $(SOURCE_DIR)/Include/setobject.h \ + $(SOURCE_DIR)/Include/sliceobject.h \ + $(SOURCE_DIR)/Include/structmember.h \ + $(SOURCE_DIR)/Include/structseq.h \ + $(SOURCE_DIR)/Include/symtable.h \ + $(SOURCE_DIR)/Include/sysmodule.h \ + $(SOURCE_DIR)/Include/token.h \ + $(SOURCE_DIR)/Include/traceback.h \ + $(SOURCE_DIR)/Include/tupleobject.h \ + $(SOURCE_DIR)/Include/typeslots.h \ + $(SOURCE_DIR)/Include/ucnhash.h \ + $(SOURCE_DIR)/Include/unicodeobject.h \ + $(SOURCE_DIR)/Include/warnings.h \ + $(SOURCE_DIR)/Include/weakrefobject.h \ + +ALL_HEADERS = $(API_HEADERS) $(INTERNAL_HEADERS) diff --git a/project/variants/3.7.1/linkage/inittab.h b/project/variants/3.7.1/linkage/inittab.h new file mode 100644 index 0000000..00bdb28 --- /dev/null +++ b/project/variants/3.7.1/linkage/inittab.h @@ -0,0 +1,172 @@ +#ifndef PY_LINKAGE_INITTAB_H +#define PY_LINKAGE_INITTAB_H + +#define PY_CORE_INIT(x) extern void x##_Init(void) +#define PY_INIT_FUNC(x) extern void PyInit_##x(void) +#define PY_INIT_PTR(x) void (*x)(void) + +#ifdef PY_ALL_STATIC +#include "static.h" +#endif + +#ifdef PY_FOR_PYCOMPILE +#include "pycompile.h" +#endif + +struct _inittab { + char * name; + PY_INIT_PTR(initfunc); +}; + +PY_CORE_INIT(_PyWarnings); +PY_CORE_INIT(PyMarshal); + +PY_INIT_FUNC(_ast); +PY_INIT_FUNC(_string); +PY_INIT_FUNC(_imp); +PY_INIT_FUNC(gc); + +PY_INIT_FUNC(_abc); +PY_INIT_FUNC(_codecs); +PY_INIT_FUNC(_collections); +PY_INIT_FUNC(_functools); +PY_INIT_FUNC(_io); +PY_INIT_FUNC(_locale); +PY_INIT_FUNC(_operator); +PY_INIT_FUNC(_signal); +PY_INIT_FUNC(_sre); +PY_INIT_FUNC(_stat); +PY_INIT_FUNC(_symtable); +PY_INIT_FUNC(_thread); +PY_INIT_FUNC(_tracemalloc); +PY_INIT_FUNC(_weakref); + +PY_INIT_FUNC(atexit); +PY_INIT_FUNC(errno); +PY_INIT_FUNC(faulthandler); +PY_INIT_FUNC(itertools); +PY_INIT_FUNC(posix); +PY_INIT_FUNC(pwd); +PY_INIT_FUNC(time); +PY_INIT_FUNC(xxsubtype); +PY_INIT_FUNC(zipimport); + +#define PY_IMPORT_INITTAB_BASE \ + {"builtins", 0}, \ + {"sys", 0}, \ + {"_ast", PyInit__ast}, \ + {"_imp", PyInit__imp}, \ + {"_string", PyInit__string}, \ + {"gc", PyInit_gc}, \ + {"marshal", PyMarshal_Init}, \ + {"_warnings", _PyWarnings_Init} + + +#define PY_IMPORT_INITTAB_COMMON \ + {"_abc", PyInit__abc}, \ + {"_codecs", PyInit__codecs}, \ + {"_collections", PyInit__collections}, \ + {"_functools", PyInit__functools}, \ + {"_io", PyInit__io}, \ + {"_locale", PyInit__locale}, \ + {"_operator", PyInit__operator}, \ + {"_signal", PyInit__signal}, \ + {"_sre", PyInit__sre}, \ + {"_stat", PyInit__stat}, \ + {"_symtable", PyInit__symtable}, \ + {"_thread", PyInit__thread}, \ + {"_tracemalloc", PyInit__tracemalloc}, \ + {"_weakref", PyInit__weakref}, \ + {"atexit", PyInit_atexit}, \ + {"errno", PyInit_errno}, \ + {"faulthandler", PyInit_faulthandler}, \ + {"itertools", PyInit_itertools}, \ + {"posix", PyInit_posix}, \ + {"pwd", PyInit_pwd}, \ + {"time", PyInit_time}, \ + {"xxsubtype", PyInit_xxsubtype}, \ + {"zipimport", PyInit_zipimport} + + +#define PY_IMPORT_INITTAB_ANYOS_CORE \ + {"_asyncio", PyInit__asyncio}, \ + {"_bisect", PyInit__bisect}, \ + {"_blake2", PyInit__blake2}, \ + {"_bz2", PyInit__bz2}, \ + {"_codecs_cn", PyInit__codecs_cn}, \ + {"_codecs_hk", PyInit__codecs_hk}, \ + {"_codecs_iso2022", PyInit__codecs_iso2022}, \ + {"_codecs_jp", PyInit__codecs_jp}, \ + {"_codecs_kr", PyInit__codecs_kr}, \ + {"_codecs_tw", PyInit__codecs_tw}, \ + {"_contextvars", PyInit__contextvars}, \ + {"_crypt", PyInit__crypt}, \ + {"_csv", PyInit__csv}, \ + {"_ctypes", PyInit__ctypes}, \ + {"_ctypes_test", PyInit__ctypes_test}, \ + {"_curses", PyInit__curses}, \ + {"_curses_panel", PyInit__curses_panel}, \ + {"_datetime", PyInit__datetime}, \ + {"_dbm", PyInit__dbm}, \ + {"_decimal", PyInit__decimal}, \ + {"_elementtree", PyInit__elementtree}, \ + {"_gdbm", PyInit__gdbm}, \ + {"_hashlib", PyInit__hashlib}, \ + {"_heapq", PyInit__heapq}, \ + {"_json", PyInit__json}, \ + {"_lsprof", PyInit__lsprof}, \ + {"_lzma", PyInit__lzma}, \ + {"_md5", PyInit__md5}, \ + {"_multibytecodec", PyInit__multibytecodec}, \ + {"_multiprocessing", PyInit__multiprocessing}, \ + {"_opcode", PyInit__opcode}, \ + {"_pickle", PyInit__pickle}, \ + {"_posixsubprocess", PyInit__posixsubprocess}, \ + {"_queue", PyInit__queue}, \ + {"_random", PyInit__random}, \ + {"_sha1", PyInit__sha1}, \ + {"_sha256", PyInit__sha256}, \ + {"_sha3", PyInit__sha3}, \ + {"_sha512", PyInit__sha512}, \ + {"_socket", PyInit__socket}, \ + {"_sqlite3", PyInit__sqlite3}, \ + {"_struct", PyInit__struct}, \ + {"_testbuffer", PyInit__testbuffer}, \ + {"_testcapi", PyInit__testcapi}, \ + {"_testimportmultiple", PyInit__testimportmultiple}, \ + {"_testmultiphase", PyInit__testmultiphase}, \ + {"_uuid", PyInit__uuid}, \ + {"_xxtestfuzz", PyInit__xxtestfuzz}, \ + {"array", PyInit_array}, \ + {"binascii", PyInit_binascii}, \ + {"cmath", PyInit_cmath}, \ + {"fcntl", PyInit_fcntl}, \ + {"grp", PyInit_grp}, \ + {"math", PyInit_math}, \ + {"mmap", PyInit_mmap}, \ + {"parser", PyInit_parser}, \ + {"pyexpat", PyInit_pyexpat}, \ + {"readline", PyInit_readline}, \ + {"resource", PyInit_resource}, \ + {"select", PyInit_select}, \ + {"spwd", PyInit_spwd}, \ + {"syslog", PyInit_syslog}, \ + {"termios", PyInit_termios}, \ + {"unicodedata", PyInit_unicodedata}, \ + {"xxlimited", PyInit_xxlimited}, \ + {"zlib", PyInit_zlib} + + +#define PY_IMPORT_INITTAB_ANYOS_AUDIO \ + {"audioop", PyInit_audioop}, \ + {"ossaudiodev", PyInit_ossaudiodev} + + +#define PY_IMPORT_INITTAB_ANYOS_SSL \ + {"_ssl", PyInit__ssl} + + +#define PY_IMPORT_INITTAB_ANYOS_TCLTK \ + {"_tkinter", PyInit__tkinter} + +#endif diff --git a/project/variants/3.7.1/linkage/pycompile.h b/project/variants/3.7.1/linkage/pycompile.h new file mode 100644 index 0000000..ad74185 --- /dev/null +++ b/project/variants/3.7.1/linkage/pycompile.h @@ -0,0 +1,24 @@ +#ifndef PY_LINKAGE_PYCOMPILE_H +#define PY_LINKAGE_PYCOMPILE_H + +PY_INIT_FUNC(_decimal); +PY_INIT_FUNC(_elementtree); +PY_INIT_FUNC(_heapq); +PY_INIT_FUNC(_posixsubprocess); + +PY_INIT_FUNC(math); +PY_INIT_FUNC(readline); +PY_INIT_FUNC(select); +PY_INIT_FUNC(termios); + +#define PY_IMPORT_INITTAB_PYCOMPILE_CORE \ + {"_decimal", PyInit__decimal}, \ + {"_elementtree", PyInit__elementtree}, \ + {"_heapq", PyInit__heapq}, \ + {"_posixsubprocess", PyInit__posixsubprocess}, \ + {"math", PyInit_math}, \ + {"readline", PyInit_readline}, \ + {"select", PyInit_select}, \ + {"termios", PyInit_termios} + +#endif diff --git a/project/variants/3.7.1/linkage/static.h b/project/variants/3.7.1/linkage/static.h new file mode 100644 index 0000000..d817b5c --- /dev/null +++ b/project/variants/3.7.1/linkage/static.h @@ -0,0 +1,75 @@ +#ifndef PY_LINKAGE_STATIC_H +#define PY_LINKAGE_STATIC_H + +PY_INIT_FUNC(_asyncio); +PY_INIT_FUNC(_bisect); +PY_INIT_FUNC(_blake2); +PY_INIT_FUNC(_bz2); +PY_INIT_FUNC(_codecs_cn); +PY_INIT_FUNC(_codecs_hk); +PY_INIT_FUNC(_codecs_iso2022); +PY_INIT_FUNC(_codecs_jp); +PY_INIT_FUNC(_codecs_kr); +PY_INIT_FUNC(_codecs_tw); +PY_INIT_FUNC(_contextvars); +PY_INIT_FUNC(_crypt); +PY_INIT_FUNC(_csv); +PY_INIT_FUNC(_ctypes); +PY_INIT_FUNC(_ctypes_test); +PY_INIT_FUNC(_curses); +PY_INIT_FUNC(_curses_panel); +PY_INIT_FUNC(_datetime); +PY_INIT_FUNC(_dbm); +PY_INIT_FUNC(_decimal); +PY_INIT_FUNC(_elementtree); +PY_INIT_FUNC(_gdbm); +PY_INIT_FUNC(_hashlib); +PY_INIT_FUNC(_heapq); +PY_INIT_FUNC(_json); +PY_INIT_FUNC(_lsprof); +PY_INIT_FUNC(_lzma); +PY_INIT_FUNC(_md5); +PY_INIT_FUNC(_multibytecodec); +PY_INIT_FUNC(_multiprocessing); +PY_INIT_FUNC(_opcode); +PY_INIT_FUNC(_pickle); +PY_INIT_FUNC(_posixsubprocess); +PY_INIT_FUNC(_queue); +PY_INIT_FUNC(_random); +PY_INIT_FUNC(_sha1); +PY_INIT_FUNC(_sha256); +PY_INIT_FUNC(_sha3); +PY_INIT_FUNC(_sha512); +PY_INIT_FUNC(_socket); +PY_INIT_FUNC(_sqlite3); +PY_INIT_FUNC(_ssl); +PY_INIT_FUNC(_struct); +PY_INIT_FUNC(_testbuffer); +PY_INIT_FUNC(_testcapi); +PY_INIT_FUNC(_testimportmultiple); +PY_INIT_FUNC(_testmultiphase); +PY_INIT_FUNC(_tkinter); +PY_INIT_FUNC(_uuid); +PY_INIT_FUNC(_xxtestfuzz); +PY_INIT_FUNC(array); +PY_INIT_FUNC(audioop); +PY_INIT_FUNC(binascii); +PY_INIT_FUNC(cmath); +PY_INIT_FUNC(fcntl); +PY_INIT_FUNC(grp); +PY_INIT_FUNC(math); +PY_INIT_FUNC(mmap); +PY_INIT_FUNC(ossaudiodev); +PY_INIT_FUNC(parser); +PY_INIT_FUNC(pyexpat); +PY_INIT_FUNC(readline); +PY_INIT_FUNC(resource); +PY_INIT_FUNC(select); +PY_INIT_FUNC(spwd); +PY_INIT_FUNC(syslog); +PY_INIT_FUNC(termios); +PY_INIT_FUNC(unicodedata); +PY_INIT_FUNC(xxlimited); +PY_INIT_FUNC(zlib); + +#endif diff --git a/project/variants/3.7.1/pydist.mk b/project/variants/3.7.1/pydist.mk new file mode 100644 index 0000000..40f02b0 --- /dev/null +++ b/project/variants/3.7.1/pydist.mk @@ -0,0 +1,1925 @@ +PYCOPY = $(PROJECT_DIR)/project/pycopy.sh +PYCABI = cpython-$(PYTHON_MAJOR)$(PYTHON_MINOR) +PYCOPY_PYTHON = $(NICKNAME) +PYCOPY_PREFIX = $(PREFIX) + +PYDIST_LIBDIR = lib +PYDIST_PYCDIR = lib/$(NICKNAME) + + +PYDIST_SYSCFG_SRCS = \ + $(PYDIST_PYCDIR)/./_sysconfigdata__$(PYTHON_PLATFORM)_.py + +PYDIST_SRCS = \ + $(PYDIST_PYCDIR)/./__future__.py \ + $(PYDIST_PYCDIR)/./__phello__.foo.py \ + $(PYDIST_PYCDIR)/./_bootlocale.py \ + $(PYDIST_PYCDIR)/./_collections_abc.py \ + $(PYDIST_PYCDIR)/./_compat_pickle.py \ + $(PYDIST_PYCDIR)/./_compression.py \ + $(PYDIST_PYCDIR)/./_dummy_thread.py \ + $(PYDIST_PYCDIR)/./_markupbase.py \ + $(PYDIST_PYCDIR)/./_osx_support.py \ + $(PYDIST_PYCDIR)/./_py_abc.py \ + $(PYDIST_PYCDIR)/./_pydecimal.py \ + $(PYDIST_PYCDIR)/./_pyio.py \ + $(PYDIST_PYCDIR)/./_sitebuiltins.py \ + $(PYDIST_PYCDIR)/./_strptime.py \ + $(PYDIST_PYCDIR)/./_threading_local.py \ + $(PYDIST_PYCDIR)/./_weakrefset.py \ + $(PYDIST_PYCDIR)/./abc.py \ + $(PYDIST_PYCDIR)/./aifc.py \ + $(PYDIST_PYCDIR)/./antigravity.py \ + $(PYDIST_PYCDIR)/./argparse.py \ + $(PYDIST_PYCDIR)/./ast.py \ + $(PYDIST_PYCDIR)/./asynchat.py \ + $(PYDIST_PYCDIR)/./asyncore.py \ + $(PYDIST_PYCDIR)/./base64.py \ + $(PYDIST_PYCDIR)/./bdb.py \ + $(PYDIST_PYCDIR)/./binhex.py \ + $(PYDIST_PYCDIR)/./bisect.py \ + $(PYDIST_PYCDIR)/./bz2.py \ + $(PYDIST_PYCDIR)/./cProfile.py \ + $(PYDIST_PYCDIR)/./calendar.py \ + $(PYDIST_PYCDIR)/./cgi.py \ + $(PYDIST_PYCDIR)/./cgitb.py \ + $(PYDIST_PYCDIR)/./chunk.py \ + $(PYDIST_PYCDIR)/./cmd.py \ + $(PYDIST_PYCDIR)/./code.py \ + $(PYDIST_PYCDIR)/./codecs.py \ + $(PYDIST_PYCDIR)/./codeop.py \ + $(PYDIST_PYCDIR)/./colorsys.py \ + $(PYDIST_PYCDIR)/./compileall.py \ + $(PYDIST_PYCDIR)/./configparser.py \ + $(PYDIST_PYCDIR)/./contextlib.py \ + $(PYDIST_PYCDIR)/./contextvars.py \ + $(PYDIST_PYCDIR)/./copy.py \ + $(PYDIST_PYCDIR)/./copyreg.py \ + $(PYDIST_PYCDIR)/./crypt.py \ + $(PYDIST_PYCDIR)/./csv.py \ + $(PYDIST_PYCDIR)/./dataclasses.py \ + $(PYDIST_PYCDIR)/./datetime.py \ + $(PYDIST_PYCDIR)/./decimal.py \ + $(PYDIST_PYCDIR)/./difflib.py \ + $(PYDIST_PYCDIR)/./dis.py \ + $(PYDIST_PYCDIR)/./doctest.py \ + $(PYDIST_PYCDIR)/./dummy_threading.py \ + $(PYDIST_PYCDIR)/./enum.py \ + $(PYDIST_PYCDIR)/./filecmp.py \ + $(PYDIST_PYCDIR)/./fileinput.py \ + $(PYDIST_PYCDIR)/./fnmatch.py \ + $(PYDIST_PYCDIR)/./formatter.py \ + $(PYDIST_PYCDIR)/./fractions.py \ + $(PYDIST_PYCDIR)/./ftplib.py \ + $(PYDIST_PYCDIR)/./functools.py \ + $(PYDIST_PYCDIR)/./genericpath.py \ + $(PYDIST_PYCDIR)/./getopt.py \ + $(PYDIST_PYCDIR)/./getpass.py \ + $(PYDIST_PYCDIR)/./gettext.py \ + $(PYDIST_PYCDIR)/./glob.py \ + $(PYDIST_PYCDIR)/./gzip.py \ + $(PYDIST_PYCDIR)/./hashlib.py \ + $(PYDIST_PYCDIR)/./heapq.py \ + $(PYDIST_PYCDIR)/./hmac.py \ + $(PYDIST_PYCDIR)/./imaplib.py \ + $(PYDIST_PYCDIR)/./imghdr.py \ + $(PYDIST_PYCDIR)/./imp.py \ + $(PYDIST_PYCDIR)/./inspect.py \ + $(PYDIST_PYCDIR)/./io.py \ + $(PYDIST_PYCDIR)/./ipaddress.py \ + $(PYDIST_PYCDIR)/./keyword.py \ + $(PYDIST_PYCDIR)/./linecache.py \ + $(PYDIST_PYCDIR)/./locale.py \ + $(PYDIST_PYCDIR)/./lzma.py \ + $(PYDIST_PYCDIR)/./macpath.py \ + $(PYDIST_PYCDIR)/./mailbox.py \ + $(PYDIST_PYCDIR)/./mailcap.py \ + $(PYDIST_PYCDIR)/./mimetypes.py \ + $(PYDIST_PYCDIR)/./modulefinder.py \ + $(PYDIST_PYCDIR)/./netrc.py \ + $(PYDIST_PYCDIR)/./nntplib.py \ + $(PYDIST_PYCDIR)/./ntpath.py \ + $(PYDIST_PYCDIR)/./nturl2path.py \ + $(PYDIST_PYCDIR)/./numbers.py \ + $(PYDIST_PYCDIR)/./opcode.py \ + $(PYDIST_PYCDIR)/./operator.py \ + $(PYDIST_PYCDIR)/./optparse.py \ + $(PYDIST_PYCDIR)/./os.py \ + $(PYDIST_PYCDIR)/./pathlib.py \ + $(PYDIST_PYCDIR)/./pdb.py \ + $(PYDIST_PYCDIR)/./pickle.py \ + $(PYDIST_PYCDIR)/./pickletools.py \ + $(PYDIST_PYCDIR)/./pipes.py \ + $(PYDIST_PYCDIR)/./pkgutil.py \ + $(PYDIST_PYCDIR)/./platform.py \ + $(PYDIST_PYCDIR)/./plistlib.py \ + $(PYDIST_PYCDIR)/./poplib.py \ + $(PYDIST_PYCDIR)/./posixpath.py \ + $(PYDIST_PYCDIR)/./pprint.py \ + $(PYDIST_PYCDIR)/./profile.py \ + $(PYDIST_PYCDIR)/./pstats.py \ + $(PYDIST_PYCDIR)/./pty.py \ + $(PYDIST_PYCDIR)/./py_compile.py \ + $(PYDIST_PYCDIR)/./pyclbr.py \ + $(PYDIST_PYCDIR)/./pydoc.py \ + $(PYDIST_PYCDIR)/./queue.py \ + $(PYDIST_PYCDIR)/./quopri.py \ + $(PYDIST_PYCDIR)/./random.py \ + $(PYDIST_PYCDIR)/./re.py \ + $(PYDIST_PYCDIR)/./reprlib.py \ + $(PYDIST_PYCDIR)/./rlcompleter.py \ + $(PYDIST_PYCDIR)/./runpy.py \ + $(PYDIST_PYCDIR)/./sched.py \ + $(PYDIST_PYCDIR)/./secrets.py \ + $(PYDIST_PYCDIR)/./selectors.py \ + $(PYDIST_PYCDIR)/./shelve.py \ + $(PYDIST_PYCDIR)/./shlex.py \ + $(PYDIST_PYCDIR)/./shutil.py \ + $(PYDIST_PYCDIR)/./signal.py \ + $(PYDIST_PYCDIR)/./site.py \ + $(PYDIST_PYCDIR)/./smtpd.py \ + $(PYDIST_PYCDIR)/./smtplib.py \ + $(PYDIST_PYCDIR)/./sndhdr.py \ + $(PYDIST_PYCDIR)/./socket.py \ + $(PYDIST_PYCDIR)/./socketserver.py \ + $(PYDIST_PYCDIR)/./sre_compile.py \ + $(PYDIST_PYCDIR)/./sre_constants.py \ + $(PYDIST_PYCDIR)/./sre_parse.py \ + $(PYDIST_PYCDIR)/./ssl.py \ + $(PYDIST_PYCDIR)/./stat.py \ + $(PYDIST_PYCDIR)/./statistics.py \ + $(PYDIST_PYCDIR)/./string.py \ + $(PYDIST_PYCDIR)/./stringprep.py \ + $(PYDIST_PYCDIR)/./struct.py \ + $(PYDIST_PYCDIR)/./subprocess.py \ + $(PYDIST_PYCDIR)/./sunau.py \ + $(PYDIST_PYCDIR)/./symbol.py \ + $(PYDIST_PYCDIR)/./symtable.py \ + $(PYDIST_PYCDIR)/./sysconfig.py \ + $(PYDIST_PYCDIR)/./tabnanny.py \ + $(PYDIST_PYCDIR)/./tarfile.py \ + $(PYDIST_PYCDIR)/./telnetlib.py \ + $(PYDIST_PYCDIR)/./tempfile.py \ + $(PYDIST_PYCDIR)/./textwrap.py \ + $(PYDIST_PYCDIR)/./this.py \ + $(PYDIST_PYCDIR)/./threading.py \ + $(PYDIST_PYCDIR)/./timeit.py \ + $(PYDIST_PYCDIR)/./token.py \ + $(PYDIST_PYCDIR)/./tokenize.py \ + $(PYDIST_PYCDIR)/./trace.py \ + $(PYDIST_PYCDIR)/./traceback.py \ + $(PYDIST_PYCDIR)/./tracemalloc.py \ + $(PYDIST_PYCDIR)/./tty.py \ + $(PYDIST_PYCDIR)/./turtle.py \ + $(PYDIST_PYCDIR)/./types.py \ + $(PYDIST_PYCDIR)/./typing.py \ + $(PYDIST_PYCDIR)/./uu.py \ + $(PYDIST_PYCDIR)/./uuid.py \ + $(PYDIST_PYCDIR)/./warnings.py \ + $(PYDIST_PYCDIR)/./wave.py \ + $(PYDIST_PYCDIR)/./weakref.py \ + $(PYDIST_PYCDIR)/./webbrowser.py \ + $(PYDIST_PYCDIR)/./xdrlib.py \ + $(PYDIST_PYCDIR)/./zipapp.py \ + $(PYDIST_PYCDIR)/./zipfile.py \ + +PYDIST_ASYNCIO_SRCS = \ + $(PYDIST_PYCDIR)/./asyncio/__init__.py \ + $(PYDIST_PYCDIR)/./asyncio/base_events.py \ + $(PYDIST_PYCDIR)/./asyncio/base_futures.py \ + $(PYDIST_PYCDIR)/./asyncio/base_subprocess.py \ + $(PYDIST_PYCDIR)/./asyncio/base_tasks.py \ + $(PYDIST_PYCDIR)/./asyncio/constants.py \ + $(PYDIST_PYCDIR)/./asyncio/coroutines.py \ + $(PYDIST_PYCDIR)/./asyncio/events.py \ + $(PYDIST_PYCDIR)/./asyncio/format_helpers.py \ + $(PYDIST_PYCDIR)/./asyncio/futures.py \ + $(PYDIST_PYCDIR)/./asyncio/locks.py \ + $(PYDIST_PYCDIR)/./asyncio/log.py \ + $(PYDIST_PYCDIR)/./asyncio/proactor_events.py \ + $(PYDIST_PYCDIR)/./asyncio/protocols.py \ + $(PYDIST_PYCDIR)/./asyncio/queues.py \ + $(PYDIST_PYCDIR)/./asyncio/runners.py \ + $(PYDIST_PYCDIR)/./asyncio/selector_events.py \ + $(PYDIST_PYCDIR)/./asyncio/sslproto.py \ + $(PYDIST_PYCDIR)/./asyncio/streams.py \ + $(PYDIST_PYCDIR)/./asyncio/subprocess.py \ + $(PYDIST_PYCDIR)/./asyncio/tasks.py \ + $(PYDIST_PYCDIR)/./asyncio/transports.py \ + $(PYDIST_PYCDIR)/./asyncio/unix_events.py \ + $(PYDIST_PYCDIR)/./asyncio/windows_events.py \ + $(PYDIST_PYCDIR)/./asyncio/windows_utils.py \ + +PYDIST_COLLECTIONS_SRCS = \ + $(PYDIST_PYCDIR)/./collections/__init__.py \ + $(PYDIST_PYCDIR)/./collections/abc.py \ + +PYDIST_CONCURRENT_SRCS = \ + $(PYDIST_PYCDIR)/./concurrent/__init__.py \ + +PYDIST_CONCURRENT_FUTURES_SRCS = \ + $(PYDIST_PYCDIR)/./concurrent/futures/__init__.py \ + $(PYDIST_PYCDIR)/./concurrent/futures/_base.py \ + $(PYDIST_PYCDIR)/./concurrent/futures/process.py \ + $(PYDIST_PYCDIR)/./concurrent/futures/thread.py \ + +PYDIST_CTYPES_SRCS = \ + $(PYDIST_PYCDIR)/./ctypes/__init__.py \ + $(PYDIST_PYCDIR)/./ctypes/_aix.py \ + $(PYDIST_PYCDIR)/./ctypes/_endian.py \ + $(PYDIST_PYCDIR)/./ctypes/util.py \ + $(PYDIST_PYCDIR)/./ctypes/wintypes.py \ + +PYDIST_CTYPES_MACHOLIB_SRCS = \ + $(PYDIST_PYCDIR)/./ctypes/macholib/__init__.py \ + $(PYDIST_PYCDIR)/./ctypes/macholib/dyld.py \ + $(PYDIST_PYCDIR)/./ctypes/macholib/dylib.py \ + $(PYDIST_PYCDIR)/./ctypes/macholib/framework.py \ + +PYDIST_CTYPES_TEST_SRCS = \ + $(PYDIST_PYCDIR)/./ctypes/test/__init__.py \ + $(PYDIST_PYCDIR)/./ctypes/test/__main__.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_anon.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_array_in_pointer.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_arrays.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_as_parameter.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_bitfields.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_buffers.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_bytes.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_byteswap.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_callbacks.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_cast.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_cfuncs.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_checkretval.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_delattr.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_errno.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_find.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_frombuffer.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_funcptr.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_functions.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_incomplete.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_init.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_internals.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_keeprefs.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_libc.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_loading.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_macholib.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_memfunctions.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_numbers.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_objects.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_parameters.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_pep3118.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_pickling.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_pointers.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_prototypes.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_python_api.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_random_things.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_refcounts.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_repr.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_returnfuncptrs.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_simplesubclasses.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_sizes.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_slicing.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_stringptr.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_strings.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_struct_fields.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_structures.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_unaligned_structures.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_unicode.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_values.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_varsize_struct.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_win32.py \ + $(PYDIST_PYCDIR)/./ctypes/test/test_wintypes.py \ + +PYDIST_CURSES_SRCS = \ + $(PYDIST_PYCDIR)/./curses/__init__.py \ + $(PYDIST_PYCDIR)/./curses/ascii.py \ + $(PYDIST_PYCDIR)/./curses/has_key.py \ + $(PYDIST_PYCDIR)/./curses/panel.py \ + $(PYDIST_PYCDIR)/./curses/textpad.py \ + +PYDIST_DBM_SRCS = \ + $(PYDIST_PYCDIR)/./dbm/__init__.py \ + $(PYDIST_PYCDIR)/./dbm/dumb.py \ + $(PYDIST_PYCDIR)/./dbm/gnu.py \ + $(PYDIST_PYCDIR)/./dbm/ndbm.py \ + +PYDIST_DISTUTILS_SRCS = \ + $(PYDIST_PYCDIR)/./distutils/__init__.py \ + $(PYDIST_PYCDIR)/./distutils/_msvccompiler.py \ + $(PYDIST_PYCDIR)/./distutils/archive_util.py \ + $(PYDIST_PYCDIR)/./distutils/bcppcompiler.py \ + $(PYDIST_PYCDIR)/./distutils/ccompiler.py \ + $(PYDIST_PYCDIR)/./distutils/cmd.py \ + $(PYDIST_PYCDIR)/./distutils/config.py \ + $(PYDIST_PYCDIR)/./distutils/core.py \ + $(PYDIST_PYCDIR)/./distutils/cygwinccompiler.py \ + $(PYDIST_PYCDIR)/./distutils/debug.py \ + $(PYDIST_PYCDIR)/./distutils/dep_util.py \ + $(PYDIST_PYCDIR)/./distutils/dir_util.py \ + $(PYDIST_PYCDIR)/./distutils/dist.py \ + $(PYDIST_PYCDIR)/./distutils/errors.py \ + $(PYDIST_PYCDIR)/./distutils/extension.py \ + $(PYDIST_PYCDIR)/./distutils/fancy_getopt.py \ + $(PYDIST_PYCDIR)/./distutils/file_util.py \ + $(PYDIST_PYCDIR)/./distutils/filelist.py \ + $(PYDIST_PYCDIR)/./distutils/log.py \ + $(PYDIST_PYCDIR)/./distutils/msvc9compiler.py \ + $(PYDIST_PYCDIR)/./distutils/msvccompiler.py \ + $(PYDIST_PYCDIR)/./distutils/spawn.py \ + $(PYDIST_PYCDIR)/./distutils/sysconfig.py \ + $(PYDIST_PYCDIR)/./distutils/text_file.py \ + $(PYDIST_PYCDIR)/./distutils/unixccompiler.py \ + $(PYDIST_PYCDIR)/./distutils/util.py \ + $(PYDIST_PYCDIR)/./distutils/version.py \ + $(PYDIST_PYCDIR)/./distutils/versionpredicate.py \ + +PYDIST_DISTUTILS_COMMAND_SRCS = \ + $(PYDIST_PYCDIR)/./distutils/command/__init__.py \ + $(PYDIST_PYCDIR)/./distutils/command/bdist.py \ + $(PYDIST_PYCDIR)/./distutils/command/bdist_dumb.py \ + $(PYDIST_PYCDIR)/./distutils/command/bdist_msi.py \ + $(PYDIST_PYCDIR)/./distutils/command/bdist_rpm.py \ + $(PYDIST_PYCDIR)/./distutils/command/bdist_wininst.py \ + $(PYDIST_PYCDIR)/./distutils/command/build.py \ + $(PYDIST_PYCDIR)/./distutils/command/build_clib.py \ + $(PYDIST_PYCDIR)/./distutils/command/build_ext.py \ + $(PYDIST_PYCDIR)/./distutils/command/build_py.py \ + $(PYDIST_PYCDIR)/./distutils/command/build_scripts.py \ + $(PYDIST_PYCDIR)/./distutils/command/check.py \ + $(PYDIST_PYCDIR)/./distutils/command/clean.py \ + $(PYDIST_PYCDIR)/./distutils/command/config.py \ + $(PYDIST_PYCDIR)/./distutils/command/install.py \ + $(PYDIST_PYCDIR)/./distutils/command/install_data.py \ + $(PYDIST_PYCDIR)/./distutils/command/install_egg_info.py \ + $(PYDIST_PYCDIR)/./distutils/command/install_headers.py \ + $(PYDIST_PYCDIR)/./distutils/command/install_lib.py \ + $(PYDIST_PYCDIR)/./distutils/command/install_scripts.py \ + $(PYDIST_PYCDIR)/./distutils/command/register.py \ + $(PYDIST_PYCDIR)/./distutils/command/sdist.py \ + $(PYDIST_PYCDIR)/./distutils/command/upload.py \ + +PYDIST_DISTUTILS_TESTS_SRCS = \ + $(PYDIST_PYCDIR)/./distutils/tests/__init__.py \ + $(PYDIST_PYCDIR)/./distutils/tests/support.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_archive_util.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_bdist.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_bdist_dumb.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_bdist_msi.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_bdist_rpm.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_bdist_wininst.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_build.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_build_clib.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_build_ext.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_build_py.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_build_scripts.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_check.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_clean.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_cmd.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_config.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_config_cmd.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_core.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_cygwinccompiler.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_dep_util.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_dir_util.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_dist.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_extension.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_file_util.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_filelist.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_install.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_install_data.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_install_headers.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_install_lib.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_install_scripts.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_log.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_msvc9compiler.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_msvccompiler.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_register.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_sdist.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_spawn.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_sysconfig.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_text_file.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_unixccompiler.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_upload.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_util.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_version.py \ + $(PYDIST_PYCDIR)/./distutils/tests/test_versionpredicate.py \ + +PYDIST_EMAIL_SRCS = \ + $(PYDIST_PYCDIR)/./email/__init__.py \ + $(PYDIST_PYCDIR)/./email/_encoded_words.py \ + $(PYDIST_PYCDIR)/./email/_header_value_parser.py \ + $(PYDIST_PYCDIR)/./email/_parseaddr.py \ + $(PYDIST_PYCDIR)/./email/_policybase.py \ + $(PYDIST_PYCDIR)/./email/base64mime.py \ + $(PYDIST_PYCDIR)/./email/charset.py \ + $(PYDIST_PYCDIR)/./email/contentmanager.py \ + $(PYDIST_PYCDIR)/./email/encoders.py \ + $(PYDIST_PYCDIR)/./email/errors.py \ + $(PYDIST_PYCDIR)/./email/feedparser.py \ + $(PYDIST_PYCDIR)/./email/generator.py \ + $(PYDIST_PYCDIR)/./email/header.py \ + $(PYDIST_PYCDIR)/./email/headerregistry.py \ + $(PYDIST_PYCDIR)/./email/iterators.py \ + $(PYDIST_PYCDIR)/./email/message.py \ + $(PYDIST_PYCDIR)/./email/parser.py \ + $(PYDIST_PYCDIR)/./email/policy.py \ + $(PYDIST_PYCDIR)/./email/quoprimime.py \ + $(PYDIST_PYCDIR)/./email/utils.py \ + +PYDIST_EMAIL_MIME_SRCS = \ + $(PYDIST_PYCDIR)/./email/mime/__init__.py \ + $(PYDIST_PYCDIR)/./email/mime/application.py \ + $(PYDIST_PYCDIR)/./email/mime/audio.py \ + $(PYDIST_PYCDIR)/./email/mime/base.py \ + $(PYDIST_PYCDIR)/./email/mime/image.py \ + $(PYDIST_PYCDIR)/./email/mime/message.py \ + $(PYDIST_PYCDIR)/./email/mime/multipart.py \ + $(PYDIST_PYCDIR)/./email/mime/nonmultipart.py \ + $(PYDIST_PYCDIR)/./email/mime/text.py \ + +PYDIST_ENCODINGS_SRCS = \ + $(PYDIST_PYCDIR)/./encodings/__init__.py \ + $(PYDIST_PYCDIR)/./encodings/aliases.py \ + $(PYDIST_PYCDIR)/./encodings/ascii.py \ + $(PYDIST_PYCDIR)/./encodings/base64_codec.py \ + $(PYDIST_PYCDIR)/./encodings/big5.py \ + $(PYDIST_PYCDIR)/./encodings/big5hkscs.py \ + $(PYDIST_PYCDIR)/./encodings/bz2_codec.py \ + $(PYDIST_PYCDIR)/./encodings/charmap.py \ + $(PYDIST_PYCDIR)/./encodings/cp037.py \ + $(PYDIST_PYCDIR)/./encodings/cp1006.py \ + $(PYDIST_PYCDIR)/./encodings/cp1026.py \ + $(PYDIST_PYCDIR)/./encodings/cp1125.py \ + $(PYDIST_PYCDIR)/./encodings/cp1140.py \ + $(PYDIST_PYCDIR)/./encodings/cp1250.py \ + $(PYDIST_PYCDIR)/./encodings/cp1251.py \ + $(PYDIST_PYCDIR)/./encodings/cp1252.py \ + $(PYDIST_PYCDIR)/./encodings/cp1253.py \ + $(PYDIST_PYCDIR)/./encodings/cp1254.py \ + $(PYDIST_PYCDIR)/./encodings/cp1255.py \ + $(PYDIST_PYCDIR)/./encodings/cp1256.py \ + $(PYDIST_PYCDIR)/./encodings/cp1257.py \ + $(PYDIST_PYCDIR)/./encodings/cp1258.py \ + $(PYDIST_PYCDIR)/./encodings/cp273.py \ + $(PYDIST_PYCDIR)/./encodings/cp424.py \ + $(PYDIST_PYCDIR)/./encodings/cp437.py \ + $(PYDIST_PYCDIR)/./encodings/cp500.py \ + $(PYDIST_PYCDIR)/./encodings/cp65001.py \ + $(PYDIST_PYCDIR)/./encodings/cp720.py \ + $(PYDIST_PYCDIR)/./encodings/cp737.py \ + $(PYDIST_PYCDIR)/./encodings/cp775.py \ + $(PYDIST_PYCDIR)/./encodings/cp850.py \ + $(PYDIST_PYCDIR)/./encodings/cp852.py \ + $(PYDIST_PYCDIR)/./encodings/cp855.py \ + $(PYDIST_PYCDIR)/./encodings/cp856.py \ + $(PYDIST_PYCDIR)/./encodings/cp857.py \ + $(PYDIST_PYCDIR)/./encodings/cp858.py \ + $(PYDIST_PYCDIR)/./encodings/cp860.py \ + $(PYDIST_PYCDIR)/./encodings/cp861.py \ + $(PYDIST_PYCDIR)/./encodings/cp862.py \ + $(PYDIST_PYCDIR)/./encodings/cp863.py \ + $(PYDIST_PYCDIR)/./encodings/cp864.py \ + $(PYDIST_PYCDIR)/./encodings/cp865.py \ + $(PYDIST_PYCDIR)/./encodings/cp866.py \ + $(PYDIST_PYCDIR)/./encodings/cp869.py \ + $(PYDIST_PYCDIR)/./encodings/cp874.py \ + $(PYDIST_PYCDIR)/./encodings/cp875.py \ + $(PYDIST_PYCDIR)/./encodings/cp932.py \ + $(PYDIST_PYCDIR)/./encodings/cp949.py \ + $(PYDIST_PYCDIR)/./encodings/cp950.py \ + $(PYDIST_PYCDIR)/./encodings/euc_jis_2004.py \ + $(PYDIST_PYCDIR)/./encodings/euc_jisx0213.py \ + $(PYDIST_PYCDIR)/./encodings/euc_jp.py \ + $(PYDIST_PYCDIR)/./encodings/euc_kr.py \ + $(PYDIST_PYCDIR)/./encodings/gb18030.py \ + $(PYDIST_PYCDIR)/./encodings/gb2312.py \ + $(PYDIST_PYCDIR)/./encodings/gbk.py \ + $(PYDIST_PYCDIR)/./encodings/hex_codec.py \ + $(PYDIST_PYCDIR)/./encodings/hp_roman8.py \ + $(PYDIST_PYCDIR)/./encodings/hz.py \ + $(PYDIST_PYCDIR)/./encodings/idna.py \ + $(PYDIST_PYCDIR)/./encodings/iso2022_jp.py \ + $(PYDIST_PYCDIR)/./encodings/iso2022_jp_1.py \ + $(PYDIST_PYCDIR)/./encodings/iso2022_jp_2.py \ + $(PYDIST_PYCDIR)/./encodings/iso2022_jp_2004.py \ + $(PYDIST_PYCDIR)/./encodings/iso2022_jp_3.py \ + $(PYDIST_PYCDIR)/./encodings/iso2022_jp_ext.py \ + $(PYDIST_PYCDIR)/./encodings/iso2022_kr.py \ + $(PYDIST_PYCDIR)/./encodings/iso8859_1.py \ + $(PYDIST_PYCDIR)/./encodings/iso8859_10.py \ + $(PYDIST_PYCDIR)/./encodings/iso8859_11.py \ + $(PYDIST_PYCDIR)/./encodings/iso8859_13.py \ + $(PYDIST_PYCDIR)/./encodings/iso8859_14.py \ + $(PYDIST_PYCDIR)/./encodings/iso8859_15.py \ + $(PYDIST_PYCDIR)/./encodings/iso8859_16.py \ + $(PYDIST_PYCDIR)/./encodings/iso8859_2.py \ + $(PYDIST_PYCDIR)/./encodings/iso8859_3.py \ + $(PYDIST_PYCDIR)/./encodings/iso8859_4.py \ + $(PYDIST_PYCDIR)/./encodings/iso8859_5.py \ + $(PYDIST_PYCDIR)/./encodings/iso8859_6.py \ + $(PYDIST_PYCDIR)/./encodings/iso8859_7.py \ + $(PYDIST_PYCDIR)/./encodings/iso8859_8.py \ + $(PYDIST_PYCDIR)/./encodings/iso8859_9.py \ + $(PYDIST_PYCDIR)/./encodings/johab.py \ + $(PYDIST_PYCDIR)/./encodings/koi8_r.py \ + $(PYDIST_PYCDIR)/./encodings/koi8_t.py \ + $(PYDIST_PYCDIR)/./encodings/koi8_u.py \ + $(PYDIST_PYCDIR)/./encodings/kz1048.py \ + $(PYDIST_PYCDIR)/./encodings/latin_1.py \ + $(PYDIST_PYCDIR)/./encodings/mac_arabic.py \ + $(PYDIST_PYCDIR)/./encodings/mac_centeuro.py \ + $(PYDIST_PYCDIR)/./encodings/mac_croatian.py \ + $(PYDIST_PYCDIR)/./encodings/mac_cyrillic.py \ + $(PYDIST_PYCDIR)/./encodings/mac_farsi.py \ + $(PYDIST_PYCDIR)/./encodings/mac_greek.py \ + $(PYDIST_PYCDIR)/./encodings/mac_iceland.py \ + $(PYDIST_PYCDIR)/./encodings/mac_latin2.py \ + $(PYDIST_PYCDIR)/./encodings/mac_roman.py \ + $(PYDIST_PYCDIR)/./encodings/mac_romanian.py \ + $(PYDIST_PYCDIR)/./encodings/mac_turkish.py \ + $(PYDIST_PYCDIR)/./encodings/mbcs.py \ + $(PYDIST_PYCDIR)/./encodings/oem.py \ + $(PYDIST_PYCDIR)/./encodings/palmos.py \ + $(PYDIST_PYCDIR)/./encodings/ptcp154.py \ + $(PYDIST_PYCDIR)/./encodings/punycode.py \ + $(PYDIST_PYCDIR)/./encodings/quopri_codec.py \ + $(PYDIST_PYCDIR)/./encodings/raw_unicode_escape.py \ + $(PYDIST_PYCDIR)/./encodings/rot_13.py \ + $(PYDIST_PYCDIR)/./encodings/shift_jis.py \ + $(PYDIST_PYCDIR)/./encodings/shift_jis_2004.py \ + $(PYDIST_PYCDIR)/./encodings/shift_jisx0213.py \ + $(PYDIST_PYCDIR)/./encodings/tis_620.py \ + $(PYDIST_PYCDIR)/./encodings/undefined.py \ + $(PYDIST_PYCDIR)/./encodings/unicode_escape.py \ + $(PYDIST_PYCDIR)/./encodings/unicode_internal.py \ + $(PYDIST_PYCDIR)/./encodings/utf_16.py \ + $(PYDIST_PYCDIR)/./encodings/utf_16_be.py \ + $(PYDIST_PYCDIR)/./encodings/utf_16_le.py \ + $(PYDIST_PYCDIR)/./encodings/utf_32.py \ + $(PYDIST_PYCDIR)/./encodings/utf_32_be.py \ + $(PYDIST_PYCDIR)/./encodings/utf_32_le.py \ + $(PYDIST_PYCDIR)/./encodings/utf_7.py \ + $(PYDIST_PYCDIR)/./encodings/utf_8.py \ + $(PYDIST_PYCDIR)/./encodings/utf_8_sig.py \ + $(PYDIST_PYCDIR)/./encodings/uu_codec.py \ + $(PYDIST_PYCDIR)/./encodings/zlib_codec.py \ + +PYDIST_ENSUREPIP_SRCS = \ + $(PYDIST_PYCDIR)/./ensurepip/__init__.py \ + $(PYDIST_PYCDIR)/./ensurepip/__main__.py \ + $(PYDIST_PYCDIR)/./ensurepip/_uninstall.py \ + +PYDIST_HTML_SRCS = \ + $(PYDIST_PYCDIR)/./html/__init__.py \ + $(PYDIST_PYCDIR)/./html/entities.py \ + $(PYDIST_PYCDIR)/./html/parser.py \ + +PYDIST_HTTP_SRCS = \ + $(PYDIST_PYCDIR)/./http/__init__.py \ + $(PYDIST_PYCDIR)/./http/client.py \ + $(PYDIST_PYCDIR)/./http/cookiejar.py \ + $(PYDIST_PYCDIR)/./http/cookies.py \ + $(PYDIST_PYCDIR)/./http/server.py \ + +PYDIST_IDLELIB_SRCS = \ + $(PYDIST_PYCDIR)/./idlelib/__init__.py \ + $(PYDIST_PYCDIR)/./idlelib/__main__.py \ + $(PYDIST_PYCDIR)/./idlelib/autocomplete.py \ + $(PYDIST_PYCDIR)/./idlelib/autocomplete_w.py \ + $(PYDIST_PYCDIR)/./idlelib/autoexpand.py \ + $(PYDIST_PYCDIR)/./idlelib/browser.py \ + $(PYDIST_PYCDIR)/./idlelib/calltip.py \ + $(PYDIST_PYCDIR)/./idlelib/calltip_w.py \ + $(PYDIST_PYCDIR)/./idlelib/codecontext.py \ + $(PYDIST_PYCDIR)/./idlelib/colorizer.py \ + $(PYDIST_PYCDIR)/./idlelib/config.py \ + $(PYDIST_PYCDIR)/./idlelib/config_key.py \ + $(PYDIST_PYCDIR)/./idlelib/configdialog.py \ + $(PYDIST_PYCDIR)/./idlelib/debugger.py \ + $(PYDIST_PYCDIR)/./idlelib/debugger_r.py \ + $(PYDIST_PYCDIR)/./idlelib/debugobj.py \ + $(PYDIST_PYCDIR)/./idlelib/debugobj_r.py \ + $(PYDIST_PYCDIR)/./idlelib/delegator.py \ + $(PYDIST_PYCDIR)/./idlelib/dynoption.py \ + $(PYDIST_PYCDIR)/./idlelib/editor.py \ + $(PYDIST_PYCDIR)/./idlelib/filelist.py \ + $(PYDIST_PYCDIR)/./idlelib/grep.py \ + $(PYDIST_PYCDIR)/./idlelib/help.py \ + $(PYDIST_PYCDIR)/./idlelib/help_about.py \ + $(PYDIST_PYCDIR)/./idlelib/history.py \ + $(PYDIST_PYCDIR)/./idlelib/hyperparser.py \ + $(PYDIST_PYCDIR)/./idlelib/idle.py \ + $(PYDIST_PYCDIR)/./idlelib/iomenu.py \ + $(PYDIST_PYCDIR)/./idlelib/macosx.py \ + $(PYDIST_PYCDIR)/./idlelib/mainmenu.py \ + $(PYDIST_PYCDIR)/./idlelib/multicall.py \ + $(PYDIST_PYCDIR)/./idlelib/outwin.py \ + $(PYDIST_PYCDIR)/./idlelib/paragraph.py \ + $(PYDIST_PYCDIR)/./idlelib/parenmatch.py \ + $(PYDIST_PYCDIR)/./idlelib/pathbrowser.py \ + $(PYDIST_PYCDIR)/./idlelib/percolator.py \ + $(PYDIST_PYCDIR)/./idlelib/pyparse.py \ + $(PYDIST_PYCDIR)/./idlelib/pyshell.py \ + $(PYDIST_PYCDIR)/./idlelib/query.py \ + $(PYDIST_PYCDIR)/./idlelib/redirector.py \ + $(PYDIST_PYCDIR)/./idlelib/replace.py \ + $(PYDIST_PYCDIR)/./idlelib/rpc.py \ + $(PYDIST_PYCDIR)/./idlelib/rstrip.py \ + $(PYDIST_PYCDIR)/./idlelib/run.py \ + $(PYDIST_PYCDIR)/./idlelib/runscript.py \ + $(PYDIST_PYCDIR)/./idlelib/scrolledlist.py \ + $(PYDIST_PYCDIR)/./idlelib/search.py \ + $(PYDIST_PYCDIR)/./idlelib/searchbase.py \ + $(PYDIST_PYCDIR)/./idlelib/searchengine.py \ + $(PYDIST_PYCDIR)/./idlelib/squeezer.py \ + $(PYDIST_PYCDIR)/./idlelib/stackviewer.py \ + $(PYDIST_PYCDIR)/./idlelib/statusbar.py \ + $(PYDIST_PYCDIR)/./idlelib/textview.py \ + $(PYDIST_PYCDIR)/./idlelib/tooltip.py \ + $(PYDIST_PYCDIR)/./idlelib/tree.py \ + $(PYDIST_PYCDIR)/./idlelib/undo.py \ + $(PYDIST_PYCDIR)/./idlelib/window.py \ + $(PYDIST_PYCDIR)/./idlelib/zoomheight.py \ + $(PYDIST_PYCDIR)/./idlelib/zzdummy.py \ + +PYDIST_IDLELIB_IDLE_TEST_SRCS = \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/__init__.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/htest.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/mock_idle.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/mock_tk.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/template.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_autocomplete.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_autocomplete_w.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_autoexpand.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_browser.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_calltip.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_calltip_w.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_codecontext.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_colorizer.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_config.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_config_key.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_configdialog.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_debugger.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_debugger_r.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_debugobj.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_debugobj_r.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_delegator.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_editmenu.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_editor.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_filelist.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_grep.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_help.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_help_about.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_history.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_hyperparser.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_iomenu.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_macosx.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_mainmenu.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_multicall.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_outwin.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_paragraph.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_parenmatch.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_pathbrowser.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_percolator.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_pyparse.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_pyshell.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_query.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_redirector.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_replace.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_rpc.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_rstrip.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_run.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_runscript.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_scrolledlist.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_search.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_searchbase.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_searchengine.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_squeezer.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_stackviewer.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_statusbar.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_text.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_textview.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_tooltip.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_tree.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_undo.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_warning.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_window.py \ + $(PYDIST_PYCDIR)/./idlelib/idle_test/test_zoomheight.py \ + +PYDIST_IMPORTLIB_SRCS = \ + $(PYDIST_PYCDIR)/./importlib/__init__.py \ + $(PYDIST_PYCDIR)/./importlib/_bootstrap.py \ + $(PYDIST_PYCDIR)/./importlib/_bootstrap_external.py \ + $(PYDIST_PYCDIR)/./importlib/abc.py \ + $(PYDIST_PYCDIR)/./importlib/machinery.py \ + $(PYDIST_PYCDIR)/./importlib/resources.py \ + $(PYDIST_PYCDIR)/./importlib/util.py \ + +PYDIST_JSON_SRCS = \ + $(PYDIST_PYCDIR)/./json/__init__.py \ + $(PYDIST_PYCDIR)/./json/decoder.py \ + $(PYDIST_PYCDIR)/./json/encoder.py \ + $(PYDIST_PYCDIR)/./json/scanner.py \ + $(PYDIST_PYCDIR)/./json/tool.py \ + +PYDIST_LIB2TO3_SRCS = \ + $(PYDIST_PYCDIR)/./lib2to3/__init__.py \ + $(PYDIST_PYCDIR)/./lib2to3/__main__.py \ + $(PYDIST_PYCDIR)/./lib2to3/btm_matcher.py \ + $(PYDIST_PYCDIR)/./lib2to3/btm_utils.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixer_base.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixer_util.py \ + $(PYDIST_PYCDIR)/./lib2to3/main.py \ + $(PYDIST_PYCDIR)/./lib2to3/patcomp.py \ + $(PYDIST_PYCDIR)/./lib2to3/pygram.py \ + $(PYDIST_PYCDIR)/./lib2to3/pytree.py \ + $(PYDIST_PYCDIR)/./lib2to3/refactor.py \ + +PYDIST_LIB2TO3_FIXES_SRCS = \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/__init__.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_apply.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_asserts.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_basestring.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_buffer.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_dict.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_except.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_exec.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_execfile.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_exitfunc.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_filter.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_funcattrs.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_future.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_getcwdu.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_has_key.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_idioms.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_import.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_imports.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_imports2.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_input.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_intern.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_isinstance.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_itertools.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_itertools_imports.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_long.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_map.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_metaclass.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_methodattrs.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_ne.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_next.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_nonzero.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_numliterals.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_operator.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_paren.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_print.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_raise.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_raw_input.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_reduce.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_reload.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_renames.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_repr.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_set_literal.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_standarderror.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_sys_exc.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_throw.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_tuple_params.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_types.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_unicode.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_urllib.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_ws_comma.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_xrange.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_xreadlines.py \ + $(PYDIST_PYCDIR)/./lib2to3/fixes/fix_zip.py \ + +PYDIST_LIB2TO3_PGEN2_SRCS = \ + $(PYDIST_PYCDIR)/./lib2to3/pgen2/__init__.py \ + $(PYDIST_PYCDIR)/./lib2to3/pgen2/conv.py \ + $(PYDIST_PYCDIR)/./lib2to3/pgen2/driver.py \ + $(PYDIST_PYCDIR)/./lib2to3/pgen2/grammar.py \ + $(PYDIST_PYCDIR)/./lib2to3/pgen2/literals.py \ + $(PYDIST_PYCDIR)/./lib2to3/pgen2/parse.py \ + $(PYDIST_PYCDIR)/./lib2to3/pgen2/pgen.py \ + $(PYDIST_PYCDIR)/./lib2to3/pgen2/token.py \ + $(PYDIST_PYCDIR)/./lib2to3/pgen2/tokenize.py \ + +PYDIST_LIB2TO3_TESTS_SRCS = \ + $(PYDIST_PYCDIR)/./lib2to3/tests/__init__.py \ + $(PYDIST_PYCDIR)/./lib2to3/tests/__main__.py \ + $(PYDIST_PYCDIR)/./lib2to3/tests/pytree_idempotency.py \ + $(PYDIST_PYCDIR)/./lib2to3/tests/support.py \ + $(PYDIST_PYCDIR)/./lib2to3/tests/test_all_fixers.py \ + $(PYDIST_PYCDIR)/./lib2to3/tests/test_fixers.py \ + $(PYDIST_PYCDIR)/./lib2to3/tests/test_main.py \ + $(PYDIST_PYCDIR)/./lib2to3/tests/test_parser.py \ + $(PYDIST_PYCDIR)/./lib2to3/tests/test_pytree.py \ + $(PYDIST_PYCDIR)/./lib2to3/tests/test_refactor.py \ + $(PYDIST_PYCDIR)/./lib2to3/tests/test_util.py \ + +PYDIST_LIB2TO3_TESTS_DATA_SRCS = \ + $(PYDIST_PYCDIR)/./lib2to3/tests/data/bom.py \ + $(PYDIST_PYCDIR)/./lib2to3/tests/data/crlf.py \ + $(PYDIST_PYCDIR)/./lib2to3/tests/data/different_encoding.py \ + $(PYDIST_PYCDIR)/./lib2to3/tests/data/false_encoding.py \ + $(PYDIST_PYCDIR)/./lib2to3/tests/data/infinite_recursion.py \ + $(PYDIST_PYCDIR)/./lib2to3/tests/data/py2_test_grammar.py \ + +PYDIST_LIB2TO3_TESTS_DATA_FIXERS_SRCS = \ + $(PYDIST_PYCDIR)/./lib2to3/tests/data/fixers/bad_order.py \ + $(PYDIST_PYCDIR)/./lib2to3/tests/data/fixers/no_fixer_cls.py \ + $(PYDIST_PYCDIR)/./lib2to3/tests/data/fixers/parrot_example.py \ + +PYDIST_LIB2TO3_TESTS_DATA_FIXERS_MYFIXES_SRCS = \ + $(PYDIST_PYCDIR)/./lib2to3/tests/data/fixers/myfixes/__init__.py \ + $(PYDIST_PYCDIR)/./lib2to3/tests/data/fixers/myfixes/fix_explicit.py \ + $(PYDIST_PYCDIR)/./lib2to3/tests/data/fixers/myfixes/fix_first.py \ + $(PYDIST_PYCDIR)/./lib2to3/tests/data/fixers/myfixes/fix_last.py \ + $(PYDIST_PYCDIR)/./lib2to3/tests/data/fixers/myfixes/fix_parrot.py \ + $(PYDIST_PYCDIR)/./lib2to3/tests/data/fixers/myfixes/fix_preorder.py \ + +PYDIST_LOGGING_SRCS = \ + $(PYDIST_PYCDIR)/./logging/__init__.py \ + $(PYDIST_PYCDIR)/./logging/config.py \ + $(PYDIST_PYCDIR)/./logging/handlers.py \ + +PYDIST_MSILIB_SRCS = \ + $(PYDIST_PYCDIR)/./msilib/__init__.py \ + $(PYDIST_PYCDIR)/./msilib/schema.py \ + $(PYDIST_PYCDIR)/./msilib/sequence.py \ + $(PYDIST_PYCDIR)/./msilib/text.py \ + +PYDIST_MULTIPROCESSING_SRCS = \ + $(PYDIST_PYCDIR)/./multiprocessing/__init__.py \ + $(PYDIST_PYCDIR)/./multiprocessing/connection.py \ + $(PYDIST_PYCDIR)/./multiprocessing/context.py \ + $(PYDIST_PYCDIR)/./multiprocessing/forkserver.py \ + $(PYDIST_PYCDIR)/./multiprocessing/heap.py \ + $(PYDIST_PYCDIR)/./multiprocessing/managers.py \ + $(PYDIST_PYCDIR)/./multiprocessing/pool.py \ + $(PYDIST_PYCDIR)/./multiprocessing/popen_fork.py \ + $(PYDIST_PYCDIR)/./multiprocessing/popen_forkserver.py \ + $(PYDIST_PYCDIR)/./multiprocessing/popen_spawn_posix.py \ + $(PYDIST_PYCDIR)/./multiprocessing/popen_spawn_win32.py \ + $(PYDIST_PYCDIR)/./multiprocessing/process.py \ + $(PYDIST_PYCDIR)/./multiprocessing/queues.py \ + $(PYDIST_PYCDIR)/./multiprocessing/reduction.py \ + $(PYDIST_PYCDIR)/./multiprocessing/resource_sharer.py \ + $(PYDIST_PYCDIR)/./multiprocessing/semaphore_tracker.py \ + $(PYDIST_PYCDIR)/./multiprocessing/sharedctypes.py \ + $(PYDIST_PYCDIR)/./multiprocessing/spawn.py \ + $(PYDIST_PYCDIR)/./multiprocessing/synchronize.py \ + $(PYDIST_PYCDIR)/./multiprocessing/util.py \ + +PYDIST_MULTIPROCESSING_DUMMY_SRCS = \ + $(PYDIST_PYCDIR)/./multiprocessing/dummy/__init__.py \ + $(PYDIST_PYCDIR)/./multiprocessing/dummy/connection.py \ + +PYDIST_PYDOC_DATA_SRCS = \ + $(PYDIST_PYCDIR)/./pydoc_data/__init__.py \ + $(PYDIST_PYCDIR)/./pydoc_data/topics.py \ + +PYDIST_SQLITE3_SRCS = \ + $(PYDIST_PYCDIR)/./sqlite3/__init__.py \ + $(PYDIST_PYCDIR)/./sqlite3/dbapi2.py \ + $(PYDIST_PYCDIR)/./sqlite3/dump.py \ + +PYDIST_SQLITE3_TEST_SRCS = \ + $(PYDIST_PYCDIR)/./sqlite3/test/__init__.py \ + $(PYDIST_PYCDIR)/./sqlite3/test/backup.py \ + $(PYDIST_PYCDIR)/./sqlite3/test/dbapi.py \ + $(PYDIST_PYCDIR)/./sqlite3/test/dump.py \ + $(PYDIST_PYCDIR)/./sqlite3/test/factory.py \ + $(PYDIST_PYCDIR)/./sqlite3/test/hooks.py \ + $(PYDIST_PYCDIR)/./sqlite3/test/regression.py \ + $(PYDIST_PYCDIR)/./sqlite3/test/transactions.py \ + $(PYDIST_PYCDIR)/./sqlite3/test/types.py \ + $(PYDIST_PYCDIR)/./sqlite3/test/userfunctions.py \ + +PYDIST_TKINTER_SRCS = \ + $(PYDIST_PYCDIR)/./tkinter/__init__.py \ + $(PYDIST_PYCDIR)/./tkinter/__main__.py \ + $(PYDIST_PYCDIR)/./tkinter/colorchooser.py \ + $(PYDIST_PYCDIR)/./tkinter/commondialog.py \ + $(PYDIST_PYCDIR)/./tkinter/constants.py \ + $(PYDIST_PYCDIR)/./tkinter/dialog.py \ + $(PYDIST_PYCDIR)/./tkinter/dnd.py \ + $(PYDIST_PYCDIR)/./tkinter/filedialog.py \ + $(PYDIST_PYCDIR)/./tkinter/font.py \ + $(PYDIST_PYCDIR)/./tkinter/messagebox.py \ + $(PYDIST_PYCDIR)/./tkinter/scrolledtext.py \ + $(PYDIST_PYCDIR)/./tkinter/simpledialog.py \ + $(PYDIST_PYCDIR)/./tkinter/tix.py \ + $(PYDIST_PYCDIR)/./tkinter/ttk.py \ + +PYDIST_TKINTER_TEST_SRCS = \ + $(PYDIST_PYCDIR)/./tkinter/test/__init__.py \ + $(PYDIST_PYCDIR)/./tkinter/test/runtktests.py \ + $(PYDIST_PYCDIR)/./tkinter/test/support.py \ + $(PYDIST_PYCDIR)/./tkinter/test/widget_tests.py \ + +PYDIST_TKINTER_TEST_TEST_TKINTER_SRCS = \ + $(PYDIST_PYCDIR)/./tkinter/test/test_tkinter/__init__.py \ + $(PYDIST_PYCDIR)/./tkinter/test/test_tkinter/test_font.py \ + $(PYDIST_PYCDIR)/./tkinter/test/test_tkinter/test_geometry_managers.py \ + $(PYDIST_PYCDIR)/./tkinter/test/test_tkinter/test_images.py \ + $(PYDIST_PYCDIR)/./tkinter/test/test_tkinter/test_loadtk.py \ + $(PYDIST_PYCDIR)/./tkinter/test/test_tkinter/test_misc.py \ + $(PYDIST_PYCDIR)/./tkinter/test/test_tkinter/test_text.py \ + $(PYDIST_PYCDIR)/./tkinter/test/test_tkinter/test_variables.py \ + $(PYDIST_PYCDIR)/./tkinter/test/test_tkinter/test_widgets.py \ + +PYDIST_TKINTER_TEST_TEST_TTK_SRCS = \ + $(PYDIST_PYCDIR)/./tkinter/test/test_ttk/__init__.py \ + $(PYDIST_PYCDIR)/./tkinter/test/test_ttk/test_extensions.py \ + $(PYDIST_PYCDIR)/./tkinter/test/test_ttk/test_functions.py \ + $(PYDIST_PYCDIR)/./tkinter/test/test_ttk/test_style.py \ + $(PYDIST_PYCDIR)/./tkinter/test/test_ttk/test_widgets.py \ + +PYDIST_TURTLEDEMO_SRCS = \ + $(PYDIST_PYCDIR)/./turtledemo/__init__.py \ + $(PYDIST_PYCDIR)/./turtledemo/__main__.py \ + $(PYDIST_PYCDIR)/./turtledemo/bytedesign.py \ + $(PYDIST_PYCDIR)/./turtledemo/chaos.py \ + $(PYDIST_PYCDIR)/./turtledemo/clock.py \ + $(PYDIST_PYCDIR)/./turtledemo/colormixer.py \ + $(PYDIST_PYCDIR)/./turtledemo/forest.py \ + $(PYDIST_PYCDIR)/./turtledemo/fractalcurves.py \ + $(PYDIST_PYCDIR)/./turtledemo/lindenmayer.py \ + $(PYDIST_PYCDIR)/./turtledemo/minimal_hanoi.py \ + $(PYDIST_PYCDIR)/./turtledemo/nim.py \ + $(PYDIST_PYCDIR)/./turtledemo/paint.py \ + $(PYDIST_PYCDIR)/./turtledemo/peace.py \ + $(PYDIST_PYCDIR)/./turtledemo/penrose.py \ + $(PYDIST_PYCDIR)/./turtledemo/planet_and_moon.py \ + $(PYDIST_PYCDIR)/./turtledemo/rosette.py \ + $(PYDIST_PYCDIR)/./turtledemo/round_dance.py \ + $(PYDIST_PYCDIR)/./turtledemo/sorting_animate.py \ + $(PYDIST_PYCDIR)/./turtledemo/tree.py \ + $(PYDIST_PYCDIR)/./turtledemo/two_canvases.py \ + $(PYDIST_PYCDIR)/./turtledemo/yinyang.py \ + +PYDIST_UNITTEST_SRCS = \ + $(PYDIST_PYCDIR)/./unittest/__init__.py \ + $(PYDIST_PYCDIR)/./unittest/__main__.py \ + $(PYDIST_PYCDIR)/./unittest/case.py \ + $(PYDIST_PYCDIR)/./unittest/loader.py \ + $(PYDIST_PYCDIR)/./unittest/main.py \ + $(PYDIST_PYCDIR)/./unittest/mock.py \ + $(PYDIST_PYCDIR)/./unittest/result.py \ + $(PYDIST_PYCDIR)/./unittest/runner.py \ + $(PYDIST_PYCDIR)/./unittest/signals.py \ + $(PYDIST_PYCDIR)/./unittest/suite.py \ + $(PYDIST_PYCDIR)/./unittest/util.py \ + +PYDIST_UNITTEST_TEST_SRCS = \ + $(PYDIST_PYCDIR)/./unittest/test/__init__.py \ + $(PYDIST_PYCDIR)/./unittest/test/__main__.py \ + $(PYDIST_PYCDIR)/./unittest/test/_test_warnings.py \ + $(PYDIST_PYCDIR)/./unittest/test/dummy.py \ + $(PYDIST_PYCDIR)/./unittest/test/support.py \ + $(PYDIST_PYCDIR)/./unittest/test/test_assertions.py \ + $(PYDIST_PYCDIR)/./unittest/test/test_break.py \ + $(PYDIST_PYCDIR)/./unittest/test/test_case.py \ + $(PYDIST_PYCDIR)/./unittest/test/test_discovery.py \ + $(PYDIST_PYCDIR)/./unittest/test/test_functiontestcase.py \ + $(PYDIST_PYCDIR)/./unittest/test/test_loader.py \ + $(PYDIST_PYCDIR)/./unittest/test/test_program.py \ + $(PYDIST_PYCDIR)/./unittest/test/test_result.py \ + $(PYDIST_PYCDIR)/./unittest/test/test_runner.py \ + $(PYDIST_PYCDIR)/./unittest/test/test_setups.py \ + $(PYDIST_PYCDIR)/./unittest/test/test_skipping.py \ + $(PYDIST_PYCDIR)/./unittest/test/test_suite.py \ + +PYDIST_UNITTEST_TEST_TESTMOCK_SRCS = \ + $(PYDIST_PYCDIR)/./unittest/test/testmock/__init__.py \ + $(PYDIST_PYCDIR)/./unittest/test/testmock/__main__.py \ + $(PYDIST_PYCDIR)/./unittest/test/testmock/support.py \ + $(PYDIST_PYCDIR)/./unittest/test/testmock/testcallable.py \ + $(PYDIST_PYCDIR)/./unittest/test/testmock/testhelpers.py \ + $(PYDIST_PYCDIR)/./unittest/test/testmock/testmagicmethods.py \ + $(PYDIST_PYCDIR)/./unittest/test/testmock/testmock.py \ + $(PYDIST_PYCDIR)/./unittest/test/testmock/testpatch.py \ + $(PYDIST_PYCDIR)/./unittest/test/testmock/testsealable.py \ + $(PYDIST_PYCDIR)/./unittest/test/testmock/testsentinel.py \ + $(PYDIST_PYCDIR)/./unittest/test/testmock/testwith.py \ + +PYDIST_URLLIB_SRCS = \ + $(PYDIST_PYCDIR)/./urllib/__init__.py \ + $(PYDIST_PYCDIR)/./urllib/error.py \ + $(PYDIST_PYCDIR)/./urllib/parse.py \ + $(PYDIST_PYCDIR)/./urllib/request.py \ + $(PYDIST_PYCDIR)/./urllib/response.py \ + $(PYDIST_PYCDIR)/./urllib/robotparser.py \ + +PYDIST_VENV_SRCS = \ + $(PYDIST_PYCDIR)/./venv/__init__.py \ + $(PYDIST_PYCDIR)/./venv/__main__.py \ + +PYDIST_WSGIREF_SRCS = \ + $(PYDIST_PYCDIR)/./wsgiref/__init__.py \ + $(PYDIST_PYCDIR)/./wsgiref/handlers.py \ + $(PYDIST_PYCDIR)/./wsgiref/headers.py \ + $(PYDIST_PYCDIR)/./wsgiref/simple_server.py \ + $(PYDIST_PYCDIR)/./wsgiref/util.py \ + $(PYDIST_PYCDIR)/./wsgiref/validate.py \ + +PYDIST_XML_SRCS = \ + $(PYDIST_PYCDIR)/./xml/__init__.py \ + +PYDIST_XML_DOM_SRCS = \ + $(PYDIST_PYCDIR)/./xml/dom/NodeFilter.py \ + $(PYDIST_PYCDIR)/./xml/dom/__init__.py \ + $(PYDIST_PYCDIR)/./xml/dom/domreg.py \ + $(PYDIST_PYCDIR)/./xml/dom/expatbuilder.py \ + $(PYDIST_PYCDIR)/./xml/dom/minicompat.py \ + $(PYDIST_PYCDIR)/./xml/dom/minidom.py \ + $(PYDIST_PYCDIR)/./xml/dom/pulldom.py \ + $(PYDIST_PYCDIR)/./xml/dom/xmlbuilder.py \ + +PYDIST_XML_ETREE_SRCS = \ + $(PYDIST_PYCDIR)/./xml/etree/ElementInclude.py \ + $(PYDIST_PYCDIR)/./xml/etree/ElementPath.py \ + $(PYDIST_PYCDIR)/./xml/etree/ElementTree.py \ + $(PYDIST_PYCDIR)/./xml/etree/__init__.py \ + $(PYDIST_PYCDIR)/./xml/etree/cElementTree.py \ + +PYDIST_XML_PARSERS_SRCS = \ + $(PYDIST_PYCDIR)/./xml/parsers/__init__.py \ + $(PYDIST_PYCDIR)/./xml/parsers/expat.py \ + +PYDIST_XML_SAX_SRCS = \ + $(PYDIST_PYCDIR)/./xml/sax/__init__.py \ + $(PYDIST_PYCDIR)/./xml/sax/_exceptions.py \ + $(PYDIST_PYCDIR)/./xml/sax/expatreader.py \ + $(PYDIST_PYCDIR)/./xml/sax/handler.py \ + $(PYDIST_PYCDIR)/./xml/sax/saxutils.py \ + $(PYDIST_PYCDIR)/./xml/sax/xmlreader.py \ + +PYDIST_XMLRPC_SRCS = \ + $(PYDIST_PYCDIR)/./xmlrpc/__init__.py \ + $(PYDIST_PYCDIR)/./xmlrpc/client.py \ + $(PYDIST_PYCDIR)/./xmlrpc/server.py \ + + + +pydist.tag: + mkdir -p $(PYDIST_PYCDIR)/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./asyncio + mkdir -p $(PYDIST_PYCDIR)/./asyncio/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./collections + mkdir -p $(PYDIST_PYCDIR)/./collections/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./concurrent + mkdir -p $(PYDIST_PYCDIR)/./concurrent/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./concurrent/futures + mkdir -p $(PYDIST_PYCDIR)/./concurrent/futures/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./ctypes + mkdir -p $(PYDIST_PYCDIR)/./ctypes/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./ctypes/macholib + mkdir -p $(PYDIST_PYCDIR)/./ctypes/macholib/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./ctypes/test + mkdir -p $(PYDIST_PYCDIR)/./ctypes/test/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./curses + mkdir -p $(PYDIST_PYCDIR)/./curses/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./dbm + mkdir -p $(PYDIST_PYCDIR)/./dbm/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./distutils + mkdir -p $(PYDIST_PYCDIR)/./distutils/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./distutils/command + mkdir -p $(PYDIST_PYCDIR)/./distutils/command/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./distutils/tests + mkdir -p $(PYDIST_PYCDIR)/./distutils/tests/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./email + mkdir -p $(PYDIST_PYCDIR)/./email/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./email/mime + mkdir -p $(PYDIST_PYCDIR)/./email/mime/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./encodings + mkdir -p $(PYDIST_PYCDIR)/./encodings/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./ensurepip + mkdir -p $(PYDIST_PYCDIR)/./ensurepip/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./ensurepip/_bundled + mkdir -p $(PYDIST_PYCDIR)/./ensurepip/_bundled/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./html + mkdir -p $(PYDIST_PYCDIR)/./html/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./http + mkdir -p $(PYDIST_PYCDIR)/./http/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./idlelib + mkdir -p $(PYDIST_PYCDIR)/./idlelib/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./idlelib/Icons + mkdir -p $(PYDIST_PYCDIR)/./idlelib/Icons/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./idlelib/idle_test + mkdir -p $(PYDIST_PYCDIR)/./idlelib/idle_test/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./importlib + mkdir -p $(PYDIST_PYCDIR)/./importlib/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./json + mkdir -p $(PYDIST_PYCDIR)/./json/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./lib2to3 + mkdir -p $(PYDIST_PYCDIR)/./lib2to3/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./lib2to3/fixes + mkdir -p $(PYDIST_PYCDIR)/./lib2to3/fixes/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./lib2to3/pgen2 + mkdir -p $(PYDIST_PYCDIR)/./lib2to3/pgen2/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./lib2to3/tests + mkdir -p $(PYDIST_PYCDIR)/./lib2to3/tests/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./lib2to3/tests/data + mkdir -p $(PYDIST_PYCDIR)/./lib2to3/tests/data/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./lib2to3/tests/data/fixers + mkdir -p $(PYDIST_PYCDIR)/./lib2to3/tests/data/fixers/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./lib2to3/tests/data/fixers/myfixes + mkdir -p $(PYDIST_PYCDIR)/./lib2to3/tests/data/fixers/myfixes/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./logging + mkdir -p $(PYDIST_PYCDIR)/./logging/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./msilib + mkdir -p $(PYDIST_PYCDIR)/./msilib/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./multiprocessing + mkdir -p $(PYDIST_PYCDIR)/./multiprocessing/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./multiprocessing/dummy + mkdir -p $(PYDIST_PYCDIR)/./multiprocessing/dummy/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./pydoc_data + mkdir -p $(PYDIST_PYCDIR)/./pydoc_data/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./site-packages + mkdir -p $(PYDIST_PYCDIR)/./site-packages/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./sqlite3 + mkdir -p $(PYDIST_PYCDIR)/./sqlite3/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./sqlite3/test + mkdir -p $(PYDIST_PYCDIR)/./sqlite3/test/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./tkinter + mkdir -p $(PYDIST_PYCDIR)/./tkinter/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./tkinter/test + mkdir -p $(PYDIST_PYCDIR)/./tkinter/test/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./tkinter/test/test_tkinter + mkdir -p $(PYDIST_PYCDIR)/./tkinter/test/test_tkinter/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./tkinter/test/test_ttk + mkdir -p $(PYDIST_PYCDIR)/./tkinter/test/test_ttk/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./turtledemo + mkdir -p $(PYDIST_PYCDIR)/./turtledemo/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./unittest + mkdir -p $(PYDIST_PYCDIR)/./unittest/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./unittest/test + mkdir -p $(PYDIST_PYCDIR)/./unittest/test/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./unittest/test/testmock + mkdir -p $(PYDIST_PYCDIR)/./unittest/test/testmock/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./urllib + mkdir -p $(PYDIST_PYCDIR)/./urllib/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./venv + mkdir -p $(PYDIST_PYCDIR)/./venv/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./venv/scripts + mkdir -p $(PYDIST_PYCDIR)/./venv/scripts/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./venv/scripts/common + mkdir -p $(PYDIST_PYCDIR)/./venv/scripts/common/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./venv/scripts/nt + mkdir -p $(PYDIST_PYCDIR)/./venv/scripts/nt/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./venv/scripts/posix + mkdir -p $(PYDIST_PYCDIR)/./venv/scripts/posix/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./wsgiref + mkdir -p $(PYDIST_PYCDIR)/./wsgiref/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./xml + mkdir -p $(PYDIST_PYCDIR)/./xml/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./xml/dom + mkdir -p $(PYDIST_PYCDIR)/./xml/dom/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./xml/etree + mkdir -p $(PYDIST_PYCDIR)/./xml/etree/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./xml/parsers + mkdir -p $(PYDIST_PYCDIR)/./xml/parsers/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./xml/sax + mkdir -p $(PYDIST_PYCDIR)/./xml/sax/./__pycache__ + mkdir -p $(PYDIST_PYCDIR)/./xmlrpc + mkdir -p $(PYDIST_PYCDIR)/./xmlrpc/./__pycache__ + touch pydist.tag + + +$(PYDIST_PYCDIR)/./%.py: $(SOURCE_DIR)/Lib/./%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/. \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./asyncio/%.py: $(SOURCE_DIR)/Lib/./asyncio/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./asyncio \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./collections/%.py: $(SOURCE_DIR)/Lib/./collections/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./collections \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./concurrent/%.py: $(SOURCE_DIR)/Lib/./concurrent/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./concurrent \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./concurrent/futures/%.py: $(SOURCE_DIR)/Lib/./concurrent/futures/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./concurrent/futures \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./ctypes/%.py: $(SOURCE_DIR)/Lib/./ctypes/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./ctypes \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./ctypes/macholib/%.py: $(SOURCE_DIR)/Lib/./ctypes/macholib/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./ctypes/macholib \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./ctypes/test/%.py: $(SOURCE_DIR)/Lib/./ctypes/test/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./ctypes/test \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./curses/%.py: $(SOURCE_DIR)/Lib/./curses/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./curses \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./dbm/%.py: $(SOURCE_DIR)/Lib/./dbm/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./dbm \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./distutils/%.py: $(SOURCE_DIR)/Lib/./distutils/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./distutils \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./distutils/command/%.py: $(SOURCE_DIR)/Lib/./distutils/command/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./distutils/command \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./distutils/tests/%.py: $(SOURCE_DIR)/Lib/./distutils/tests/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./distutils/tests \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./email/%.py: $(SOURCE_DIR)/Lib/./email/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./email \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./email/mime/%.py: $(SOURCE_DIR)/Lib/./email/mime/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./email/mime \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./encodings/%.py: $(SOURCE_DIR)/Lib/./encodings/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./encodings \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./ensurepip/%.py: $(SOURCE_DIR)/Lib/./ensurepip/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./ensurepip \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./ensurepip/_bundled/%.py: $(SOURCE_DIR)/Lib/./ensurepip/_bundled/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./ensurepip/_bundled \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./html/%.py: $(SOURCE_DIR)/Lib/./html/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./html \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./http/%.py: $(SOURCE_DIR)/Lib/./http/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./http \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./idlelib/%.py: $(SOURCE_DIR)/Lib/./idlelib/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./idlelib \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./idlelib/Icons/%.py: $(SOURCE_DIR)/Lib/./idlelib/Icons/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./idlelib/Icons \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./idlelib/idle_test/%.py: $(SOURCE_DIR)/Lib/./idlelib/idle_test/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./idlelib/idle_test \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./importlib/%.py: $(SOURCE_DIR)/Lib/./importlib/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./importlib \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./json/%.py: $(SOURCE_DIR)/Lib/./json/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./json \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./lib2to3/%.py: $(SOURCE_DIR)/Lib/./lib2to3/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./lib2to3 \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./lib2to3/fixes/%.py: $(SOURCE_DIR)/Lib/./lib2to3/fixes/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./lib2to3/fixes \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./lib2to3/pgen2/%.py: $(SOURCE_DIR)/Lib/./lib2to3/pgen2/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./lib2to3/pgen2 \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./lib2to3/tests/%.py: $(SOURCE_DIR)/Lib/./lib2to3/tests/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./lib2to3/tests \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./lib2to3/tests/data/%.py: $(SOURCE_DIR)/Lib/./lib2to3/tests/data/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./lib2to3/tests/data \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./lib2to3/tests/data/fixers/%.py: $(SOURCE_DIR)/Lib/./lib2to3/tests/data/fixers/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./lib2to3/tests/data/fixers \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./lib2to3/tests/data/fixers/myfixes/%.py: $(SOURCE_DIR)/Lib/./lib2to3/tests/data/fixers/myfixes/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./lib2to3/tests/data/fixers/myfixes \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./logging/%.py: $(SOURCE_DIR)/Lib/./logging/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./logging \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./msilib/%.py: $(SOURCE_DIR)/Lib/./msilib/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./msilib \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./multiprocessing/%.py: $(SOURCE_DIR)/Lib/./multiprocessing/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./multiprocessing \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./multiprocessing/dummy/%.py: $(SOURCE_DIR)/Lib/./multiprocessing/dummy/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./multiprocessing/dummy \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./pydoc_data/%.py: $(SOURCE_DIR)/Lib/./pydoc_data/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./pydoc_data \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./site-packages/%.py: $(SOURCE_DIR)/Lib/./site-packages/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./site-packages \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./sqlite3/%.py: $(SOURCE_DIR)/Lib/./sqlite3/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./sqlite3 \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./sqlite3/test/%.py: $(SOURCE_DIR)/Lib/./sqlite3/test/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./sqlite3/test \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./tkinter/%.py: $(SOURCE_DIR)/Lib/./tkinter/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./tkinter \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./tkinter/test/%.py: $(SOURCE_DIR)/Lib/./tkinter/test/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./tkinter/test \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./tkinter/test/test_tkinter/%.py: $(SOURCE_DIR)/Lib/./tkinter/test/test_tkinter/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./tkinter/test/test_tkinter \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./tkinter/test/test_ttk/%.py: $(SOURCE_DIR)/Lib/./tkinter/test/test_ttk/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./tkinter/test/test_ttk \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./turtledemo/%.py: $(SOURCE_DIR)/Lib/./turtledemo/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./turtledemo \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./unittest/%.py: $(SOURCE_DIR)/Lib/./unittest/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./unittest \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./unittest/test/%.py: $(SOURCE_DIR)/Lib/./unittest/test/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./unittest/test \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./unittest/test/testmock/%.py: $(SOURCE_DIR)/Lib/./unittest/test/testmock/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./unittest/test/testmock \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./urllib/%.py: $(SOURCE_DIR)/Lib/./urllib/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./urllib \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./venv/%.py: $(SOURCE_DIR)/Lib/./venv/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./venv \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./venv/scripts/%.py: $(SOURCE_DIR)/Lib/./venv/scripts/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./venv/scripts \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./venv/scripts/common/%.py: $(SOURCE_DIR)/Lib/./venv/scripts/common/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./venv/scripts/common \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./venv/scripts/nt/%.py: $(SOURCE_DIR)/Lib/./venv/scripts/nt/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./venv/scripts/nt \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./venv/scripts/posix/%.py: $(SOURCE_DIR)/Lib/./venv/scripts/posix/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./venv/scripts/posix \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./wsgiref/%.py: $(SOURCE_DIR)/Lib/./wsgiref/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./wsgiref \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./xml/%.py: $(SOURCE_DIR)/Lib/./xml/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./xml \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./xml/dom/%.py: $(SOURCE_DIR)/Lib/./xml/dom/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./xml/dom \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./xml/etree/%.py: $(SOURCE_DIR)/Lib/./xml/etree/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./xml/etree \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./xml/parsers/%.py: $(SOURCE_DIR)/Lib/./xml/parsers/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./xml/parsers \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./xml/sax/%.py: $(SOURCE_DIR)/Lib/./xml/sax/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./xml/sax \ + $(PYCOPY) $< + +$(PYDIST_PYCDIR)/./xmlrpc/%.py: $(SOURCE_DIR)/Lib/./xmlrpc/%.py pydist.tag + PYCOPY_PYTHON=$(PYCOPY_PYTHON) \ + PYCOPY_PREFIX=$(PYCOPY_PREFIX) \ + PYCOPY_DSTDIR=$(PYDIST_PYCDIR)/./xmlrpc \ + $(PYCOPY) $< + +PYDIST_PY_SRCS = \ + $(PYDIST_SYSCFG_SRCS) \ + $(PYDIST_SRCS) \ + $(PYDIST_ASYNCIO_SRCS) \ + $(PYDIST_COLLECTIONS_SRCS) \ + $(PYDIST_CONCURRENT_SRCS) \ + $(PYDIST_CONCURRENT_FUTURES_SRCS) \ + $(PYDIST_CTYPES_SRCS) \ + $(PYDIST_CTYPES_MACHOLIB_SRCS) \ + $(PYDIST_CTYPES_TEST_SRCS) \ + $(PYDIST_CURSES_SRCS) \ + $(PYDIST_DBM_SRCS) \ + $(PYDIST_DISTUTILS_SRCS) \ + $(PYDIST_DISTUTILS_COMMAND_SRCS) \ + $(PYDIST_DISTUTILS_TESTS_SRCS) \ + $(PYDIST_EMAIL_SRCS) \ + $(PYDIST_EMAIL_MIME_SRCS) \ + $(PYDIST_ENCODINGS_SRCS) \ + $(PYDIST_ENSUREPIP_SRCS) \ + $(PYDIST_HTML_SRCS) \ + $(PYDIST_HTTP_SRCS) \ + $(PYDIST_IDLELIB_SRCS) \ + $(PYDIST_IDLELIB_IDLE_TEST_SRCS) \ + $(PYDIST_IMPORTLIB_SRCS) \ + $(PYDIST_JSON_SRCS) \ + $(PYDIST_LIB2TO3_SRCS) \ + $(PYDIST_LIB2TO3_FIXES_SRCS) \ + $(PYDIST_LIB2TO3_PGEN2_SRCS) \ + $(PYDIST_LIB2TO3_TESTS_SRCS) \ + $(PYDIST_LIB2TO3_TESTS_DATA_SRCS) \ + $(PYDIST_LIB2TO3_TESTS_DATA_FIXERS_SRCS) \ + $(PYDIST_LIB2TO3_TESTS_DATA_FIXERS_MYFIXES_SRCS) \ + $(PYDIST_LOGGING_SRCS) \ + $(PYDIST_MSILIB_SRCS) \ + $(PYDIST_MULTIPROCESSING_SRCS) \ + $(PYDIST_MULTIPROCESSING_DUMMY_SRCS) \ + $(PYDIST_PYDOC_DATA_SRCS) \ + $(PYDIST_SQLITE3_SRCS) \ + $(PYDIST_SQLITE3_TEST_SRCS) \ + $(PYDIST_TKINTER_SRCS) \ + $(PYDIST_TKINTER_TEST_SRCS) \ + $(PYDIST_TKINTER_TEST_TEST_TKINTER_SRCS) \ + $(PYDIST_TKINTER_TEST_TEST_TTK_SRCS) \ + $(PYDIST_TURTLEDEMO_SRCS) \ + $(PYDIST_UNITTEST_SRCS) \ + $(PYDIST_UNITTEST_TEST_SRCS) \ + $(PYDIST_UNITTEST_TEST_TESTMOCK_SRCS) \ + $(PYDIST_URLLIB_SRCS) \ + $(PYDIST_VENV_SRCS) \ + $(PYDIST_WSGIREF_SRCS) \ + $(PYDIST_XML_SRCS) \ + $(PYDIST_XML_DOM_SRCS) \ + $(PYDIST_XML_ETREE_SRCS) \ + $(PYDIST_XML_PARSERS_SRCS) \ + $(PYDIST_XML_SAX_SRCS) \ + $(PYDIST_XMLRPC_SRCS) \ + + +pydist-py-srcs: $(PYDIST_PY_SRCS) + +pydist-py-srcs-clean: + rm -f $(PYDIST_PY_SRCS) + rm -f pydist.tag + +clean: pydist-py-srcs-clean + + + +pydist-install-tree: + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./asyncio + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./asyncio/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./collections + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./collections/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./concurrent + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./concurrent/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./concurrent/futures + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./concurrent/futures/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./ctypes + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./ctypes/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./ctypes/macholib + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./ctypes/macholib/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./ctypes/test + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./ctypes/test/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./curses + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./curses/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./dbm + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./dbm/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./distutils + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./distutils/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./distutils/command + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./distutils/command/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./distutils/tests + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./distutils/tests/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./email + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./email/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./email/mime + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./email/mime/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./encodings + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./encodings/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./ensurepip + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./ensurepip/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./ensurepip/_bundled + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./ensurepip/_bundled/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./html + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./html/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./http + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./http/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./idlelib + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./idlelib/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./idlelib/Icons + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./idlelib/Icons/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./idlelib/idle_test + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./idlelib/idle_test/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./importlib + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./importlib/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./json + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./json/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3 + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/fixes + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/fixes/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/pgen2 + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/pgen2/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/tests + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/tests/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/tests/data + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/tests/data/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/tests/data/fixers + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/tests/data/fixers/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/tests/data/fixers/myfixes + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/tests/data/fixers/myfixes/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./logging + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./logging/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./msilib + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./msilib/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./multiprocessing + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./multiprocessing/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./multiprocessing/dummy + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./multiprocessing/dummy/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./pydoc_data + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./pydoc_data/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./site-packages + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./site-packages/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./sqlite3 + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./sqlite3/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./sqlite3/test + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./sqlite3/test/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./tkinter + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./tkinter/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./tkinter/test + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./tkinter/test/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./tkinter/test/test_tkinter + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./tkinter/test/test_tkinter/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./tkinter/test/test_ttk + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./tkinter/test/test_ttk/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./turtledemo + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./turtledemo/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./unittest + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./unittest/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./unittest/test + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./unittest/test/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./unittest/test/testmock + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./unittest/test/testmock/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./urllib + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./urllib/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./venv + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./venv/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./venv/scripts + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./venv/scripts/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./venv/scripts/common + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./venv/scripts/common/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./venv/scripts/nt + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./venv/scripts/nt/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./venv/scripts/posix + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./venv/scripts/posix/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./wsgiref + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./wsgiref/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xml + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xml/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xml/dom + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xml/dom/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xml/etree + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xml/etree/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xml/parsers + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xml/parsers/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xml/sax + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xml/sax/./__pycache__ + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xmlrpc + mkdir -p $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xmlrpc/./__pycache__ + + +pydist-install-py: $(PYDIST_PY_SRCS) +pydist-install-py: pydist-install-tree +pydist-install-py: + cp -p $(PYDIST_SYSCFG_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE) + cp -p $(PYDIST_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/. + cp -p $(PYDIST_ASYNCIO_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./asyncio + cp -p $(PYDIST_COLLECTIONS_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./collections + cp -p $(PYDIST_CONCURRENT_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./concurrent + cp -p $(PYDIST_CONCURRENT_FUTURES_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./concurrent/futures + cp -p $(PYDIST_CTYPES_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./ctypes + cp -p $(PYDIST_CTYPES_MACHOLIB_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./ctypes/macholib + cp -p $(PYDIST_CTYPES_TEST_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./ctypes/test + cp -p $(PYDIST_CURSES_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./curses + cp -p $(PYDIST_DBM_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./dbm + cp -p $(PYDIST_DISTUTILS_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./distutils + cp -p $(PYDIST_DISTUTILS_COMMAND_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./distutils/command + cp -p $(PYDIST_DISTUTILS_TESTS_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./distutils/tests + cp -p $(PYDIST_EMAIL_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./email + cp -p $(PYDIST_EMAIL_MIME_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./email/mime + cp -p $(PYDIST_ENCODINGS_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./encodings + cp -p $(PYDIST_ENSUREPIP_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./ensurepip + cp -p $(PYDIST_HTML_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./html + cp -p $(PYDIST_HTTP_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./http + cp -p $(PYDIST_IDLELIB_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./idlelib + cp -p $(PYDIST_IDLELIB_IDLE_TEST_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./idlelib/idle_test + cp -p $(PYDIST_IMPORTLIB_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./importlib + cp -p $(PYDIST_JSON_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./json + cp -p $(PYDIST_LIB2TO3_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3 + cp -p $(PYDIST_LIB2TO3_FIXES_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/fixes + cp -p $(PYDIST_LIB2TO3_PGEN2_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/pgen2 + cp -p $(PYDIST_LIB2TO3_TESTS_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/tests + cp -p $(PYDIST_LIB2TO3_TESTS_DATA_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/tests/data + cp -p $(PYDIST_LIB2TO3_TESTS_DATA_FIXERS_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/tests/data/fixers + cp -p $(PYDIST_LIB2TO3_TESTS_DATA_FIXERS_MYFIXES_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/tests/data/fixers/myfixes + cp -p $(PYDIST_LOGGING_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./logging + cp -p $(PYDIST_MSILIB_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./msilib + cp -p $(PYDIST_MULTIPROCESSING_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./multiprocessing + cp -p $(PYDIST_MULTIPROCESSING_DUMMY_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./multiprocessing/dummy + cp -p $(PYDIST_PYDOC_DATA_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./pydoc_data + cp -p $(PYDIST_SQLITE3_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./sqlite3 + cp -p $(PYDIST_SQLITE3_TEST_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./sqlite3/test + cp -p $(PYDIST_TKINTER_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./tkinter + cp -p $(PYDIST_TKINTER_TEST_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./tkinter/test + cp -p $(PYDIST_TKINTER_TEST_TEST_TKINTER_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./tkinter/test/test_tkinter + cp -p $(PYDIST_TKINTER_TEST_TEST_TTK_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./tkinter/test/test_ttk + cp -p $(PYDIST_TURTLEDEMO_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./turtledemo + cp -p $(PYDIST_UNITTEST_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./unittest + cp -p $(PYDIST_UNITTEST_TEST_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./unittest/test + cp -p $(PYDIST_UNITTEST_TEST_TESTMOCK_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./unittest/test/testmock + cp -p $(PYDIST_URLLIB_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./urllib + cp -p $(PYDIST_VENV_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./venv + cp -p $(PYDIST_WSGIREF_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./wsgiref + cp -p $(PYDIST_XML_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xml + cp -p $(PYDIST_XML_DOM_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xml/dom + cp -p $(PYDIST_XML_ETREE_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xml/etree + cp -p $(PYDIST_XML_PARSERS_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xml/parsers + cp -p $(PYDIST_XML_SAX_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xml/sax + cp -p $(PYDIST_XMLRPC_SRCS) $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xmlrpc + + +pydist-install-pyc: $(PYCGEN_OBJS) +pydist-install-pyc: pydist-install-tree +pydist-install-pyc: + cp -p $(PYDIST_SYSCFG_SRCS:$(PYDIST_PYCDIR)/./%.py=$(PYDIST_PYCDIR)/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./__pycache + cp -p $(PYDIST_SRCS:$(PYDIST_PYCDIR)/./%.py=$(PYDIST_PYCDIR)/././__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/././__pycache__ + cp -p $(PYDIST_ASYNCIO_SRCS:$(PYDIST_PYCDIR)/./asyncio/%.py=$(PYDIST_PYCDIR)/./asyncio/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./asyncio/./__pycache__ + cp -p $(PYDIST_COLLECTIONS_SRCS:$(PYDIST_PYCDIR)/./collections/%.py=$(PYDIST_PYCDIR)/./collections/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./collections/./__pycache__ + cp -p $(PYDIST_CONCURRENT_SRCS:$(PYDIST_PYCDIR)/./concurrent/%.py=$(PYDIST_PYCDIR)/./concurrent/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./concurrent/./__pycache__ + cp -p $(PYDIST_CONCURRENT_FUTURES_SRCS:$(PYDIST_PYCDIR)/./concurrent/futures/%.py=$(PYDIST_PYCDIR)/./concurrent/futures/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./concurrent/futures/./__pycache__ + cp -p $(PYDIST_CTYPES_SRCS:$(PYDIST_PYCDIR)/./ctypes/%.py=$(PYDIST_PYCDIR)/./ctypes/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./ctypes/./__pycache__ + cp -p $(PYDIST_CTYPES_MACHOLIB_SRCS:$(PYDIST_PYCDIR)/./ctypes/macholib/%.py=$(PYDIST_PYCDIR)/./ctypes/macholib/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./ctypes/macholib/./__pycache__ + cp -p $(PYDIST_CTYPES_TEST_SRCS:$(PYDIST_PYCDIR)/./ctypes/test/%.py=$(PYDIST_PYCDIR)/./ctypes/test/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./ctypes/test/./__pycache__ + cp -p $(PYDIST_CURSES_SRCS:$(PYDIST_PYCDIR)/./curses/%.py=$(PYDIST_PYCDIR)/./curses/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./curses/./__pycache__ + cp -p $(PYDIST_DBM_SRCS:$(PYDIST_PYCDIR)/./dbm/%.py=$(PYDIST_PYCDIR)/./dbm/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./dbm/./__pycache__ + cp -p $(PYDIST_DISTUTILS_SRCS:$(PYDIST_PYCDIR)/./distutils/%.py=$(PYDIST_PYCDIR)/./distutils/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./distutils/./__pycache__ + cp -p $(PYDIST_DISTUTILS_COMMAND_SRCS:$(PYDIST_PYCDIR)/./distutils/command/%.py=$(PYDIST_PYCDIR)/./distutils/command/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./distutils/command/./__pycache__ + cp -p $(PYDIST_DISTUTILS_TESTS_SRCS:$(PYDIST_PYCDIR)/./distutils/tests/%.py=$(PYDIST_PYCDIR)/./distutils/tests/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./distutils/tests/./__pycache__ + cp -p $(PYDIST_EMAIL_SRCS:$(PYDIST_PYCDIR)/./email/%.py=$(PYDIST_PYCDIR)/./email/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./email/./__pycache__ + cp -p $(PYDIST_EMAIL_MIME_SRCS:$(PYDIST_PYCDIR)/./email/mime/%.py=$(PYDIST_PYCDIR)/./email/mime/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./email/mime/./__pycache__ + cp -p $(PYDIST_ENCODINGS_SRCS:$(PYDIST_PYCDIR)/./encodings/%.py=$(PYDIST_PYCDIR)/./encodings/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./encodings/./__pycache__ + cp -p $(PYDIST_ENSUREPIP_SRCS:$(PYDIST_PYCDIR)/./ensurepip/%.py=$(PYDIST_PYCDIR)/./ensurepip/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./ensurepip/./__pycache__ + cp -p $(PYDIST_HTML_SRCS:$(PYDIST_PYCDIR)/./html/%.py=$(PYDIST_PYCDIR)/./html/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./html/./__pycache__ + cp -p $(PYDIST_HTTP_SRCS:$(PYDIST_PYCDIR)/./http/%.py=$(PYDIST_PYCDIR)/./http/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./http/./__pycache__ + cp -p $(PYDIST_IDLELIB_SRCS:$(PYDIST_PYCDIR)/./idlelib/%.py=$(PYDIST_PYCDIR)/./idlelib/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./idlelib/./__pycache__ + cp -p $(PYDIST_IDLELIB_IDLE_TEST_SRCS:$(PYDIST_PYCDIR)/./idlelib/idle_test/%.py=$(PYDIST_PYCDIR)/./idlelib/idle_test/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./idlelib/idle_test/./__pycache__ + cp -p $(PYDIST_IMPORTLIB_SRCS:$(PYDIST_PYCDIR)/./importlib/%.py=$(PYDIST_PYCDIR)/./importlib/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./importlib/./__pycache__ + cp -p $(PYDIST_JSON_SRCS:$(PYDIST_PYCDIR)/./json/%.py=$(PYDIST_PYCDIR)/./json/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./json/./__pycache__ + cp -p $(PYDIST_LIB2TO3_SRCS:$(PYDIST_PYCDIR)/./lib2to3/%.py=$(PYDIST_PYCDIR)/./lib2to3/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/./__pycache__ + cp -p $(PYDIST_LIB2TO3_FIXES_SRCS:$(PYDIST_PYCDIR)/./lib2to3/fixes/%.py=$(PYDIST_PYCDIR)/./lib2to3/fixes/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/fixes/./__pycache__ + cp -p $(PYDIST_LIB2TO3_PGEN2_SRCS:$(PYDIST_PYCDIR)/./lib2to3/pgen2/%.py=$(PYDIST_PYCDIR)/./lib2to3/pgen2/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/pgen2/./__pycache__ + cp -p $(PYDIST_LIB2TO3_TESTS_SRCS:$(PYDIST_PYCDIR)/./lib2to3/tests/%.py=$(PYDIST_PYCDIR)/./lib2to3/tests/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./lib2to3/tests/./__pycache__ + cp -p $(PYDIST_LOGGING_SRCS:$(PYDIST_PYCDIR)/./logging/%.py=$(PYDIST_PYCDIR)/./logging/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./logging/./__pycache__ + cp -p $(PYDIST_MSILIB_SRCS:$(PYDIST_PYCDIR)/./msilib/%.py=$(PYDIST_PYCDIR)/./msilib/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./msilib/./__pycache__ + cp -p $(PYDIST_MULTIPROCESSING_SRCS:$(PYDIST_PYCDIR)/./multiprocessing/%.py=$(PYDIST_PYCDIR)/./multiprocessing/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./multiprocessing/./__pycache__ + cp -p $(PYDIST_MULTIPROCESSING_DUMMY_SRCS:$(PYDIST_PYCDIR)/./multiprocessing/dummy/%.py=$(PYDIST_PYCDIR)/./multiprocessing/dummy/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./multiprocessing/dummy/./__pycache__ + cp -p $(PYDIST_PYDOC_DATA_SRCS:$(PYDIST_PYCDIR)/./pydoc_data/%.py=$(PYDIST_PYCDIR)/./pydoc_data/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./pydoc_data/./__pycache__ + cp -p $(PYDIST_SQLITE3_SRCS:$(PYDIST_PYCDIR)/./sqlite3/%.py=$(PYDIST_PYCDIR)/./sqlite3/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./sqlite3/./__pycache__ + cp -p $(PYDIST_SQLITE3_TEST_SRCS:$(PYDIST_PYCDIR)/./sqlite3/test/%.py=$(PYDIST_PYCDIR)/./sqlite3/test/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./sqlite3/test/./__pycache__ + cp -p $(PYDIST_TKINTER_SRCS:$(PYDIST_PYCDIR)/./tkinter/%.py=$(PYDIST_PYCDIR)/./tkinter/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./tkinter/./__pycache__ + cp -p $(PYDIST_TKINTER_TEST_SRCS:$(PYDIST_PYCDIR)/./tkinter/test/%.py=$(PYDIST_PYCDIR)/./tkinter/test/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./tkinter/test/./__pycache__ + cp -p $(PYDIST_TKINTER_TEST_TEST_TKINTER_SRCS:$(PYDIST_PYCDIR)/./tkinter/test/test_tkinter/%.py=$(PYDIST_PYCDIR)/./tkinter/test/test_tkinter/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./tkinter/test/test_tkinter/./__pycache__ + cp -p $(PYDIST_TKINTER_TEST_TEST_TTK_SRCS:$(PYDIST_PYCDIR)/./tkinter/test/test_ttk/%.py=$(PYDIST_PYCDIR)/./tkinter/test/test_ttk/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./tkinter/test/test_ttk/./__pycache__ + cp -p $(PYDIST_TURTLEDEMO_SRCS:$(PYDIST_PYCDIR)/./turtledemo/%.py=$(PYDIST_PYCDIR)/./turtledemo/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./turtledemo/./__pycache__ + cp -p $(PYDIST_UNITTEST_SRCS:$(PYDIST_PYCDIR)/./unittest/%.py=$(PYDIST_PYCDIR)/./unittest/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./unittest/./__pycache__ + cp -p $(PYDIST_UNITTEST_TEST_SRCS:$(PYDIST_PYCDIR)/./unittest/test/%.py=$(PYDIST_PYCDIR)/./unittest/test/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./unittest/test/./__pycache__ + cp -p $(PYDIST_UNITTEST_TEST_TESTMOCK_SRCS:$(PYDIST_PYCDIR)/./unittest/test/testmock/%.py=$(PYDIST_PYCDIR)/./unittest/test/testmock/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./unittest/test/testmock/./__pycache__ + cp -p $(PYDIST_URLLIB_SRCS:$(PYDIST_PYCDIR)/./urllib/%.py=$(PYDIST_PYCDIR)/./urllib/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./urllib/./__pycache__ + cp -p $(PYDIST_VENV_SRCS:$(PYDIST_PYCDIR)/./venv/%.py=$(PYDIST_PYCDIR)/./venv/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./venv/./__pycache__ + cp -p $(PYDIST_WSGIREF_SRCS:$(PYDIST_PYCDIR)/./wsgiref/%.py=$(PYDIST_PYCDIR)/./wsgiref/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./wsgiref/./__pycache__ + cp -p $(PYDIST_XML_SRCS:$(PYDIST_PYCDIR)/./xml/%.py=$(PYDIST_PYCDIR)/./xml/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xml/./__pycache__ + cp -p $(PYDIST_XML_DOM_SRCS:$(PYDIST_PYCDIR)/./xml/dom/%.py=$(PYDIST_PYCDIR)/./xml/dom/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xml/dom/./__pycache__ + cp -p $(PYDIST_XML_ETREE_SRCS:$(PYDIST_PYCDIR)/./xml/etree/%.py=$(PYDIST_PYCDIR)/./xml/etree/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xml/etree/./__pycache__ + cp -p $(PYDIST_XML_PARSERS_SRCS:$(PYDIST_PYCDIR)/./xml/parsers/%.py=$(PYDIST_PYCDIR)/./xml/parsers/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xml/parsers/./__pycache__ + cp -p $(PYDIST_XML_SAX_SRCS:$(PYDIST_PYCDIR)/./xml/sax/%.py=$(PYDIST_PYCDIR)/./xml/sax/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xml/sax/./__pycache__ + cp -p $(PYDIST_XMLRPC_SRCS:$(PYDIST_PYCDIR)/./xmlrpc/%.py=$(PYDIST_PYCDIR)/./xmlrpc/./__pycache__/%.$(PYCABI).pyc) \ + $(DESTDIR)/$(LIBDIR)/$(PACKAGE)/./xmlrpc/./__pycache__ + + +install-app: pydist-install-py +install-app: pydist-install-pyc + + +.PHONY: pydist-py-srcs +.PHONY: pydist-py-srcs-clean + +.PHONY: pydist-install-tree +.PHONY: pydist-install-py +.PHONY: pydist-install-pyc diff --git a/project/variants/3.7.1/pyexts.h b/project/variants/3.7.1/pyexts.h new file mode 100644 index 0000000..40b7aa8 --- /dev/null +++ b/project/variants/3.7.1/pyexts.h @@ -0,0 +1,203 @@ +/*******************************************************************/ +/* sbpython3: external configurable build project for Python-3.x. */ +/* Copyright (C) 2018 Z. Gilboa */ +/* Released under the Standard MIT License; see COPYING.SBPYTHON3.*/ +/*******************************************************************/ + +/*******************************************************************/ +/* pyexts.c: a simple development-time utility for generating */ +/* make rules for python's extension modules. The utility is */ +/* included with the sbpython3 project for reference only. */ +/* */ +/* cc -std=c99 -D_XOPEN_SOURCE=700 pyexts.c */ +/*******************************************************************/ + +#define PYEXT_LIST(...) (const char *[]){__VA_ARGS__,0} +#define PYEXT_SIMPLE(name,...) {name,PYEXT_LIST(__VA_ARGS__),0,0,0,0} + +#define PYEXT_COMMON(name,hvar,lvar,...) {name,PYEXT_LIST(__VA_ARGS__), \ + PYEXT_LIST(hvar),0, \ + PYEXT_LIST(lvar),0} + +#define PYEXT_ALTSTD(name,cstd,...) {name,PYEXT_LIST(__VA_ARGS__), \ + 0,PYEXT_LIST(cstd),0,0} + +struct pyext_meta { + const char * name; + const char ** srcs; + const char ** hdrs; + const char ** cstd; + const char ** vars; + const char ** deps; +}; + +static const struct pyext_meta pyexts[] = { + PYEXT_SIMPLE("_multibytecodec", "cjkcodecs/multibytecodec"), + PYEXT_SIMPLE("_codecs_cn", "cjkcodecs/_codecs_cn"), + PYEXT_SIMPLE("_codecs_hk", "cjkcodecs/_codecs_hk"), + PYEXT_SIMPLE("_codecs_jp", "cjkcodecs/_codecs_jp"), + PYEXT_SIMPLE("_codecs_kr", "cjkcodecs/_codecs_kr"), + PYEXT_SIMPLE("_codecs_tw", "cjkcodecs/_codecs_tw"), + PYEXT_SIMPLE("_codecs_iso2022", "cjkcodecs/_codecs_iso2022"), + + PYEXT_SIMPLE("_asyncio", "_asynciomodule"), + PYEXT_SIMPLE("_bisect", "_bisectmodule"), + PYEXT_SIMPLE("_contextvars", "_contextvarsmodule"), + PYEXT_SIMPLE("_crypt", "_cryptmodule"), + PYEXT_SIMPLE("_csv", "_csv"), + PYEXT_SIMPLE("_ctypes_test", "_ctypes/_ctypes_test"), + PYEXT_SIMPLE("_datetime", "_datetimemodule"), + PYEXT_SIMPLE("_elementtree", "_elementtree"), + PYEXT_SIMPLE("_heapq", "_heapqmodule"), + PYEXT_SIMPLE("_json", "_json"), + PYEXT_SIMPLE("_md5", "md5module"), + PYEXT_SIMPLE("_opcode", "_opcode"), + PYEXT_SIMPLE("_pickle", "_pickle"), + PYEXT_SIMPLE("_posixsubprocess", "_posixsubprocess"), + PYEXT_SIMPLE("_queue", "_queuemodule"), + PYEXT_SIMPLE("_random", "_randommodule"), + PYEXT_SIMPLE("_sha1", "sha1module"), + PYEXT_SIMPLE("_sha256", "sha256module"), + PYEXT_SIMPLE("_sha3", "_sha3/sha3module"), + PYEXT_SIMPLE("_sha512", "sha512module"), + PYEXT_SIMPLE("_socket", "socketmodule"), + PYEXT_SIMPLE("_struct", "_struct"), + PYEXT_SIMPLE("_testbuffer", "_testbuffer"), + PYEXT_SIMPLE("_testcapi", "_testcapimodule"), + PYEXT_SIMPLE("_testimportmultiple", "_testimportmultiple"), + PYEXT_SIMPLE("_testmultiphase", "_testmultiphase"), + + + + PYEXT_SIMPLE("array", "arraymodule"), + PYEXT_SIMPLE("audioop", "audioop"), + PYEXT_SIMPLE("fcntl", "fcntlmodule"), + PYEXT_SIMPLE("grp", "grpmodule"), + PYEXT_SIMPLE("mmap", "mmapmodule"), + PYEXT_SIMPLE("ossaudiodev", "ossaudiodev"), + PYEXT_SIMPLE("parser", "parsermodule"), + PYEXT_SIMPLE("resource", "resource"), + PYEXT_SIMPLE("select", "selectmodule"), + PYEXT_SIMPLE("spwd", "spwdmodule"), + PYEXT_SIMPLE("syslog", "syslogmodule"), + PYEXT_SIMPLE("termios", "termios"), + PYEXT_SIMPLE("unicodedata", "unicodedata"), + PYEXT_SIMPLE("xxlimited", "xxlimited"), + + PYEXT_SIMPLE("_blake2", + "_blake2/blake2module", + "_blake2/blake2b_impl", + "_blake2/blake2s_impl"), + + PYEXT_SIMPLE("_lsprof", + "_lsprof", + "rotatingtree"), + + PYEXT_SIMPLE("_multiprocessing", + "_multiprocessing/multiprocessing", + "_multiprocessing/semaphore"), + + PYEXT_SIMPLE("_xxtestfuzz", + "_xxtestfuzz/_xxtestfuzz", + "_xxtestfuzz/fuzzer"), + + PYEXT_SIMPLE("cmath", + "cmathmodule", + "_math"), + + PYEXT_SIMPLE("math", + "mathmodule", + "_math"), + + PYEXT_COMMON("_bz2",0,"-lbz2", + "_bz2module"), + + PYEXT_COMMON("_ctypes",0,"-lffi", + "_ctypes/_ctypes", + "_ctypes/callbacks", + "_ctypes/callproc", + "_ctypes/stgdict", + "_ctypes/cfield"), + + PYEXT_COMMON("_curses", + "$(CFLAGS_NCURSES)", + "$(LDFLAGS_NCURSES)", + "_cursesmodule"), + + PYEXT_COMMON("_curses_panel", + "$(CFLAGS_NCURSES)", + "$(LDFLAGS_NCURSES)", + "_curses_panel"), + + PYEXT_COMMON("_decimal", + "-I$(SOURCE_DIR)/Modules/_decimal/libmpdec -DUNIVERSAL", + 0, + "_decimal/_decimal", + "_decimal/libmpdec/basearith", + "_decimal/libmpdec/constants", + "_decimal/libmpdec/context", + "_decimal/libmpdec/convolute", + "_decimal/libmpdec/crt", + "_decimal/libmpdec/difradix2", + "_decimal/libmpdec/fnt", + "_decimal/libmpdec/fourstep", + "_decimal/libmpdec/io", + "_decimal/libmpdec/memory", + "_decimal/libmpdec/mpdecimal", + "_decimal/libmpdec/numbertheory", + "_decimal/libmpdec/sixstep", + "_decimal/libmpdec/transpose"), + + PYEXT_COMMON("_dbm", + "$(CFLAGS_DBM)", + "$(LDFLAGS_DBM)", + "_dbmmodule"), + + PYEXT_COMMON("_gdbm",0,"-lgdbm", + "_gdbmmodule"), + + PYEXT_COMMON("_hashlib",0,"-lssl -lcrypto", + "_hashopenssl"), + + PYEXT_COMMON("_lzma",0,"-llzma", + "_lzmamodule"), + + PYEXT_COMMON("_sqlite3", + "$(CFLAGS_SQLITE)", + "$(LDFLAGS_SQLITE)", + "_sqlite/cache", + "_sqlite/connection", + "_sqlite/cursor", + "_sqlite/microprotocols", + "_sqlite/module", + "_sqlite/prepare_protocol", + "_sqlite/row", + "_sqlite/statement", + "_sqlite/util"), + + PYEXT_COMMON("_ssl",0,"-lssl -lcrypto", + "_ssl"), + + PYEXT_COMMON("_tkinter", + "$(CFLAGS_TCLTK)", + "$(LDFLAGS_TCLTK)", + "_tkinter", + "tkappinit"), + + PYEXT_COMMON("_uuid",0,"-luuid", + "_uuidmodule"), + + PYEXT_COMMON("binascii",0,"-lz", + "binascii"), + + PYEXT_COMMON("pyexpat",0,"-lexpat", + "pyexpat"), + + PYEXT_COMMON("readline",0,"-lreadline", + "readline"), + + PYEXT_COMMON("zlib",0,"-lz", + "zlibmodule"), + + {0,0,0,0,0,0}, +}; diff --git a/project/variants/3.7.1/pyexts.mk b/project/variants/3.7.1/pyexts.mk new file mode 100644 index 0000000..542473b --- /dev/null +++ b/project/variants/3.7.1/pyexts.mk @@ -0,0 +1,2039 @@ +# _multibytecodec +PYEXT_MULTIBYTECODEC_SRCS += pyext/obj/cjkcodecs/multibytecodec.c + +PYEXT_MULTIBYTECODEC_LOBJS = $(PYEXT_MULTIBYTECODEC_SRCS:.c=.lo) +PYEXT_MULTIBYTECODEC_OBJS = $(PYEXT_MULTIBYTECODEC_SRCS:.c=.o) + +PYEXT_MULTIBYTECODEC_SHARED = pyext/_multibytecodec$(PYTHON_SOEXT) +PYEXT_MULTIBYTECODEC_STATIC = pyext/_multibytecodec$(OS_ARCHIVE_EXT) + +$(PYEXT_MULTIBYTECODEC_SHARED): $(PYEXT_MULTIBYTECODEC_LOBJS) +$(PYEXT_MULTIBYTECODEC_STATIC): $(PYEXT_MULTIBYTECODEC_OBJS) + +pyext-multibytecodec-shared: $(PYEXT_MULTIBYTECODEC_SHARED) +pyext-multibytecodec-static: $(PYEXT_MULTIBYTECODEC_STATIC) + +pyext-multibytecodec-clean: + rm -f $(PYEXT_MULTIBYTECODEC_LOBJS) + rm -f $(PYEXT_MULTIBYTECODEC_OBJS) + rm -f $(PYEXT_MULTIBYTECODEC_SHARED) + rm -f $(PYEXT_MULTIBYTECODEC_STATIC) + +clean: pyext-multibytecodec-clean + +.PHONY: pyext-multibytecodec-shared +.PHONY: pyext-multibytecodec-static +.PHONY: pyext-multibytecodec-clean + + +# _codecs_cn +PYEXT_CODECS_CN_SRCS += pyext/obj/cjkcodecs/_codecs_cn.c + +PYEXT_CODECS_CN_LOBJS = $(PYEXT_CODECS_CN_SRCS:.c=.lo) +PYEXT_CODECS_CN_OBJS = $(PYEXT_CODECS_CN_SRCS:.c=.o) + +PYEXT_CODECS_CN_SHARED = pyext/_codecs_cn$(PYTHON_SOEXT) +PYEXT_CODECS_CN_STATIC = pyext/_codecs_cn$(OS_ARCHIVE_EXT) + +$(PYEXT_CODECS_CN_SHARED): $(PYEXT_CODECS_CN_LOBJS) +$(PYEXT_CODECS_CN_STATIC): $(PYEXT_CODECS_CN_OBJS) + +pyext-codecs_cn-shared: $(PYEXT_CODECS_CN_SHARED) +pyext-codecs_cn-static: $(PYEXT_CODECS_CN_STATIC) + +pyext-codecs_cn-clean: + rm -f $(PYEXT_CODECS_CN_LOBJS) + rm -f $(PYEXT_CODECS_CN_OBJS) + rm -f $(PYEXT_CODECS_CN_SHARED) + rm -f $(PYEXT_CODECS_CN_STATIC) + +clean: pyext-codecs_cn-clean + +.PHONY: pyext-codecs_cn-shared +.PHONY: pyext-codecs_cn-static +.PHONY: pyext-codecs_cn-clean + + +# _codecs_hk +PYEXT_CODECS_HK_SRCS += pyext/obj/cjkcodecs/_codecs_hk.c + +PYEXT_CODECS_HK_LOBJS = $(PYEXT_CODECS_HK_SRCS:.c=.lo) +PYEXT_CODECS_HK_OBJS = $(PYEXT_CODECS_HK_SRCS:.c=.o) + +PYEXT_CODECS_HK_SHARED = pyext/_codecs_hk$(PYTHON_SOEXT) +PYEXT_CODECS_HK_STATIC = pyext/_codecs_hk$(OS_ARCHIVE_EXT) + +$(PYEXT_CODECS_HK_SHARED): $(PYEXT_CODECS_HK_LOBJS) +$(PYEXT_CODECS_HK_STATIC): $(PYEXT_CODECS_HK_OBJS) + +pyext-codecs_hk-shared: $(PYEXT_CODECS_HK_SHARED) +pyext-codecs_hk-static: $(PYEXT_CODECS_HK_STATIC) + +pyext-codecs_hk-clean: + rm -f $(PYEXT_CODECS_HK_LOBJS) + rm -f $(PYEXT_CODECS_HK_OBJS) + rm -f $(PYEXT_CODECS_HK_SHARED) + rm -f $(PYEXT_CODECS_HK_STATIC) + +clean: pyext-codecs_hk-clean + +.PHONY: pyext-codecs_hk-shared +.PHONY: pyext-codecs_hk-static +.PHONY: pyext-codecs_hk-clean + + +# _codecs_jp +PYEXT_CODECS_JP_SRCS += pyext/obj/cjkcodecs/_codecs_jp.c + +PYEXT_CODECS_JP_LOBJS = $(PYEXT_CODECS_JP_SRCS:.c=.lo) +PYEXT_CODECS_JP_OBJS = $(PYEXT_CODECS_JP_SRCS:.c=.o) + +PYEXT_CODECS_JP_SHARED = pyext/_codecs_jp$(PYTHON_SOEXT) +PYEXT_CODECS_JP_STATIC = pyext/_codecs_jp$(OS_ARCHIVE_EXT) + +$(PYEXT_CODECS_JP_SHARED): $(PYEXT_CODECS_JP_LOBJS) +$(PYEXT_CODECS_JP_STATIC): $(PYEXT_CODECS_JP_OBJS) + +pyext-codecs_jp-shared: $(PYEXT_CODECS_JP_SHARED) +pyext-codecs_jp-static: $(PYEXT_CODECS_JP_STATIC) + +pyext-codecs_jp-clean: + rm -f $(PYEXT_CODECS_JP_LOBJS) + rm -f $(PYEXT_CODECS_JP_OBJS) + rm -f $(PYEXT_CODECS_JP_SHARED) + rm -f $(PYEXT_CODECS_JP_STATIC) + +clean: pyext-codecs_jp-clean + +.PHONY: pyext-codecs_jp-shared +.PHONY: pyext-codecs_jp-static +.PHONY: pyext-codecs_jp-clean + + +# _codecs_kr +PYEXT_CODECS_KR_SRCS += pyext/obj/cjkcodecs/_codecs_kr.c + +PYEXT_CODECS_KR_LOBJS = $(PYEXT_CODECS_KR_SRCS:.c=.lo) +PYEXT_CODECS_KR_OBJS = $(PYEXT_CODECS_KR_SRCS:.c=.o) + +PYEXT_CODECS_KR_SHARED = pyext/_codecs_kr$(PYTHON_SOEXT) +PYEXT_CODECS_KR_STATIC = pyext/_codecs_kr$(OS_ARCHIVE_EXT) + +$(PYEXT_CODECS_KR_SHARED): $(PYEXT_CODECS_KR_LOBJS) +$(PYEXT_CODECS_KR_STATIC): $(PYEXT_CODECS_KR_OBJS) + +pyext-codecs_kr-shared: $(PYEXT_CODECS_KR_SHARED) +pyext-codecs_kr-static: $(PYEXT_CODECS_KR_STATIC) + +pyext-codecs_kr-clean: + rm -f $(PYEXT_CODECS_KR_LOBJS) + rm -f $(PYEXT_CODECS_KR_OBJS) + rm -f $(PYEXT_CODECS_KR_SHARED) + rm -f $(PYEXT_CODECS_KR_STATIC) + +clean: pyext-codecs_kr-clean + +.PHONY: pyext-codecs_kr-shared +.PHONY: pyext-codecs_kr-static +.PHONY: pyext-codecs_kr-clean + + +# _codecs_tw +PYEXT_CODECS_TW_SRCS += pyext/obj/cjkcodecs/_codecs_tw.c + +PYEXT_CODECS_TW_LOBJS = $(PYEXT_CODECS_TW_SRCS:.c=.lo) +PYEXT_CODECS_TW_OBJS = $(PYEXT_CODECS_TW_SRCS:.c=.o) + +PYEXT_CODECS_TW_SHARED = pyext/_codecs_tw$(PYTHON_SOEXT) +PYEXT_CODECS_TW_STATIC = pyext/_codecs_tw$(OS_ARCHIVE_EXT) + +$(PYEXT_CODECS_TW_SHARED): $(PYEXT_CODECS_TW_LOBJS) +$(PYEXT_CODECS_TW_STATIC): $(PYEXT_CODECS_TW_OBJS) + +pyext-codecs_tw-shared: $(PYEXT_CODECS_TW_SHARED) +pyext-codecs_tw-static: $(PYEXT_CODECS_TW_STATIC) + +pyext-codecs_tw-clean: + rm -f $(PYEXT_CODECS_TW_LOBJS) + rm -f $(PYEXT_CODECS_TW_OBJS) + rm -f $(PYEXT_CODECS_TW_SHARED) + rm -f $(PYEXT_CODECS_TW_STATIC) + +clean: pyext-codecs_tw-clean + +.PHONY: pyext-codecs_tw-shared +.PHONY: pyext-codecs_tw-static +.PHONY: pyext-codecs_tw-clean + + +# _codecs_iso2022 +PYEXT_CODECS_ISO2022_SRCS += pyext/obj/cjkcodecs/_codecs_iso2022.c + +PYEXT_CODECS_ISO2022_LOBJS = $(PYEXT_CODECS_ISO2022_SRCS:.c=.lo) +PYEXT_CODECS_ISO2022_OBJS = $(PYEXT_CODECS_ISO2022_SRCS:.c=.o) + +PYEXT_CODECS_ISO2022_SHARED = pyext/_codecs_iso2022$(PYTHON_SOEXT) +PYEXT_CODECS_ISO2022_STATIC = pyext/_codecs_iso2022$(OS_ARCHIVE_EXT) + +$(PYEXT_CODECS_ISO2022_SHARED): $(PYEXT_CODECS_ISO2022_LOBJS) +$(PYEXT_CODECS_ISO2022_STATIC): $(PYEXT_CODECS_ISO2022_OBJS) + +pyext-codecs_iso2022-shared: $(PYEXT_CODECS_ISO2022_SHARED) +pyext-codecs_iso2022-static: $(PYEXT_CODECS_ISO2022_STATIC) + +pyext-codecs_iso2022-clean: + rm -f $(PYEXT_CODECS_ISO2022_LOBJS) + rm -f $(PYEXT_CODECS_ISO2022_OBJS) + rm -f $(PYEXT_CODECS_ISO2022_SHARED) + rm -f $(PYEXT_CODECS_ISO2022_STATIC) + +clean: pyext-codecs_iso2022-clean + +.PHONY: pyext-codecs_iso2022-shared +.PHONY: pyext-codecs_iso2022-static +.PHONY: pyext-codecs_iso2022-clean + + +# _asyncio +PYEXT_ASYNCIO_SRCS += pyext/obj/_asynciomodule.c + +PYEXT_ASYNCIO_LOBJS = $(PYEXT_ASYNCIO_SRCS:.c=.lo) +PYEXT_ASYNCIO_OBJS = $(PYEXT_ASYNCIO_SRCS:.c=.o) + +PYEXT_ASYNCIO_SHARED = pyext/_asyncio$(PYTHON_SOEXT) +PYEXT_ASYNCIO_STATIC = pyext/_asyncio$(OS_ARCHIVE_EXT) + +$(PYEXT_ASYNCIO_SHARED): $(PYEXT_ASYNCIO_LOBJS) +$(PYEXT_ASYNCIO_STATIC): $(PYEXT_ASYNCIO_OBJS) + +pyext-asyncio-shared: $(PYEXT_ASYNCIO_SHARED) +pyext-asyncio-static: $(PYEXT_ASYNCIO_STATIC) + +pyext-asyncio-clean: + rm -f $(PYEXT_ASYNCIO_LOBJS) + rm -f $(PYEXT_ASYNCIO_OBJS) + rm -f $(PYEXT_ASYNCIO_SHARED) + rm -f $(PYEXT_ASYNCIO_STATIC) + +clean: pyext-asyncio-clean + +.PHONY: pyext-asyncio-shared +.PHONY: pyext-asyncio-static +.PHONY: pyext-asyncio-clean + + +# _bisect +PYEXT_BISECT_SRCS += pyext/obj/_bisectmodule.c + +PYEXT_BISECT_LOBJS = $(PYEXT_BISECT_SRCS:.c=.lo) +PYEXT_BISECT_OBJS = $(PYEXT_BISECT_SRCS:.c=.o) + +PYEXT_BISECT_SHARED = pyext/_bisect$(PYTHON_SOEXT) +PYEXT_BISECT_STATIC = pyext/_bisect$(OS_ARCHIVE_EXT) + +$(PYEXT_BISECT_SHARED): $(PYEXT_BISECT_LOBJS) +$(PYEXT_BISECT_STATIC): $(PYEXT_BISECT_OBJS) + +pyext-bisect-shared: $(PYEXT_BISECT_SHARED) +pyext-bisect-static: $(PYEXT_BISECT_STATIC) + +pyext-bisect-clean: + rm -f $(PYEXT_BISECT_LOBJS) + rm -f $(PYEXT_BISECT_OBJS) + rm -f $(PYEXT_BISECT_SHARED) + rm -f $(PYEXT_BISECT_STATIC) + +clean: pyext-bisect-clean + +.PHONY: pyext-bisect-shared +.PHONY: pyext-bisect-static +.PHONY: pyext-bisect-clean + + +# _contextvars +PYEXT_CONTEXTVARS_SRCS += pyext/obj/_contextvarsmodule.c + +PYEXT_CONTEXTVARS_LOBJS = $(PYEXT_CONTEXTVARS_SRCS:.c=.lo) +PYEXT_CONTEXTVARS_OBJS = $(PYEXT_CONTEXTVARS_SRCS:.c=.o) + +PYEXT_CONTEXTVARS_SHARED = pyext/_contextvars$(PYTHON_SOEXT) +PYEXT_CONTEXTVARS_STATIC = pyext/_contextvars$(OS_ARCHIVE_EXT) + +$(PYEXT_CONTEXTVARS_SHARED): $(PYEXT_CONTEXTVARS_LOBJS) +$(PYEXT_CONTEXTVARS_STATIC): $(PYEXT_CONTEXTVARS_OBJS) + +pyext-contextvars-shared: $(PYEXT_CONTEXTVARS_SHARED) +pyext-contextvars-static: $(PYEXT_CONTEXTVARS_STATIC) + +pyext-contextvars-clean: + rm -f $(PYEXT_CONTEXTVARS_LOBJS) + rm -f $(PYEXT_CONTEXTVARS_OBJS) + rm -f $(PYEXT_CONTEXTVARS_SHARED) + rm -f $(PYEXT_CONTEXTVARS_STATIC) + +clean: pyext-contextvars-clean + +.PHONY: pyext-contextvars-shared +.PHONY: pyext-contextvars-static +.PHONY: pyext-contextvars-clean + + +# _crypt +PYEXT_CRYPT_SRCS += pyext/obj/_cryptmodule.c + +PYEXT_CRYPT_LOBJS = $(PYEXT_CRYPT_SRCS:.c=.lo) +PYEXT_CRYPT_OBJS = $(PYEXT_CRYPT_SRCS:.c=.o) + +PYEXT_CRYPT_SHARED = pyext/_crypt$(PYTHON_SOEXT) +PYEXT_CRYPT_STATIC = pyext/_crypt$(OS_ARCHIVE_EXT) + +$(PYEXT_CRYPT_SHARED): $(PYEXT_CRYPT_LOBJS) +$(PYEXT_CRYPT_STATIC): $(PYEXT_CRYPT_OBJS) + +pyext-crypt-shared: $(PYEXT_CRYPT_SHARED) +pyext-crypt-static: $(PYEXT_CRYPT_STATIC) + +pyext-crypt-clean: + rm -f $(PYEXT_CRYPT_LOBJS) + rm -f $(PYEXT_CRYPT_OBJS) + rm -f $(PYEXT_CRYPT_SHARED) + rm -f $(PYEXT_CRYPT_STATIC) + +clean: pyext-crypt-clean + +.PHONY: pyext-crypt-shared +.PHONY: pyext-crypt-static +.PHONY: pyext-crypt-clean + + +# _csv +PYEXT_CSV_SRCS += pyext/obj/_csv.c + +PYEXT_CSV_LOBJS = $(PYEXT_CSV_SRCS:.c=.lo) +PYEXT_CSV_OBJS = $(PYEXT_CSV_SRCS:.c=.o) + +PYEXT_CSV_SHARED = pyext/_csv$(PYTHON_SOEXT) +PYEXT_CSV_STATIC = pyext/_csv$(OS_ARCHIVE_EXT) + +$(PYEXT_CSV_SHARED): $(PYEXT_CSV_LOBJS) +$(PYEXT_CSV_STATIC): $(PYEXT_CSV_OBJS) + +pyext-csv-shared: $(PYEXT_CSV_SHARED) +pyext-csv-static: $(PYEXT_CSV_STATIC) + +pyext-csv-clean: + rm -f $(PYEXT_CSV_LOBJS) + rm -f $(PYEXT_CSV_OBJS) + rm -f $(PYEXT_CSV_SHARED) + rm -f $(PYEXT_CSV_STATIC) + +clean: pyext-csv-clean + +.PHONY: pyext-csv-shared +.PHONY: pyext-csv-static +.PHONY: pyext-csv-clean + + +# _ctypes_test +PYEXT_CTYPES_TEST_SRCS += pyext/obj/_ctypes/_ctypes_test.c + +PYEXT_CTYPES_TEST_LOBJS = $(PYEXT_CTYPES_TEST_SRCS:.c=.lo) +PYEXT_CTYPES_TEST_OBJS = $(PYEXT_CTYPES_TEST_SRCS:.c=.o) + +PYEXT_CTYPES_TEST_SHARED = pyext/_ctypes_test$(PYTHON_SOEXT) +PYEXT_CTYPES_TEST_STATIC = pyext/_ctypes_test$(OS_ARCHIVE_EXT) + +$(PYEXT_CTYPES_TEST_SHARED): $(PYEXT_CTYPES_TEST_LOBJS) +$(PYEXT_CTYPES_TEST_STATIC): $(PYEXT_CTYPES_TEST_OBJS) + +pyext-ctypes_test-shared: $(PYEXT_CTYPES_TEST_SHARED) +pyext-ctypes_test-static: $(PYEXT_CTYPES_TEST_STATIC) + +pyext-ctypes_test-clean: + rm -f $(PYEXT_CTYPES_TEST_LOBJS) + rm -f $(PYEXT_CTYPES_TEST_OBJS) + rm -f $(PYEXT_CTYPES_TEST_SHARED) + rm -f $(PYEXT_CTYPES_TEST_STATIC) + +clean: pyext-ctypes_test-clean + +.PHONY: pyext-ctypes_test-shared +.PHONY: pyext-ctypes_test-static +.PHONY: pyext-ctypes_test-clean + + +# _datetime +PYEXT_DATETIME_SRCS += pyext/obj/_datetimemodule.c + +PYEXT_DATETIME_LOBJS = $(PYEXT_DATETIME_SRCS:.c=.lo) +PYEXT_DATETIME_OBJS = $(PYEXT_DATETIME_SRCS:.c=.o) + +PYEXT_DATETIME_SHARED = pyext/_datetime$(PYTHON_SOEXT) +PYEXT_DATETIME_STATIC = pyext/_datetime$(OS_ARCHIVE_EXT) + +$(PYEXT_DATETIME_SHARED): $(PYEXT_DATETIME_LOBJS) +$(PYEXT_DATETIME_STATIC): $(PYEXT_DATETIME_OBJS) + +pyext-datetime-shared: $(PYEXT_DATETIME_SHARED) +pyext-datetime-static: $(PYEXT_DATETIME_STATIC) + +pyext-datetime-clean: + rm -f $(PYEXT_DATETIME_LOBJS) + rm -f $(PYEXT_DATETIME_OBJS) + rm -f $(PYEXT_DATETIME_SHARED) + rm -f $(PYEXT_DATETIME_STATIC) + +clean: pyext-datetime-clean + +.PHONY: pyext-datetime-shared +.PHONY: pyext-datetime-static +.PHONY: pyext-datetime-clean + + +# _elementtree +PYEXT_ELEMENTTREE_SRCS += pyext/obj/_elementtree.c + +PYEXT_ELEMENTTREE_LOBJS = $(PYEXT_ELEMENTTREE_SRCS:.c=.lo) +PYEXT_ELEMENTTREE_OBJS = $(PYEXT_ELEMENTTREE_SRCS:.c=.o) + +PYEXT_ELEMENTTREE_SHARED = pyext/_elementtree$(PYTHON_SOEXT) +PYEXT_ELEMENTTREE_STATIC = pyext/_elementtree$(OS_ARCHIVE_EXT) + +$(PYEXT_ELEMENTTREE_SHARED): $(PYEXT_ELEMENTTREE_LOBJS) +$(PYEXT_ELEMENTTREE_STATIC): $(PYEXT_ELEMENTTREE_OBJS) + +pyext-elementtree-shared: $(PYEXT_ELEMENTTREE_SHARED) +pyext-elementtree-static: $(PYEXT_ELEMENTTREE_STATIC) + +pyext-elementtree-clean: + rm -f $(PYEXT_ELEMENTTREE_LOBJS) + rm -f $(PYEXT_ELEMENTTREE_OBJS) + rm -f $(PYEXT_ELEMENTTREE_SHARED) + rm -f $(PYEXT_ELEMENTTREE_STATIC) + +clean: pyext-elementtree-clean + +.PHONY: pyext-elementtree-shared +.PHONY: pyext-elementtree-static +.PHONY: pyext-elementtree-clean + + +# _heapq +PYEXT_HEAPQ_SRCS += pyext/obj/_heapqmodule.c + +PYEXT_HEAPQ_LOBJS = $(PYEXT_HEAPQ_SRCS:.c=.lo) +PYEXT_HEAPQ_OBJS = $(PYEXT_HEAPQ_SRCS:.c=.o) + +PYEXT_HEAPQ_SHARED = pyext/_heapq$(PYTHON_SOEXT) +PYEXT_HEAPQ_STATIC = pyext/_heapq$(OS_ARCHIVE_EXT) + +$(PYEXT_HEAPQ_SHARED): $(PYEXT_HEAPQ_LOBJS) +$(PYEXT_HEAPQ_STATIC): $(PYEXT_HEAPQ_OBJS) + +pyext-heapq-shared: $(PYEXT_HEAPQ_SHARED) +pyext-heapq-static: $(PYEXT_HEAPQ_STATIC) + +pyext-heapq-clean: + rm -f $(PYEXT_HEAPQ_LOBJS) + rm -f $(PYEXT_HEAPQ_OBJS) + rm -f $(PYEXT_HEAPQ_SHARED) + rm -f $(PYEXT_HEAPQ_STATIC) + +clean: pyext-heapq-clean + +.PHONY: pyext-heapq-shared +.PHONY: pyext-heapq-static +.PHONY: pyext-heapq-clean + + +# _json +PYEXT_JSON_SRCS += pyext/obj/_json.c + +PYEXT_JSON_LOBJS = $(PYEXT_JSON_SRCS:.c=.lo) +PYEXT_JSON_OBJS = $(PYEXT_JSON_SRCS:.c=.o) + +PYEXT_JSON_SHARED = pyext/_json$(PYTHON_SOEXT) +PYEXT_JSON_STATIC = pyext/_json$(OS_ARCHIVE_EXT) + +$(PYEXT_JSON_SHARED): $(PYEXT_JSON_LOBJS) +$(PYEXT_JSON_STATIC): $(PYEXT_JSON_OBJS) + +pyext-json-shared: $(PYEXT_JSON_SHARED) +pyext-json-static: $(PYEXT_JSON_STATIC) + +pyext-json-clean: + rm -f $(PYEXT_JSON_LOBJS) + rm -f $(PYEXT_JSON_OBJS) + rm -f $(PYEXT_JSON_SHARED) + rm -f $(PYEXT_JSON_STATIC) + +clean: pyext-json-clean + +.PHONY: pyext-json-shared +.PHONY: pyext-json-static +.PHONY: pyext-json-clean + + +# _md5 +PYEXT_MD5_SRCS += pyext/obj/md5module.c + +PYEXT_MD5_LOBJS = $(PYEXT_MD5_SRCS:.c=.lo) +PYEXT_MD5_OBJS = $(PYEXT_MD5_SRCS:.c=.o) + +PYEXT_MD5_SHARED = pyext/_md5$(PYTHON_SOEXT) +PYEXT_MD5_STATIC = pyext/_md5$(OS_ARCHIVE_EXT) + +$(PYEXT_MD5_SHARED): $(PYEXT_MD5_LOBJS) +$(PYEXT_MD5_STATIC): $(PYEXT_MD5_OBJS) + +pyext-md5-shared: $(PYEXT_MD5_SHARED) +pyext-md5-static: $(PYEXT_MD5_STATIC) + +pyext-md5-clean: + rm -f $(PYEXT_MD5_LOBJS) + rm -f $(PYEXT_MD5_OBJS) + rm -f $(PYEXT_MD5_SHARED) + rm -f $(PYEXT_MD5_STATIC) + +clean: pyext-md5-clean + +.PHONY: pyext-md5-shared +.PHONY: pyext-md5-static +.PHONY: pyext-md5-clean + + +# _opcode +PYEXT_OPCODE_SRCS += pyext/obj/_opcode.c + +PYEXT_OPCODE_LOBJS = $(PYEXT_OPCODE_SRCS:.c=.lo) +PYEXT_OPCODE_OBJS = $(PYEXT_OPCODE_SRCS:.c=.o) + +PYEXT_OPCODE_SHARED = pyext/_opcode$(PYTHON_SOEXT) +PYEXT_OPCODE_STATIC = pyext/_opcode$(OS_ARCHIVE_EXT) + +$(PYEXT_OPCODE_SHARED): $(PYEXT_OPCODE_LOBJS) +$(PYEXT_OPCODE_STATIC): $(PYEXT_OPCODE_OBJS) + +pyext-opcode-shared: $(PYEXT_OPCODE_SHARED) +pyext-opcode-static: $(PYEXT_OPCODE_STATIC) + +pyext-opcode-clean: + rm -f $(PYEXT_OPCODE_LOBJS) + rm -f $(PYEXT_OPCODE_OBJS) + rm -f $(PYEXT_OPCODE_SHARED) + rm -f $(PYEXT_OPCODE_STATIC) + +clean: pyext-opcode-clean + +.PHONY: pyext-opcode-shared +.PHONY: pyext-opcode-static +.PHONY: pyext-opcode-clean + + +# _pickle +PYEXT_PICKLE_SRCS += pyext/obj/_pickle.c + +PYEXT_PICKLE_LOBJS = $(PYEXT_PICKLE_SRCS:.c=.lo) +PYEXT_PICKLE_OBJS = $(PYEXT_PICKLE_SRCS:.c=.o) + +PYEXT_PICKLE_SHARED = pyext/_pickle$(PYTHON_SOEXT) +PYEXT_PICKLE_STATIC = pyext/_pickle$(OS_ARCHIVE_EXT) + +$(PYEXT_PICKLE_SHARED): $(PYEXT_PICKLE_LOBJS) +$(PYEXT_PICKLE_STATIC): $(PYEXT_PICKLE_OBJS) + +pyext-pickle-shared: $(PYEXT_PICKLE_SHARED) +pyext-pickle-static: $(PYEXT_PICKLE_STATIC) + +pyext-pickle-clean: + rm -f $(PYEXT_PICKLE_LOBJS) + rm -f $(PYEXT_PICKLE_OBJS) + rm -f $(PYEXT_PICKLE_SHARED) + rm -f $(PYEXT_PICKLE_STATIC) + +clean: pyext-pickle-clean + +.PHONY: pyext-pickle-shared +.PHONY: pyext-pickle-static +.PHONY: pyext-pickle-clean + + +# _posixsubprocess +PYEXT_POSIXSUBPROCESS_SRCS += pyext/obj/_posixsubprocess.c + +PYEXT_POSIXSUBPROCESS_LOBJS = $(PYEXT_POSIXSUBPROCESS_SRCS:.c=.lo) +PYEXT_POSIXSUBPROCESS_OBJS = $(PYEXT_POSIXSUBPROCESS_SRCS:.c=.o) + +PYEXT_POSIXSUBPROCESS_SHARED = pyext/_posixsubprocess$(PYTHON_SOEXT) +PYEXT_POSIXSUBPROCESS_STATIC = pyext/_posixsubprocess$(OS_ARCHIVE_EXT) + +$(PYEXT_POSIXSUBPROCESS_SHARED):$(PYEXT_POSIXSUBPROCESS_LOBJS) +$(PYEXT_POSIXSUBPROCESS_STATIC):$(PYEXT_POSIXSUBPROCESS_OBJS) + +pyext-posixsubprocess-shared: $(PYEXT_POSIXSUBPROCESS_SHARED) +pyext-posixsubprocess-static: $(PYEXT_POSIXSUBPROCESS_STATIC) + +pyext-posixsubprocess-clean: + rm -f $(PYEXT_POSIXSUBPROCESS_LOBJS) + rm -f $(PYEXT_POSIXSUBPROCESS_OBJS) + rm -f $(PYEXT_POSIXSUBPROCESS_SHARED) + rm -f $(PYEXT_POSIXSUBPROCESS_STATIC) + +clean: pyext-posixsubprocess-clean + +.PHONY: pyext-posixsubprocess-shared +.PHONY: pyext-posixsubprocess-static +.PHONY: pyext-posixsubprocess-clean + + +# _queue +PYEXT_QUEUE_SRCS += pyext/obj/_queuemodule.c + +PYEXT_QUEUE_LOBJS = $(PYEXT_QUEUE_SRCS:.c=.lo) +PYEXT_QUEUE_OBJS = $(PYEXT_QUEUE_SRCS:.c=.o) + +PYEXT_QUEUE_SHARED = pyext/_queue$(PYTHON_SOEXT) +PYEXT_QUEUE_STATIC = pyext/_queue$(OS_ARCHIVE_EXT) + +$(PYEXT_QUEUE_SHARED): $(PYEXT_QUEUE_LOBJS) +$(PYEXT_QUEUE_STATIC): $(PYEXT_QUEUE_OBJS) + +pyext-queue-shared: $(PYEXT_QUEUE_SHARED) +pyext-queue-static: $(PYEXT_QUEUE_STATIC) + +pyext-queue-clean: + rm -f $(PYEXT_QUEUE_LOBJS) + rm -f $(PYEXT_QUEUE_OBJS) + rm -f $(PYEXT_QUEUE_SHARED) + rm -f $(PYEXT_QUEUE_STATIC) + +clean: pyext-queue-clean + +.PHONY: pyext-queue-shared +.PHONY: pyext-queue-static +.PHONY: pyext-queue-clean + + +# _random +PYEXT_RANDOM_SRCS += pyext/obj/_randommodule.c + +PYEXT_RANDOM_LOBJS = $(PYEXT_RANDOM_SRCS:.c=.lo) +PYEXT_RANDOM_OBJS = $(PYEXT_RANDOM_SRCS:.c=.o) + +PYEXT_RANDOM_SHARED = pyext/_random$(PYTHON_SOEXT) +PYEXT_RANDOM_STATIC = pyext/_random$(OS_ARCHIVE_EXT) + +$(PYEXT_RANDOM_SHARED): $(PYEXT_RANDOM_LOBJS) +$(PYEXT_RANDOM_STATIC): $(PYEXT_RANDOM_OBJS) + +pyext-random-shared: $(PYEXT_RANDOM_SHARED) +pyext-random-static: $(PYEXT_RANDOM_STATIC) + +pyext-random-clean: + rm -f $(PYEXT_RANDOM_LOBJS) + rm -f $(PYEXT_RANDOM_OBJS) + rm -f $(PYEXT_RANDOM_SHARED) + rm -f $(PYEXT_RANDOM_STATIC) + +clean: pyext-random-clean + +.PHONY: pyext-random-shared +.PHONY: pyext-random-static +.PHONY: pyext-random-clean + + +# _sha1 +PYEXT_SHA1_SRCS += pyext/obj/sha1module.c + +PYEXT_SHA1_LOBJS = $(PYEXT_SHA1_SRCS:.c=.lo) +PYEXT_SHA1_OBJS = $(PYEXT_SHA1_SRCS:.c=.o) + +PYEXT_SHA1_SHARED = pyext/_sha1$(PYTHON_SOEXT) +PYEXT_SHA1_STATIC = pyext/_sha1$(OS_ARCHIVE_EXT) + +$(PYEXT_SHA1_SHARED): $(PYEXT_SHA1_LOBJS) +$(PYEXT_SHA1_STATIC): $(PYEXT_SHA1_OBJS) + +pyext-sha1-shared: $(PYEXT_SHA1_SHARED) +pyext-sha1-static: $(PYEXT_SHA1_STATIC) + +pyext-sha1-clean: + rm -f $(PYEXT_SHA1_LOBJS) + rm -f $(PYEXT_SHA1_OBJS) + rm -f $(PYEXT_SHA1_SHARED) + rm -f $(PYEXT_SHA1_STATIC) + +clean: pyext-sha1-clean + +.PHONY: pyext-sha1-shared +.PHONY: pyext-sha1-static +.PHONY: pyext-sha1-clean + + +# _sha256 +PYEXT_SHA256_SRCS += pyext/obj/sha256module.c + +PYEXT_SHA256_LOBJS = $(PYEXT_SHA256_SRCS:.c=.lo) +PYEXT_SHA256_OBJS = $(PYEXT_SHA256_SRCS:.c=.o) + +PYEXT_SHA256_SHARED = pyext/_sha256$(PYTHON_SOEXT) +PYEXT_SHA256_STATIC = pyext/_sha256$(OS_ARCHIVE_EXT) + +$(PYEXT_SHA256_SHARED): $(PYEXT_SHA256_LOBJS) +$(PYEXT_SHA256_STATIC): $(PYEXT_SHA256_OBJS) + +pyext-sha256-shared: $(PYEXT_SHA256_SHARED) +pyext-sha256-static: $(PYEXT_SHA256_STATIC) + +pyext-sha256-clean: + rm -f $(PYEXT_SHA256_LOBJS) + rm -f $(PYEXT_SHA256_OBJS) + rm -f $(PYEXT_SHA256_SHARED) + rm -f $(PYEXT_SHA256_STATIC) + +clean: pyext-sha256-clean + +.PHONY: pyext-sha256-shared +.PHONY: pyext-sha256-static +.PHONY: pyext-sha256-clean + + +# _sha3 +PYEXT_SHA3_SRCS += pyext/obj/_sha3/sha3module.c + +PYEXT_SHA3_LOBJS = $(PYEXT_SHA3_SRCS:.c=.lo) +PYEXT_SHA3_OBJS = $(PYEXT_SHA3_SRCS:.c=.o) + +PYEXT_SHA3_SHARED = pyext/_sha3$(PYTHON_SOEXT) +PYEXT_SHA3_STATIC = pyext/_sha3$(OS_ARCHIVE_EXT) + +$(PYEXT_SHA3_SHARED): $(PYEXT_SHA3_LOBJS) +$(PYEXT_SHA3_STATIC): $(PYEXT_SHA3_OBJS) + +pyext-sha3-shared: $(PYEXT_SHA3_SHARED) +pyext-sha3-static: $(PYEXT_SHA3_STATIC) + +pyext-sha3-clean: + rm -f $(PYEXT_SHA3_LOBJS) + rm -f $(PYEXT_SHA3_OBJS) + rm -f $(PYEXT_SHA3_SHARED) + rm -f $(PYEXT_SHA3_STATIC) + +clean: pyext-sha3-clean + +.PHONY: pyext-sha3-shared +.PHONY: pyext-sha3-static +.PHONY: pyext-sha3-clean + + +# _sha512 +PYEXT_SHA512_SRCS += pyext/obj/sha512module.c + +PYEXT_SHA512_LOBJS = $(PYEXT_SHA512_SRCS:.c=.lo) +PYEXT_SHA512_OBJS = $(PYEXT_SHA512_SRCS:.c=.o) + +PYEXT_SHA512_SHARED = pyext/_sha512$(PYTHON_SOEXT) +PYEXT_SHA512_STATIC = pyext/_sha512$(OS_ARCHIVE_EXT) + +$(PYEXT_SHA512_SHARED): $(PYEXT_SHA512_LOBJS) +$(PYEXT_SHA512_STATIC): $(PYEXT_SHA512_OBJS) + +pyext-sha512-shared: $(PYEXT_SHA512_SHARED) +pyext-sha512-static: $(PYEXT_SHA512_STATIC) + +pyext-sha512-clean: + rm -f $(PYEXT_SHA512_LOBJS) + rm -f $(PYEXT_SHA512_OBJS) + rm -f $(PYEXT_SHA512_SHARED) + rm -f $(PYEXT_SHA512_STATIC) + +clean: pyext-sha512-clean + +.PHONY: pyext-sha512-shared +.PHONY: pyext-sha512-static +.PHONY: pyext-sha512-clean + + +# _socket +PYEXT_SOCKET_SRCS += pyext/obj/socketmodule.c + +PYEXT_SOCKET_LOBJS = $(PYEXT_SOCKET_SRCS:.c=.lo) +PYEXT_SOCKET_OBJS = $(PYEXT_SOCKET_SRCS:.c=.o) + +PYEXT_SOCKET_SHARED = pyext/_socket$(PYTHON_SOEXT) +PYEXT_SOCKET_STATIC = pyext/_socket$(OS_ARCHIVE_EXT) + +$(PYEXT_SOCKET_SHARED): $(PYEXT_SOCKET_LOBJS) +$(PYEXT_SOCKET_STATIC): $(PYEXT_SOCKET_OBJS) + +pyext-socket-shared: $(PYEXT_SOCKET_SHARED) +pyext-socket-static: $(PYEXT_SOCKET_STATIC) + +pyext-socket-clean: + rm -f $(PYEXT_SOCKET_LOBJS) + rm -f $(PYEXT_SOCKET_OBJS) + rm -f $(PYEXT_SOCKET_SHARED) + rm -f $(PYEXT_SOCKET_STATIC) + +clean: pyext-socket-clean + +.PHONY: pyext-socket-shared +.PHONY: pyext-socket-static +.PHONY: pyext-socket-clean + + +# _struct +PYEXT_STRUCT_SRCS += pyext/obj/_struct.c + +PYEXT_STRUCT_LOBJS = $(PYEXT_STRUCT_SRCS:.c=.lo) +PYEXT_STRUCT_OBJS = $(PYEXT_STRUCT_SRCS:.c=.o) + +PYEXT_STRUCT_SHARED = pyext/_struct$(PYTHON_SOEXT) +PYEXT_STRUCT_STATIC = pyext/_struct$(OS_ARCHIVE_EXT) + +$(PYEXT_STRUCT_SHARED): $(PYEXT_STRUCT_LOBJS) +$(PYEXT_STRUCT_STATIC): $(PYEXT_STRUCT_OBJS) + +pyext-struct-shared: $(PYEXT_STRUCT_SHARED) +pyext-struct-static: $(PYEXT_STRUCT_STATIC) + +pyext-struct-clean: + rm -f $(PYEXT_STRUCT_LOBJS) + rm -f $(PYEXT_STRUCT_OBJS) + rm -f $(PYEXT_STRUCT_SHARED) + rm -f $(PYEXT_STRUCT_STATIC) + +clean: pyext-struct-clean + +.PHONY: pyext-struct-shared +.PHONY: pyext-struct-static +.PHONY: pyext-struct-clean + + +# _testbuffer +PYEXT_TESTBUFFER_SRCS += pyext/obj/_testbuffer.c + +PYEXT_TESTBUFFER_LOBJS = $(PYEXT_TESTBUFFER_SRCS:.c=.lo) +PYEXT_TESTBUFFER_OBJS = $(PYEXT_TESTBUFFER_SRCS:.c=.o) + +PYEXT_TESTBUFFER_SHARED = pyext/_testbuffer$(PYTHON_SOEXT) +PYEXT_TESTBUFFER_STATIC = pyext/_testbuffer$(OS_ARCHIVE_EXT) + +$(PYEXT_TESTBUFFER_SHARED): $(PYEXT_TESTBUFFER_LOBJS) +$(PYEXT_TESTBUFFER_STATIC): $(PYEXT_TESTBUFFER_OBJS) + +pyext-testbuffer-shared: $(PYEXT_TESTBUFFER_SHARED) +pyext-testbuffer-static: $(PYEXT_TESTBUFFER_STATIC) + +pyext-testbuffer-clean: + rm -f $(PYEXT_TESTBUFFER_LOBJS) + rm -f $(PYEXT_TESTBUFFER_OBJS) + rm -f $(PYEXT_TESTBUFFER_SHARED) + rm -f $(PYEXT_TESTBUFFER_STATIC) + +clean: pyext-testbuffer-clean + +.PHONY: pyext-testbuffer-shared +.PHONY: pyext-testbuffer-static +.PHONY: pyext-testbuffer-clean + + +# _testcapi +PYEXT_TESTCAPI_SRCS += pyext/obj/_testcapimodule.c + +PYEXT_TESTCAPI_LOBJS = $(PYEXT_TESTCAPI_SRCS:.c=.lo) +PYEXT_TESTCAPI_OBJS = $(PYEXT_TESTCAPI_SRCS:.c=.o) + +PYEXT_TESTCAPI_SHARED = pyext/_testcapi$(PYTHON_SOEXT) +PYEXT_TESTCAPI_STATIC = pyext/_testcapi$(OS_ARCHIVE_EXT) + +$(PYEXT_TESTCAPI_SHARED): $(PYEXT_TESTCAPI_LOBJS) +$(PYEXT_TESTCAPI_STATIC): $(PYEXT_TESTCAPI_OBJS) + +pyext-testcapi-shared: $(PYEXT_TESTCAPI_SHARED) +pyext-testcapi-static: $(PYEXT_TESTCAPI_STATIC) + +pyext-testcapi-clean: + rm -f $(PYEXT_TESTCAPI_LOBJS) + rm -f $(PYEXT_TESTCAPI_OBJS) + rm -f $(PYEXT_TESTCAPI_SHARED) + rm -f $(PYEXT_TESTCAPI_STATIC) + +clean: pyext-testcapi-clean + +.PHONY: pyext-testcapi-shared +.PHONY: pyext-testcapi-static +.PHONY: pyext-testcapi-clean + + +# _testimportmultiple +PYEXT_TESTIMPORTMULTIPLE_SRCS += pyext/obj/_testimportmultiple.c + +PYEXT_TESTIMPORTMULTIPLE_LOBJS = $(PYEXT_TESTIMPORTMULTIPLE_SRCS:.c=.lo) +PYEXT_TESTIMPORTMULTIPLE_OBJS = $(PYEXT_TESTIMPORTMULTIPLE_SRCS:.c=.o) + +PYEXT_TESTIMPORTMULTIPLE_SHARED = pyext/_testimportmultiple$(PYTHON_SOEXT) +PYEXT_TESTIMPORTMULTIPLE_STATIC = pyext/_testimportmultiple$(OS_ARCHIVE_EXT) + +$(PYEXT_TESTIMPORTMULTIPLE_SHARED):$(PYEXT_TESTIMPORTMULTIPLE_LOBJS) +$(PYEXT_TESTIMPORTMULTIPLE_STATIC):$(PYEXT_TESTIMPORTMULTIPLE_OBJS) + +pyext-testimportmultiple-shared: $(PYEXT_TESTIMPORTMULTIPLE_SHARED) +pyext-testimportmultiple-static: $(PYEXT_TESTIMPORTMULTIPLE_STATIC) + +pyext-testimportmultiple-clean: + rm -f $(PYEXT_TESTIMPORTMULTIPLE_LOBJS) + rm -f $(PYEXT_TESTIMPORTMULTIPLE_OBJS) + rm -f $(PYEXT_TESTIMPORTMULTIPLE_SHARED) + rm -f $(PYEXT_TESTIMPORTMULTIPLE_STATIC) + +clean: pyext-testimportmultiple-clean + +.PHONY: pyext-testimportmultiple-shared +.PHONY: pyext-testimportmultiple-static +.PHONY: pyext-testimportmultiple-clean + + +# _testmultiphase +PYEXT_TESTMULTIPHASE_SRCS += pyext/obj/_testmultiphase.c + +PYEXT_TESTMULTIPHASE_LOBJS = $(PYEXT_TESTMULTIPHASE_SRCS:.c=.lo) +PYEXT_TESTMULTIPHASE_OBJS = $(PYEXT_TESTMULTIPHASE_SRCS:.c=.o) + +PYEXT_TESTMULTIPHASE_SHARED = pyext/_testmultiphase$(PYTHON_SOEXT) +PYEXT_TESTMULTIPHASE_STATIC = pyext/_testmultiphase$(OS_ARCHIVE_EXT) + +$(PYEXT_TESTMULTIPHASE_SHARED): $(PYEXT_TESTMULTIPHASE_LOBJS) +$(PYEXT_TESTMULTIPHASE_STATIC): $(PYEXT_TESTMULTIPHASE_OBJS) + +pyext-testmultiphase-shared: $(PYEXT_TESTMULTIPHASE_SHARED) +pyext-testmultiphase-static: $(PYEXT_TESTMULTIPHASE_STATIC) + +pyext-testmultiphase-clean: + rm -f $(PYEXT_TESTMULTIPHASE_LOBJS) + rm -f $(PYEXT_TESTMULTIPHASE_OBJS) + rm -f $(PYEXT_TESTMULTIPHASE_SHARED) + rm -f $(PYEXT_TESTMULTIPHASE_STATIC) + +clean: pyext-testmultiphase-clean + +.PHONY: pyext-testmultiphase-shared +.PHONY: pyext-testmultiphase-static +.PHONY: pyext-testmultiphase-clean + + +# array +PYEXT_ARRAY_SRCS += pyext/obj/arraymodule.c + +PYEXT_ARRAY_LOBJS = $(PYEXT_ARRAY_SRCS:.c=.lo) +PYEXT_ARRAY_OBJS = $(PYEXT_ARRAY_SRCS:.c=.o) + +PYEXT_ARRAY_SHARED = pyext/array$(PYTHON_SOEXT) +PYEXT_ARRAY_STATIC = pyext/array$(OS_ARCHIVE_EXT) + +$(PYEXT_ARRAY_SHARED): $(PYEXT_ARRAY_LOBJS) +$(PYEXT_ARRAY_STATIC): $(PYEXT_ARRAY_OBJS) + +pyext-array-shared: $(PYEXT_ARRAY_SHARED) +pyext-array-static: $(PYEXT_ARRAY_STATIC) + +pyext-array-clean: + rm -f $(PYEXT_ARRAY_LOBJS) + rm -f $(PYEXT_ARRAY_OBJS) + rm -f $(PYEXT_ARRAY_SHARED) + rm -f $(PYEXT_ARRAY_STATIC) + +clean: pyext-array-clean + +.PHONY: pyext-array-shared +.PHONY: pyext-array-static +.PHONY: pyext-array-clean + + +# audioop +PYEXT_AUDIOOP_SRCS += pyext/obj/audioop.c + +PYEXT_AUDIOOP_LOBJS = $(PYEXT_AUDIOOP_SRCS:.c=.lo) +PYEXT_AUDIOOP_OBJS = $(PYEXT_AUDIOOP_SRCS:.c=.o) + +PYEXT_AUDIOOP_SHARED = pyext/audioop$(PYTHON_SOEXT) +PYEXT_AUDIOOP_STATIC = pyext/audioop$(OS_ARCHIVE_EXT) + +$(PYEXT_AUDIOOP_SHARED): $(PYEXT_AUDIOOP_LOBJS) +$(PYEXT_AUDIOOP_STATIC): $(PYEXT_AUDIOOP_OBJS) + +pyext-audioop-shared: $(PYEXT_AUDIOOP_SHARED) +pyext-audioop-static: $(PYEXT_AUDIOOP_STATIC) + +pyext-audioop-clean: + rm -f $(PYEXT_AUDIOOP_LOBJS) + rm -f $(PYEXT_AUDIOOP_OBJS) + rm -f $(PYEXT_AUDIOOP_SHARED) + rm -f $(PYEXT_AUDIOOP_STATIC) + +clean: pyext-audioop-clean + +.PHONY: pyext-audioop-shared +.PHONY: pyext-audioop-static +.PHONY: pyext-audioop-clean + + +# fcntl +PYEXT_FCNTL_SRCS += pyext/obj/fcntlmodule.c + +PYEXT_FCNTL_LOBJS = $(PYEXT_FCNTL_SRCS:.c=.lo) +PYEXT_FCNTL_OBJS = $(PYEXT_FCNTL_SRCS:.c=.o) + +PYEXT_FCNTL_SHARED = pyext/fcntl$(PYTHON_SOEXT) +PYEXT_FCNTL_STATIC = pyext/fcntl$(OS_ARCHIVE_EXT) + +$(PYEXT_FCNTL_SHARED): $(PYEXT_FCNTL_LOBJS) +$(PYEXT_FCNTL_STATIC): $(PYEXT_FCNTL_OBJS) + +pyext-fcntl-shared: $(PYEXT_FCNTL_SHARED) +pyext-fcntl-static: $(PYEXT_FCNTL_STATIC) + +pyext-fcntl-clean: + rm -f $(PYEXT_FCNTL_LOBJS) + rm -f $(PYEXT_FCNTL_OBJS) + rm -f $(PYEXT_FCNTL_SHARED) + rm -f $(PYEXT_FCNTL_STATIC) + +clean: pyext-fcntl-clean + +.PHONY: pyext-fcntl-shared +.PHONY: pyext-fcntl-static +.PHONY: pyext-fcntl-clean + + +# grp +PYEXT_GRP_SRCS += pyext/obj/grpmodule.c + +PYEXT_GRP_LOBJS = $(PYEXT_GRP_SRCS:.c=.lo) +PYEXT_GRP_OBJS = $(PYEXT_GRP_SRCS:.c=.o) + +PYEXT_GRP_SHARED = pyext/grp$(PYTHON_SOEXT) +PYEXT_GRP_STATIC = pyext/grp$(OS_ARCHIVE_EXT) + +$(PYEXT_GRP_SHARED): $(PYEXT_GRP_LOBJS) +$(PYEXT_GRP_STATIC): $(PYEXT_GRP_OBJS) + +pyext-grp-shared: $(PYEXT_GRP_SHARED) +pyext-grp-static: $(PYEXT_GRP_STATIC) + +pyext-grp-clean: + rm -f $(PYEXT_GRP_LOBJS) + rm -f $(PYEXT_GRP_OBJS) + rm -f $(PYEXT_GRP_SHARED) + rm -f $(PYEXT_GRP_STATIC) + +clean: pyext-grp-clean + +.PHONY: pyext-grp-shared +.PHONY: pyext-grp-static +.PHONY: pyext-grp-clean + + +# mmap +PYEXT_MMAP_SRCS += pyext/obj/mmapmodule.c + +PYEXT_MMAP_LOBJS = $(PYEXT_MMAP_SRCS:.c=.lo) +PYEXT_MMAP_OBJS = $(PYEXT_MMAP_SRCS:.c=.o) + +PYEXT_MMAP_SHARED = pyext/mmap$(PYTHON_SOEXT) +PYEXT_MMAP_STATIC = pyext/mmap$(OS_ARCHIVE_EXT) + +$(PYEXT_MMAP_SHARED): $(PYEXT_MMAP_LOBJS) +$(PYEXT_MMAP_STATIC): $(PYEXT_MMAP_OBJS) + +pyext-mmap-shared: $(PYEXT_MMAP_SHARED) +pyext-mmap-static: $(PYEXT_MMAP_STATIC) + +pyext-mmap-clean: + rm -f $(PYEXT_MMAP_LOBJS) + rm -f $(PYEXT_MMAP_OBJS) + rm -f $(PYEXT_MMAP_SHARED) + rm -f $(PYEXT_MMAP_STATIC) + +clean: pyext-mmap-clean + +.PHONY: pyext-mmap-shared +.PHONY: pyext-mmap-static +.PHONY: pyext-mmap-clean + + +# ossaudiodev +PYEXT_OSSAUDIODEV_SRCS += pyext/obj/ossaudiodev.c + +PYEXT_OSSAUDIODEV_LOBJS = $(PYEXT_OSSAUDIODEV_SRCS:.c=.lo) +PYEXT_OSSAUDIODEV_OBJS = $(PYEXT_OSSAUDIODEV_SRCS:.c=.o) + +PYEXT_OSSAUDIODEV_SHARED = pyext/ossaudiodev$(PYTHON_SOEXT) +PYEXT_OSSAUDIODEV_STATIC = pyext/ossaudiodev$(OS_ARCHIVE_EXT) + +$(PYEXT_OSSAUDIODEV_SHARED): $(PYEXT_OSSAUDIODEV_LOBJS) +$(PYEXT_OSSAUDIODEV_STATIC): $(PYEXT_OSSAUDIODEV_OBJS) + +pyext-ossaudiodev-shared: $(PYEXT_OSSAUDIODEV_SHARED) +pyext-ossaudiodev-static: $(PYEXT_OSSAUDIODEV_STATIC) + +pyext-ossaudiodev-clean: + rm -f $(PYEXT_OSSAUDIODEV_LOBJS) + rm -f $(PYEXT_OSSAUDIODEV_OBJS) + rm -f $(PYEXT_OSSAUDIODEV_SHARED) + rm -f $(PYEXT_OSSAUDIODEV_STATIC) + +clean: pyext-ossaudiodev-clean + +.PHONY: pyext-ossaudiodev-shared +.PHONY: pyext-ossaudiodev-static +.PHONY: pyext-ossaudiodev-clean + + +# parser +PYEXT_PARSER_SRCS += pyext/obj/parsermodule.c + +PYEXT_PARSER_LOBJS = $(PYEXT_PARSER_SRCS:.c=.lo) +PYEXT_PARSER_OBJS = $(PYEXT_PARSER_SRCS:.c=.o) + +PYEXT_PARSER_SHARED = pyext/parser$(PYTHON_SOEXT) +PYEXT_PARSER_STATIC = pyext/parser$(OS_ARCHIVE_EXT) + +$(PYEXT_PARSER_SHARED): $(PYEXT_PARSER_LOBJS) +$(PYEXT_PARSER_STATIC): $(PYEXT_PARSER_OBJS) + +pyext-parser-shared: $(PYEXT_PARSER_SHARED) +pyext-parser-static: $(PYEXT_PARSER_STATIC) + +pyext-parser-clean: + rm -f $(PYEXT_PARSER_LOBJS) + rm -f $(PYEXT_PARSER_OBJS) + rm -f $(PYEXT_PARSER_SHARED) + rm -f $(PYEXT_PARSER_STATIC) + +clean: pyext-parser-clean + +.PHONY: pyext-parser-shared +.PHONY: pyext-parser-static +.PHONY: pyext-parser-clean + + +# resource +PYEXT_RESOURCE_SRCS += pyext/obj/resource.c + +PYEXT_RESOURCE_LOBJS = $(PYEXT_RESOURCE_SRCS:.c=.lo) +PYEXT_RESOURCE_OBJS = $(PYEXT_RESOURCE_SRCS:.c=.o) + +PYEXT_RESOURCE_SHARED = pyext/resource$(PYTHON_SOEXT) +PYEXT_RESOURCE_STATIC = pyext/resource$(OS_ARCHIVE_EXT) + +$(PYEXT_RESOURCE_SHARED): $(PYEXT_RESOURCE_LOBJS) +$(PYEXT_RESOURCE_STATIC): $(PYEXT_RESOURCE_OBJS) + +pyext-resource-shared: $(PYEXT_RESOURCE_SHARED) +pyext-resource-static: $(PYEXT_RESOURCE_STATIC) + +pyext-resource-clean: + rm -f $(PYEXT_RESOURCE_LOBJS) + rm -f $(PYEXT_RESOURCE_OBJS) + rm -f $(PYEXT_RESOURCE_SHARED) + rm -f $(PYEXT_RESOURCE_STATIC) + +clean: pyext-resource-clean + +.PHONY: pyext-resource-shared +.PHONY: pyext-resource-static +.PHONY: pyext-resource-clean + + +# select +PYEXT_SELECT_SRCS += pyext/obj/selectmodule.c + +PYEXT_SELECT_LOBJS = $(PYEXT_SELECT_SRCS:.c=.lo) +PYEXT_SELECT_OBJS = $(PYEXT_SELECT_SRCS:.c=.o) + +PYEXT_SELECT_SHARED = pyext/select$(PYTHON_SOEXT) +PYEXT_SELECT_STATIC = pyext/select$(OS_ARCHIVE_EXT) + +$(PYEXT_SELECT_SHARED): $(PYEXT_SELECT_LOBJS) +$(PYEXT_SELECT_STATIC): $(PYEXT_SELECT_OBJS) + +pyext-select-shared: $(PYEXT_SELECT_SHARED) +pyext-select-static: $(PYEXT_SELECT_STATIC) + +pyext-select-clean: + rm -f $(PYEXT_SELECT_LOBJS) + rm -f $(PYEXT_SELECT_OBJS) + rm -f $(PYEXT_SELECT_SHARED) + rm -f $(PYEXT_SELECT_STATIC) + +clean: pyext-select-clean + +.PHONY: pyext-select-shared +.PHONY: pyext-select-static +.PHONY: pyext-select-clean + + +# spwd +PYEXT_SPWD_SRCS += pyext/obj/spwdmodule.c + +PYEXT_SPWD_LOBJS = $(PYEXT_SPWD_SRCS:.c=.lo) +PYEXT_SPWD_OBJS = $(PYEXT_SPWD_SRCS:.c=.o) + +PYEXT_SPWD_SHARED = pyext/spwd$(PYTHON_SOEXT) +PYEXT_SPWD_STATIC = pyext/spwd$(OS_ARCHIVE_EXT) + +$(PYEXT_SPWD_SHARED): $(PYEXT_SPWD_LOBJS) +$(PYEXT_SPWD_STATIC): $(PYEXT_SPWD_OBJS) + +pyext-spwd-shared: $(PYEXT_SPWD_SHARED) +pyext-spwd-static: $(PYEXT_SPWD_STATIC) + +pyext-spwd-clean: + rm -f $(PYEXT_SPWD_LOBJS) + rm -f $(PYEXT_SPWD_OBJS) + rm -f $(PYEXT_SPWD_SHARED) + rm -f $(PYEXT_SPWD_STATIC) + +clean: pyext-spwd-clean + +.PHONY: pyext-spwd-shared +.PHONY: pyext-spwd-static +.PHONY: pyext-spwd-clean + + +# syslog +PYEXT_SYSLOG_SRCS += pyext/obj/syslogmodule.c + +PYEXT_SYSLOG_LOBJS = $(PYEXT_SYSLOG_SRCS:.c=.lo) +PYEXT_SYSLOG_OBJS = $(PYEXT_SYSLOG_SRCS:.c=.o) + +PYEXT_SYSLOG_SHARED = pyext/syslog$(PYTHON_SOEXT) +PYEXT_SYSLOG_STATIC = pyext/syslog$(OS_ARCHIVE_EXT) + +$(PYEXT_SYSLOG_SHARED): $(PYEXT_SYSLOG_LOBJS) +$(PYEXT_SYSLOG_STATIC): $(PYEXT_SYSLOG_OBJS) + +pyext-syslog-shared: $(PYEXT_SYSLOG_SHARED) +pyext-syslog-static: $(PYEXT_SYSLOG_STATIC) + +pyext-syslog-clean: + rm -f $(PYEXT_SYSLOG_LOBJS) + rm -f $(PYEXT_SYSLOG_OBJS) + rm -f $(PYEXT_SYSLOG_SHARED) + rm -f $(PYEXT_SYSLOG_STATIC) + +clean: pyext-syslog-clean + +.PHONY: pyext-syslog-shared +.PHONY: pyext-syslog-static +.PHONY: pyext-syslog-clean + + +# termios +PYEXT_TERMIOS_SRCS += pyext/obj/termios.c + +PYEXT_TERMIOS_LOBJS = $(PYEXT_TERMIOS_SRCS:.c=.lo) +PYEXT_TERMIOS_OBJS = $(PYEXT_TERMIOS_SRCS:.c=.o) + +PYEXT_TERMIOS_SHARED = pyext/termios$(PYTHON_SOEXT) +PYEXT_TERMIOS_STATIC = pyext/termios$(OS_ARCHIVE_EXT) + +$(PYEXT_TERMIOS_SHARED): $(PYEXT_TERMIOS_LOBJS) +$(PYEXT_TERMIOS_STATIC): $(PYEXT_TERMIOS_OBJS) + +pyext-termios-shared: $(PYEXT_TERMIOS_SHARED) +pyext-termios-static: $(PYEXT_TERMIOS_STATIC) + +pyext-termios-clean: + rm -f $(PYEXT_TERMIOS_LOBJS) + rm -f $(PYEXT_TERMIOS_OBJS) + rm -f $(PYEXT_TERMIOS_SHARED) + rm -f $(PYEXT_TERMIOS_STATIC) + +clean: pyext-termios-clean + +.PHONY: pyext-termios-shared +.PHONY: pyext-termios-static +.PHONY: pyext-termios-clean + + +# unicodedata +PYEXT_UNICODEDATA_SRCS += pyext/obj/unicodedata.c + +PYEXT_UNICODEDATA_LOBJS = $(PYEXT_UNICODEDATA_SRCS:.c=.lo) +PYEXT_UNICODEDATA_OBJS = $(PYEXT_UNICODEDATA_SRCS:.c=.o) + +PYEXT_UNICODEDATA_SHARED = pyext/unicodedata$(PYTHON_SOEXT) +PYEXT_UNICODEDATA_STATIC = pyext/unicodedata$(OS_ARCHIVE_EXT) + +$(PYEXT_UNICODEDATA_SHARED): $(PYEXT_UNICODEDATA_LOBJS) +$(PYEXT_UNICODEDATA_STATIC): $(PYEXT_UNICODEDATA_OBJS) + +pyext-unicodedata-shared: $(PYEXT_UNICODEDATA_SHARED) +pyext-unicodedata-static: $(PYEXT_UNICODEDATA_STATIC) + +pyext-unicodedata-clean: + rm -f $(PYEXT_UNICODEDATA_LOBJS) + rm -f $(PYEXT_UNICODEDATA_OBJS) + rm -f $(PYEXT_UNICODEDATA_SHARED) + rm -f $(PYEXT_UNICODEDATA_STATIC) + +clean: pyext-unicodedata-clean + +.PHONY: pyext-unicodedata-shared +.PHONY: pyext-unicodedata-static +.PHONY: pyext-unicodedata-clean + + +# xxlimited +PYEXT_XXLIMITED_SRCS += pyext/obj/xxlimited.c + +PYEXT_XXLIMITED_LOBJS = $(PYEXT_XXLIMITED_SRCS:.c=.lo) +PYEXT_XXLIMITED_OBJS = $(PYEXT_XXLIMITED_SRCS:.c=.o) + +PYEXT_XXLIMITED_SHARED = pyext/xxlimited$(PYTHON_SOEXT) +PYEXT_XXLIMITED_STATIC = pyext/xxlimited$(OS_ARCHIVE_EXT) + +$(PYEXT_XXLIMITED_SHARED): $(PYEXT_XXLIMITED_LOBJS) +$(PYEXT_XXLIMITED_STATIC): $(PYEXT_XXLIMITED_OBJS) + +pyext-xxlimited-shared: $(PYEXT_XXLIMITED_SHARED) +pyext-xxlimited-static: $(PYEXT_XXLIMITED_STATIC) + +pyext-xxlimited-clean: + rm -f $(PYEXT_XXLIMITED_LOBJS) + rm -f $(PYEXT_XXLIMITED_OBJS) + rm -f $(PYEXT_XXLIMITED_SHARED) + rm -f $(PYEXT_XXLIMITED_STATIC) + +clean: pyext-xxlimited-clean + +.PHONY: pyext-xxlimited-shared +.PHONY: pyext-xxlimited-static +.PHONY: pyext-xxlimited-clean + + +# _blake2 +PYEXT_BLAKE2_SRCS += pyext/obj/_blake2/blake2module.c +PYEXT_BLAKE2_SRCS += pyext/obj/_blake2/blake2b_impl.c +PYEXT_BLAKE2_SRCS += pyext/obj/_blake2/blake2s_impl.c + +PYEXT_BLAKE2_LOBJS = $(PYEXT_BLAKE2_SRCS:.c=.lo) +PYEXT_BLAKE2_OBJS = $(PYEXT_BLAKE2_SRCS:.c=.o) + +PYEXT_BLAKE2_SHARED = pyext/_blake2$(PYTHON_SOEXT) +PYEXT_BLAKE2_STATIC = pyext/_blake2$(OS_ARCHIVE_EXT) + +$(PYEXT_BLAKE2_SHARED): $(PYEXT_BLAKE2_LOBJS) +$(PYEXT_BLAKE2_STATIC): $(PYEXT_BLAKE2_OBJS) + +pyext-blake2-shared: $(PYEXT_BLAKE2_SHARED) +pyext-blake2-static: $(PYEXT_BLAKE2_STATIC) + +pyext-blake2-clean: + rm -f $(PYEXT_BLAKE2_LOBJS) + rm -f $(PYEXT_BLAKE2_OBJS) + rm -f $(PYEXT_BLAKE2_SHARED) + rm -f $(PYEXT_BLAKE2_STATIC) + +clean: pyext-blake2-clean + +.PHONY: pyext-blake2-shared +.PHONY: pyext-blake2-static +.PHONY: pyext-blake2-clean + + +# _lsprof +PYEXT_LSPROF_SRCS += pyext/obj/_lsprof.c +PYEXT_LSPROF_SRCS += pyext/obj/rotatingtree.c + +PYEXT_LSPROF_LOBJS = $(PYEXT_LSPROF_SRCS:.c=.lo) +PYEXT_LSPROF_OBJS = $(PYEXT_LSPROF_SRCS:.c=.o) + +PYEXT_LSPROF_SHARED = pyext/_lsprof$(PYTHON_SOEXT) +PYEXT_LSPROF_STATIC = pyext/_lsprof$(OS_ARCHIVE_EXT) + +$(PYEXT_LSPROF_SHARED): $(PYEXT_LSPROF_LOBJS) +$(PYEXT_LSPROF_STATIC): $(PYEXT_LSPROF_OBJS) + +pyext-lsprof-shared: $(PYEXT_LSPROF_SHARED) +pyext-lsprof-static: $(PYEXT_LSPROF_STATIC) + +pyext-lsprof-clean: + rm -f $(PYEXT_LSPROF_LOBJS) + rm -f $(PYEXT_LSPROF_OBJS) + rm -f $(PYEXT_LSPROF_SHARED) + rm -f $(PYEXT_LSPROF_STATIC) + +clean: pyext-lsprof-clean + +.PHONY: pyext-lsprof-shared +.PHONY: pyext-lsprof-static +.PHONY: pyext-lsprof-clean + + +# _multiprocessing +PYEXT_MULTIPROCESSING_SRCS += pyext/obj/_multiprocessing/multiprocessing.c +PYEXT_MULTIPROCESSING_SRCS += pyext/obj/_multiprocessing/semaphore.c + +PYEXT_MULTIPROCESSING_LOBJS = $(PYEXT_MULTIPROCESSING_SRCS:.c=.lo) +PYEXT_MULTIPROCESSING_OBJS = $(PYEXT_MULTIPROCESSING_SRCS:.c=.o) + +PYEXT_MULTIPROCESSING_SHARED = pyext/_multiprocessing$(PYTHON_SOEXT) +PYEXT_MULTIPROCESSING_STATIC = pyext/_multiprocessing$(OS_ARCHIVE_EXT) + +$(PYEXT_MULTIPROCESSING_SHARED):$(PYEXT_MULTIPROCESSING_LOBJS) +$(PYEXT_MULTIPROCESSING_STATIC):$(PYEXT_MULTIPROCESSING_OBJS) + +pyext-multiprocessing-shared: $(PYEXT_MULTIPROCESSING_SHARED) +pyext-multiprocessing-static: $(PYEXT_MULTIPROCESSING_STATIC) + +pyext-multiprocessing-clean: + rm -f $(PYEXT_MULTIPROCESSING_LOBJS) + rm -f $(PYEXT_MULTIPROCESSING_OBJS) + rm -f $(PYEXT_MULTIPROCESSING_SHARED) + rm -f $(PYEXT_MULTIPROCESSING_STATIC) + +clean: pyext-multiprocessing-clean + +.PHONY: pyext-multiprocessing-shared +.PHONY: pyext-multiprocessing-static +.PHONY: pyext-multiprocessing-clean + + +# _xxtestfuzz +PYEXT_XXTESTFUZZ_SRCS += pyext/obj/_xxtestfuzz/_xxtestfuzz.c +PYEXT_XXTESTFUZZ_SRCS += pyext/obj/_xxtestfuzz/fuzzer.c + +PYEXT_XXTESTFUZZ_LOBJS = $(PYEXT_XXTESTFUZZ_SRCS:.c=.lo) +PYEXT_XXTESTFUZZ_OBJS = $(PYEXT_XXTESTFUZZ_SRCS:.c=.o) + +PYEXT_XXTESTFUZZ_SHARED = pyext/_xxtestfuzz$(PYTHON_SOEXT) +PYEXT_XXTESTFUZZ_STATIC = pyext/_xxtestfuzz$(OS_ARCHIVE_EXT) + +$(PYEXT_XXTESTFUZZ_SHARED): $(PYEXT_XXTESTFUZZ_LOBJS) +$(PYEXT_XXTESTFUZZ_STATIC): $(PYEXT_XXTESTFUZZ_OBJS) + +pyext-xxtestfuzz-shared: $(PYEXT_XXTESTFUZZ_SHARED) +pyext-xxtestfuzz-static: $(PYEXT_XXTESTFUZZ_STATIC) + +pyext-xxtestfuzz-clean: + rm -f $(PYEXT_XXTESTFUZZ_LOBJS) + rm -f $(PYEXT_XXTESTFUZZ_OBJS) + rm -f $(PYEXT_XXTESTFUZZ_SHARED) + rm -f $(PYEXT_XXTESTFUZZ_STATIC) + +clean: pyext-xxtestfuzz-clean + +.PHONY: pyext-xxtestfuzz-shared +.PHONY: pyext-xxtestfuzz-static +.PHONY: pyext-xxtestfuzz-clean + + +# cmath +PYEXT_CMATH_SRCS += pyext/obj/cmathmodule.c +PYEXT_CMATH_SRCS += pyext/obj/_math.c + +PYEXT_CMATH_LOBJS = $(PYEXT_CMATH_SRCS:.c=.lo) +PYEXT_CMATH_OBJS = $(PYEXT_CMATH_SRCS:.c=.o) + +PYEXT_CMATH_SHARED = pyext/cmath$(PYTHON_SOEXT) +PYEXT_CMATH_STATIC = pyext/cmath$(OS_ARCHIVE_EXT) + +$(PYEXT_CMATH_SHARED): $(PYEXT_CMATH_LOBJS) +$(PYEXT_CMATH_STATIC): $(PYEXT_CMATH_OBJS) + +pyext-cmath-shared: $(PYEXT_CMATH_SHARED) +pyext-cmath-static: $(PYEXT_CMATH_STATIC) + +pyext-cmath-clean: + rm -f $(PYEXT_CMATH_LOBJS) + rm -f $(PYEXT_CMATH_OBJS) + rm -f $(PYEXT_CMATH_SHARED) + rm -f $(PYEXT_CMATH_STATIC) + +clean: pyext-cmath-clean + +.PHONY: pyext-cmath-shared +.PHONY: pyext-cmath-static +.PHONY: pyext-cmath-clean + + +# math +PYEXT_MATH_SRCS += pyext/obj/mathmodule.c +PYEXT_MATH_SRCS += pyext/obj/_math.c + +PYEXT_MATH_LOBJS = $(PYEXT_MATH_SRCS:.c=.lo) +PYEXT_MATH_OBJS = $(PYEXT_MATH_SRCS:.c=.o) + +PYEXT_MATH_SHARED = pyext/math$(PYTHON_SOEXT) +PYEXT_MATH_STATIC = pyext/math$(OS_ARCHIVE_EXT) + +$(PYEXT_MATH_SHARED): $(PYEXT_MATH_LOBJS) +$(PYEXT_MATH_STATIC): $(PYEXT_MATH_OBJS) + +pyext-math-shared: $(PYEXT_MATH_SHARED) +pyext-math-static: $(PYEXT_MATH_STATIC) + +pyext-math-clean: + rm -f $(PYEXT_MATH_LOBJS) + rm -f $(PYEXT_MATH_OBJS) + rm -f $(PYEXT_MATH_SHARED) + rm -f $(PYEXT_MATH_STATIC) + +clean: pyext-math-clean + +.PHONY: pyext-math-shared +.PHONY: pyext-math-static +.PHONY: pyext-math-clean + + +# _bz2 +PYEXT_BZ2_SRCS += pyext/obj/_bz2module.c + +PYEXT_BZ2_LOBJS = $(PYEXT_BZ2_SRCS:.c=.lo) +PYEXT_BZ2_OBJS = $(PYEXT_BZ2_SRCS:.c=.o) + + +PYEXT_BZ2_SHARED = pyext/_bz2$(PYTHON_SOEXT) +PYEXT_BZ2_STATIC = pyext/_bz2$(OS_ARCHIVE_EXT) + +$(PYEXT_BZ2_SHARED): LDFLAGS_DYNEXT += -lbz2 +$(PYEXT_BZ2_SHARED): $(PYEXT_BZ2_LOBJS) +$(PYEXT_BZ2_STATIC): $(PYEXT_BZ2_OBJS) + +pyext-bz2-shared: $(PYEXT_BZ2_SHARED) +pyext-bz2-static: $(PYEXT_BZ2_STATIC) + +pyext-bz2-clean: + rm -f $(PYEXT_BZ2_LOBJS) + rm -f $(PYEXT_BZ2_OBJS) + rm -f $(PYEXT_BZ2_SHARED) + rm -f $(PYEXT_BZ2_STATIC) + +clean: pyext-bz2-clean + +.PHONY: pyext-bz2-shared +.PHONY: pyext-bz2-static +.PHONY: pyext-bz2-clean + + +# _ctypes +PYEXT_CTYPES_SRCS += pyext/obj/_ctypes/_ctypes.c +PYEXT_CTYPES_SRCS += pyext/obj/_ctypes/callbacks.c +PYEXT_CTYPES_SRCS += pyext/obj/_ctypes/callproc.c +PYEXT_CTYPES_SRCS += pyext/obj/_ctypes/stgdict.c +PYEXT_CTYPES_SRCS += pyext/obj/_ctypes/cfield.c + +PYEXT_CTYPES_LOBJS = $(PYEXT_CTYPES_SRCS:.c=.lo) +PYEXT_CTYPES_OBJS = $(PYEXT_CTYPES_SRCS:.c=.o) + + +PYEXT_CTYPES_SHARED = pyext/_ctypes$(PYTHON_SOEXT) +PYEXT_CTYPES_STATIC = pyext/_ctypes$(OS_ARCHIVE_EXT) + +$(PYEXT_CTYPES_SHARED): LDFLAGS_DYNEXT += -lffi +$(PYEXT_CTYPES_SHARED): $(PYEXT_CTYPES_LOBJS) +$(PYEXT_CTYPES_STATIC): $(PYEXT_CTYPES_OBJS) + +pyext-ctypes-shared: $(PYEXT_CTYPES_SHARED) +pyext-ctypes-static: $(PYEXT_CTYPES_STATIC) + +pyext-ctypes-clean: + rm -f $(PYEXT_CTYPES_LOBJS) + rm -f $(PYEXT_CTYPES_OBJS) + rm -f $(PYEXT_CTYPES_SHARED) + rm -f $(PYEXT_CTYPES_STATIC) + +clean: pyext-ctypes-clean + +.PHONY: pyext-ctypes-shared +.PHONY: pyext-ctypes-static +.PHONY: pyext-ctypes-clean + + +# _curses +PYEXT_CURSES_SRCS += pyext/obj/_cursesmodule.c + +PYEXT_CURSES_LOBJS = $(PYEXT_CURSES_SRCS:.c=.lo) +PYEXT_CURSES_OBJS = $(PYEXT_CURSES_SRCS:.c=.o) + +$(PYEXT_CURSES_LOBJS): CFLAGS_CONFIG += $(CFLAGS_NCURSES) +$(PYEXT_CURSES_OBJS): CFLAGS_CONFIG += $(CFLAGS_NCURSES) + +PYEXT_CURSES_SHARED = pyext/_curses$(PYTHON_SOEXT) +PYEXT_CURSES_STATIC = pyext/_curses$(OS_ARCHIVE_EXT) + +$(PYEXT_CURSES_SHARED): LDFLAGS_DYNEXT += $(LDFLAGS_NCURSES) +$(PYEXT_CURSES_SHARED): $(PYEXT_CURSES_LOBJS) +$(PYEXT_CURSES_STATIC): $(PYEXT_CURSES_OBJS) + +pyext-curses-shared: $(PYEXT_CURSES_SHARED) +pyext-curses-static: $(PYEXT_CURSES_STATIC) + +pyext-curses-clean: + rm -f $(PYEXT_CURSES_LOBJS) + rm -f $(PYEXT_CURSES_OBJS) + rm -f $(PYEXT_CURSES_SHARED) + rm -f $(PYEXT_CURSES_STATIC) + +clean: pyext-curses-clean + +.PHONY: pyext-curses-shared +.PHONY: pyext-curses-static +.PHONY: pyext-curses-clean + + +# _curses_panel +PYEXT_CURSES_PANEL_SRCS += pyext/obj/_curses_panel.c + +PYEXT_CURSES_PANEL_LOBJS = $(PYEXT_CURSES_PANEL_SRCS:.c=.lo) +PYEXT_CURSES_PANEL_OBJS = $(PYEXT_CURSES_PANEL_SRCS:.c=.o) + +$(PYEXT_CURSES_PANEL_LOBJS): CFLAGS_CONFIG += $(CFLAGS_NCURSES) +$(PYEXT_CURSES_PANEL_OBJS): CFLAGS_CONFIG += $(CFLAGS_NCURSES) + +PYEXT_CURSES_PANEL_SHARED = pyext/_curses_panel$(PYTHON_SOEXT) +PYEXT_CURSES_PANEL_STATIC = pyext/_curses_panel$(OS_ARCHIVE_EXT) + +$(PYEXT_CURSES_PANEL_SHARED): LDFLAGS_DYNEXT += $(LDFLAGS_NCURSES) +$(PYEXT_CURSES_PANEL_SHARED): $(PYEXT_CURSES_PANEL_LOBJS) +$(PYEXT_CURSES_PANEL_STATIC): $(PYEXT_CURSES_PANEL_OBJS) + +pyext-curses_panel-shared: $(PYEXT_CURSES_PANEL_SHARED) +pyext-curses_panel-static: $(PYEXT_CURSES_PANEL_STATIC) + +pyext-curses_panel-clean: + rm -f $(PYEXT_CURSES_PANEL_LOBJS) + rm -f $(PYEXT_CURSES_PANEL_OBJS) + rm -f $(PYEXT_CURSES_PANEL_SHARED) + rm -f $(PYEXT_CURSES_PANEL_STATIC) + +clean: pyext-curses_panel-clean + +.PHONY: pyext-curses_panel-shared +.PHONY: pyext-curses_panel-static +.PHONY: pyext-curses_panel-clean + + +# _decimal +PYEXT_DECIMAL_SRCS += pyext/obj/_decimal/_decimal.c +PYEXT_DECIMAL_SRCS += pyext/obj/_decimal/libmpdec/basearith.c +PYEXT_DECIMAL_SRCS += pyext/obj/_decimal/libmpdec/constants.c +PYEXT_DECIMAL_SRCS += pyext/obj/_decimal/libmpdec/context.c +PYEXT_DECIMAL_SRCS += pyext/obj/_decimal/libmpdec/convolute.c +PYEXT_DECIMAL_SRCS += pyext/obj/_decimal/libmpdec/crt.c +PYEXT_DECIMAL_SRCS += pyext/obj/_decimal/libmpdec/difradix2.c +PYEXT_DECIMAL_SRCS += pyext/obj/_decimal/libmpdec/fnt.c +PYEXT_DECIMAL_SRCS += pyext/obj/_decimal/libmpdec/fourstep.c +PYEXT_DECIMAL_SRCS += pyext/obj/_decimal/libmpdec/io.c +PYEXT_DECIMAL_SRCS += pyext/obj/_decimal/libmpdec/memory.c +PYEXT_DECIMAL_SRCS += pyext/obj/_decimal/libmpdec/mpdecimal.c +PYEXT_DECIMAL_SRCS += pyext/obj/_decimal/libmpdec/numbertheory.c +PYEXT_DECIMAL_SRCS += pyext/obj/_decimal/libmpdec/sixstep.c +PYEXT_DECIMAL_SRCS += pyext/obj/_decimal/libmpdec/transpose.c + +PYEXT_DECIMAL_LOBJS = $(PYEXT_DECIMAL_SRCS:.c=.lo) +PYEXT_DECIMAL_OBJS = $(PYEXT_DECIMAL_SRCS:.c=.o) + +$(PYEXT_DECIMAL_LOBJS): CFLAGS_CONFIG += -I$(SOURCE_DIR)/Modules/_decimal/libmpdec -DUNIVERSAL +$(PYEXT_DECIMAL_OBJS): CFLAGS_CONFIG += -I$(SOURCE_DIR)/Modules/_decimal/libmpdec -DUNIVERSAL + +PYEXT_DECIMAL_SHARED = pyext/_decimal$(PYTHON_SOEXT) +PYEXT_DECIMAL_STATIC = pyext/_decimal$(OS_ARCHIVE_EXT) + +$(PYEXT_DECIMAL_SHARED): $(PYEXT_DECIMAL_LOBJS) +$(PYEXT_DECIMAL_STATIC): $(PYEXT_DECIMAL_OBJS) + +pyext-decimal-shared: $(PYEXT_DECIMAL_SHARED) +pyext-decimal-static: $(PYEXT_DECIMAL_STATIC) + +pyext-decimal-clean: + rm -f $(PYEXT_DECIMAL_LOBJS) + rm -f $(PYEXT_DECIMAL_OBJS) + rm -f $(PYEXT_DECIMAL_SHARED) + rm -f $(PYEXT_DECIMAL_STATIC) + +clean: pyext-decimal-clean + +.PHONY: pyext-decimal-shared +.PHONY: pyext-decimal-static +.PHONY: pyext-decimal-clean + + +# _dbm +PYEXT_DBM_SRCS += pyext/obj/_dbmmodule.c + +PYEXT_DBM_LOBJS = $(PYEXT_DBM_SRCS:.c=.lo) +PYEXT_DBM_OBJS = $(PYEXT_DBM_SRCS:.c=.o) + +$(PYEXT_DBM_LOBJS): CFLAGS_CONFIG += $(CFLAGS_DBM) +$(PYEXT_DBM_OBJS): CFLAGS_CONFIG += $(CFLAGS_DBM) + +PYEXT_DBM_SHARED = pyext/_dbm$(PYTHON_SOEXT) +PYEXT_DBM_STATIC = pyext/_dbm$(OS_ARCHIVE_EXT) + +$(PYEXT_DBM_SHARED): LDFLAGS_DYNEXT += $(LDFLAGS_DBM) +$(PYEXT_DBM_SHARED): $(PYEXT_DBM_LOBJS) +$(PYEXT_DBM_STATIC): $(PYEXT_DBM_OBJS) + +pyext-dbm-shared: $(PYEXT_DBM_SHARED) +pyext-dbm-static: $(PYEXT_DBM_STATIC) + +pyext-dbm-clean: + rm -f $(PYEXT_DBM_LOBJS) + rm -f $(PYEXT_DBM_OBJS) + rm -f $(PYEXT_DBM_SHARED) + rm -f $(PYEXT_DBM_STATIC) + +clean: pyext-dbm-clean + +.PHONY: pyext-dbm-shared +.PHONY: pyext-dbm-static +.PHONY: pyext-dbm-clean + + +# _gdbm +PYEXT_GDBM_SRCS += pyext/obj/_gdbmmodule.c + +PYEXT_GDBM_LOBJS = $(PYEXT_GDBM_SRCS:.c=.lo) +PYEXT_GDBM_OBJS = $(PYEXT_GDBM_SRCS:.c=.o) + + +PYEXT_GDBM_SHARED = pyext/_gdbm$(PYTHON_SOEXT) +PYEXT_GDBM_STATIC = pyext/_gdbm$(OS_ARCHIVE_EXT) + +$(PYEXT_GDBM_SHARED): LDFLAGS_DYNEXT += -lgdbm +$(PYEXT_GDBM_SHARED): $(PYEXT_GDBM_LOBJS) +$(PYEXT_GDBM_STATIC): $(PYEXT_GDBM_OBJS) + +pyext-gdbm-shared: $(PYEXT_GDBM_SHARED) +pyext-gdbm-static: $(PYEXT_GDBM_STATIC) + +pyext-gdbm-clean: + rm -f $(PYEXT_GDBM_LOBJS) + rm -f $(PYEXT_GDBM_OBJS) + rm -f $(PYEXT_GDBM_SHARED) + rm -f $(PYEXT_GDBM_STATIC) + +clean: pyext-gdbm-clean + +.PHONY: pyext-gdbm-shared +.PHONY: pyext-gdbm-static +.PHONY: pyext-gdbm-clean + + +# _hashlib +PYEXT_HASHLIB_SRCS += pyext/obj/_hashopenssl.c + +PYEXT_HASHLIB_LOBJS = $(PYEXT_HASHLIB_SRCS:.c=.lo) +PYEXT_HASHLIB_OBJS = $(PYEXT_HASHLIB_SRCS:.c=.o) + + +PYEXT_HASHLIB_SHARED = pyext/_hashlib$(PYTHON_SOEXT) +PYEXT_HASHLIB_STATIC = pyext/_hashlib$(OS_ARCHIVE_EXT) + +$(PYEXT_HASHLIB_SHARED): LDFLAGS_DYNEXT += -lssl -lcrypto +$(PYEXT_HASHLIB_SHARED): $(PYEXT_HASHLIB_LOBJS) +$(PYEXT_HASHLIB_STATIC): $(PYEXT_HASHLIB_OBJS) + +pyext-hashlib-shared: $(PYEXT_HASHLIB_SHARED) +pyext-hashlib-static: $(PYEXT_HASHLIB_STATIC) + +pyext-hashlib-clean: + rm -f $(PYEXT_HASHLIB_LOBJS) + rm -f $(PYEXT_HASHLIB_OBJS) + rm -f $(PYEXT_HASHLIB_SHARED) + rm -f $(PYEXT_HASHLIB_STATIC) + +clean: pyext-hashlib-clean + +.PHONY: pyext-hashlib-shared +.PHONY: pyext-hashlib-static +.PHONY: pyext-hashlib-clean + + +# _lzma +PYEXT_LZMA_SRCS += pyext/obj/_lzmamodule.c + +PYEXT_LZMA_LOBJS = $(PYEXT_LZMA_SRCS:.c=.lo) +PYEXT_LZMA_OBJS = $(PYEXT_LZMA_SRCS:.c=.o) + + +PYEXT_LZMA_SHARED = pyext/_lzma$(PYTHON_SOEXT) +PYEXT_LZMA_STATIC = pyext/_lzma$(OS_ARCHIVE_EXT) + +$(PYEXT_LZMA_SHARED): LDFLAGS_DYNEXT += -llzma +$(PYEXT_LZMA_SHARED): $(PYEXT_LZMA_LOBJS) +$(PYEXT_LZMA_STATIC): $(PYEXT_LZMA_OBJS) + +pyext-lzma-shared: $(PYEXT_LZMA_SHARED) +pyext-lzma-static: $(PYEXT_LZMA_STATIC) + +pyext-lzma-clean: + rm -f $(PYEXT_LZMA_LOBJS) + rm -f $(PYEXT_LZMA_OBJS) + rm -f $(PYEXT_LZMA_SHARED) + rm -f $(PYEXT_LZMA_STATIC) + +clean: pyext-lzma-clean + +.PHONY: pyext-lzma-shared +.PHONY: pyext-lzma-static +.PHONY: pyext-lzma-clean + + +# _sqlite3 +PYEXT_SQLITE3_SRCS += pyext/obj/_sqlite/cache.c +PYEXT_SQLITE3_SRCS += pyext/obj/_sqlite/connection.c +PYEXT_SQLITE3_SRCS += pyext/obj/_sqlite/cursor.c +PYEXT_SQLITE3_SRCS += pyext/obj/_sqlite/microprotocols.c +PYEXT_SQLITE3_SRCS += pyext/obj/_sqlite/module.c +PYEXT_SQLITE3_SRCS += pyext/obj/_sqlite/prepare_protocol.c +PYEXT_SQLITE3_SRCS += pyext/obj/_sqlite/row.c +PYEXT_SQLITE3_SRCS += pyext/obj/_sqlite/statement.c +PYEXT_SQLITE3_SRCS += pyext/obj/_sqlite/util.c + +PYEXT_SQLITE3_LOBJS = $(PYEXT_SQLITE3_SRCS:.c=.lo) +PYEXT_SQLITE3_OBJS = $(PYEXT_SQLITE3_SRCS:.c=.o) + +$(PYEXT_SQLITE3_LOBJS): CFLAGS_CONFIG += $(CFLAGS_SQLITE) +$(PYEXT_SQLITE3_OBJS): CFLAGS_CONFIG += $(CFLAGS_SQLITE) + +PYEXT_SQLITE3_SHARED = pyext/_sqlite3$(PYTHON_SOEXT) +PYEXT_SQLITE3_STATIC = pyext/_sqlite3$(OS_ARCHIVE_EXT) + +$(PYEXT_SQLITE3_SHARED): LDFLAGS_DYNEXT += $(LDFLAGS_SQLITE) +$(PYEXT_SQLITE3_SHARED): $(PYEXT_SQLITE3_LOBJS) +$(PYEXT_SQLITE3_STATIC): $(PYEXT_SQLITE3_OBJS) + +pyext-sqlite3-shared: $(PYEXT_SQLITE3_SHARED) +pyext-sqlite3-static: $(PYEXT_SQLITE3_STATIC) + +pyext-sqlite3-clean: + rm -f $(PYEXT_SQLITE3_LOBJS) + rm -f $(PYEXT_SQLITE3_OBJS) + rm -f $(PYEXT_SQLITE3_SHARED) + rm -f $(PYEXT_SQLITE3_STATIC) + +clean: pyext-sqlite3-clean + +.PHONY: pyext-sqlite3-shared +.PHONY: pyext-sqlite3-static +.PHONY: pyext-sqlite3-clean + + +# _ssl +PYEXT_SSL_SRCS += pyext/obj/_ssl.c + +PYEXT_SSL_LOBJS = $(PYEXT_SSL_SRCS:.c=.lo) +PYEXT_SSL_OBJS = $(PYEXT_SSL_SRCS:.c=.o) + + +PYEXT_SSL_SHARED = pyext/_ssl$(PYTHON_SOEXT) +PYEXT_SSL_STATIC = pyext/_ssl$(OS_ARCHIVE_EXT) + +$(PYEXT_SSL_SHARED): LDFLAGS_DYNEXT += -lssl -lcrypto +$(PYEXT_SSL_SHARED): $(PYEXT_SSL_LOBJS) +$(PYEXT_SSL_STATIC): $(PYEXT_SSL_OBJS) + +pyext-ssl-shared: $(PYEXT_SSL_SHARED) +pyext-ssl-static: $(PYEXT_SSL_STATIC) + +pyext-ssl-clean: + rm -f $(PYEXT_SSL_LOBJS) + rm -f $(PYEXT_SSL_OBJS) + rm -f $(PYEXT_SSL_SHARED) + rm -f $(PYEXT_SSL_STATIC) + +clean: pyext-ssl-clean + +.PHONY: pyext-ssl-shared +.PHONY: pyext-ssl-static +.PHONY: pyext-ssl-clean + + +# _tkinter +PYEXT_TKINTER_SRCS += pyext/obj/_tkinter.c +PYEXT_TKINTER_SRCS += pyext/obj/tkappinit.c + +PYEXT_TKINTER_LOBJS = $(PYEXT_TKINTER_SRCS:.c=.lo) +PYEXT_TKINTER_OBJS = $(PYEXT_TKINTER_SRCS:.c=.o) + +$(PYEXT_TKINTER_LOBJS): CFLAGS_CONFIG += $(CFLAGS_TCLTK) +$(PYEXT_TKINTER_OBJS): CFLAGS_CONFIG += $(CFLAGS_TCLTK) + +PYEXT_TKINTER_SHARED = pyext/_tkinter$(PYTHON_SOEXT) +PYEXT_TKINTER_STATIC = pyext/_tkinter$(OS_ARCHIVE_EXT) + +$(PYEXT_TKINTER_SHARED): LDFLAGS_DYNEXT += $(LDFLAGS_TCLTK) +$(PYEXT_TKINTER_SHARED): $(PYEXT_TKINTER_LOBJS) +$(PYEXT_TKINTER_STATIC): $(PYEXT_TKINTER_OBJS) + +pyext-tkinter-shared: $(PYEXT_TKINTER_SHARED) +pyext-tkinter-static: $(PYEXT_TKINTER_STATIC) + +pyext-tkinter-clean: + rm -f $(PYEXT_TKINTER_LOBJS) + rm -f $(PYEXT_TKINTER_OBJS) + rm -f $(PYEXT_TKINTER_SHARED) + rm -f $(PYEXT_TKINTER_STATIC) + +clean: pyext-tkinter-clean + +.PHONY: pyext-tkinter-shared +.PHONY: pyext-tkinter-static +.PHONY: pyext-tkinter-clean + + +# _uuid +PYEXT_UUID_SRCS += pyext/obj/_uuidmodule.c + +PYEXT_UUID_LOBJS = $(PYEXT_UUID_SRCS:.c=.lo) +PYEXT_UUID_OBJS = $(PYEXT_UUID_SRCS:.c=.o) + + +PYEXT_UUID_SHARED = pyext/_uuid$(PYTHON_SOEXT) +PYEXT_UUID_STATIC = pyext/_uuid$(OS_ARCHIVE_EXT) + +$(PYEXT_UUID_SHARED): LDFLAGS_DYNEXT += -luuid +$(PYEXT_UUID_SHARED): $(PYEXT_UUID_LOBJS) +$(PYEXT_UUID_STATIC): $(PYEXT_UUID_OBJS) + +pyext-uuid-shared: $(PYEXT_UUID_SHARED) +pyext-uuid-static: $(PYEXT_UUID_STATIC) + +pyext-uuid-clean: + rm -f $(PYEXT_UUID_LOBJS) + rm -f $(PYEXT_UUID_OBJS) + rm -f $(PYEXT_UUID_SHARED) + rm -f $(PYEXT_UUID_STATIC) + +clean: pyext-uuid-clean + +.PHONY: pyext-uuid-shared +.PHONY: pyext-uuid-static +.PHONY: pyext-uuid-clean + + +# binascii +PYEXT_BINASCII_SRCS += pyext/obj/binascii.c + +PYEXT_BINASCII_LOBJS = $(PYEXT_BINASCII_SRCS:.c=.lo) +PYEXT_BINASCII_OBJS = $(PYEXT_BINASCII_SRCS:.c=.o) + + +PYEXT_BINASCII_SHARED = pyext/binascii$(PYTHON_SOEXT) +PYEXT_BINASCII_STATIC = pyext/binascii$(OS_ARCHIVE_EXT) + +$(PYEXT_BINASCII_SHARED): LDFLAGS_DYNEXT += -lz +$(PYEXT_BINASCII_SHARED): $(PYEXT_BINASCII_LOBJS) +$(PYEXT_BINASCII_STATIC): $(PYEXT_BINASCII_OBJS) + +pyext-binascii-shared: $(PYEXT_BINASCII_SHARED) +pyext-binascii-static: $(PYEXT_BINASCII_STATIC) + +pyext-binascii-clean: + rm -f $(PYEXT_BINASCII_LOBJS) + rm -f $(PYEXT_BINASCII_OBJS) + rm -f $(PYEXT_BINASCII_SHARED) + rm -f $(PYEXT_BINASCII_STATIC) + +clean: pyext-binascii-clean + +.PHONY: pyext-binascii-shared +.PHONY: pyext-binascii-static +.PHONY: pyext-binascii-clean + + +# pyexpat +PYEXT_PYEXPAT_SRCS += pyext/obj/pyexpat.c + +PYEXT_PYEXPAT_LOBJS = $(PYEXT_PYEXPAT_SRCS:.c=.lo) +PYEXT_PYEXPAT_OBJS = $(PYEXT_PYEXPAT_SRCS:.c=.o) + + +PYEXT_PYEXPAT_SHARED = pyext/pyexpat$(PYTHON_SOEXT) +PYEXT_PYEXPAT_STATIC = pyext/pyexpat$(OS_ARCHIVE_EXT) + +$(PYEXT_PYEXPAT_SHARED): LDFLAGS_DYNEXT += -lexpat +$(PYEXT_PYEXPAT_SHARED): $(PYEXT_PYEXPAT_LOBJS) +$(PYEXT_PYEXPAT_STATIC): $(PYEXT_PYEXPAT_OBJS) + +pyext-pyexpat-shared: $(PYEXT_PYEXPAT_SHARED) +pyext-pyexpat-static: $(PYEXT_PYEXPAT_STATIC) + +pyext-pyexpat-clean: + rm -f $(PYEXT_PYEXPAT_LOBJS) + rm -f $(PYEXT_PYEXPAT_OBJS) + rm -f $(PYEXT_PYEXPAT_SHARED) + rm -f $(PYEXT_PYEXPAT_STATIC) + +clean: pyext-pyexpat-clean + +.PHONY: pyext-pyexpat-shared +.PHONY: pyext-pyexpat-static +.PHONY: pyext-pyexpat-clean + + +# readline +PYEXT_READLINE_SRCS += pyext/obj/readline.c + +PYEXT_READLINE_LOBJS = $(PYEXT_READLINE_SRCS:.c=.lo) +PYEXT_READLINE_OBJS = $(PYEXT_READLINE_SRCS:.c=.o) + + +PYEXT_READLINE_SHARED = pyext/readline$(PYTHON_SOEXT) +PYEXT_READLINE_STATIC = pyext/readline$(OS_ARCHIVE_EXT) + +$(PYEXT_READLINE_SHARED): LDFLAGS_DYNEXT += -lreadline +$(PYEXT_READLINE_SHARED): $(PYEXT_READLINE_LOBJS) +$(PYEXT_READLINE_STATIC): $(PYEXT_READLINE_OBJS) + +pyext-readline-shared: $(PYEXT_READLINE_SHARED) +pyext-readline-static: $(PYEXT_READLINE_STATIC) + +pyext-readline-clean: + rm -f $(PYEXT_READLINE_LOBJS) + rm -f $(PYEXT_READLINE_OBJS) + rm -f $(PYEXT_READLINE_SHARED) + rm -f $(PYEXT_READLINE_STATIC) + +clean: pyext-readline-clean + +.PHONY: pyext-readline-shared +.PHONY: pyext-readline-static +.PHONY: pyext-readline-clean + + +# zlib +PYEXT_ZLIB_SRCS += pyext/obj/zlibmodule.c + +PYEXT_ZLIB_LOBJS = $(PYEXT_ZLIB_SRCS:.c=.lo) +PYEXT_ZLIB_OBJS = $(PYEXT_ZLIB_SRCS:.c=.o) + + +PYEXT_ZLIB_SHARED = pyext/zlib$(PYTHON_SOEXT) +PYEXT_ZLIB_STATIC = pyext/zlib$(OS_ARCHIVE_EXT) + +$(PYEXT_ZLIB_SHARED): LDFLAGS_DYNEXT += -lz +$(PYEXT_ZLIB_SHARED): $(PYEXT_ZLIB_LOBJS) +$(PYEXT_ZLIB_STATIC): $(PYEXT_ZLIB_OBJS) + +pyext-zlib-shared: $(PYEXT_ZLIB_SHARED) +pyext-zlib-static: $(PYEXT_ZLIB_STATIC) + +pyext-zlib-clean: + rm -f $(PYEXT_ZLIB_LOBJS) + rm -f $(PYEXT_ZLIB_OBJS) + rm -f $(PYEXT_ZLIB_SHARED) + rm -f $(PYEXT_ZLIB_STATIC) + +clean: pyext-zlib-clean + +.PHONY: pyext-zlib-shared +.PHONY: pyext-zlib-static +.PHONY: pyext-zlib-clean + + diff --git a/project/variants/3.7.1/subsets.mk b/project/variants/3.7.1/subsets.mk new file mode 100644 index 0000000..a66b59a --- /dev/null +++ b/project/variants/3.7.1/subsets.mk @@ -0,0 +1,155 @@ +# extension subsets: shared +PYEXT_SUBSET_SHARED_ANYOS_CORE = \ + $(PYEXT_ARRAY_SHARED) \ + $(PYEXT_ASYNCIO_SHARED) \ + $(PYEXT_BINASCII_SHARED) \ + $(PYEXT_BISECT_SHARED) \ + $(PYEXT_BLAKE2_SHARED) \ + $(PYEXT_BZ2_SHARED) \ + $(PYEXT_CMATH_SHARED) \ + $(PYEXT_CODECS_CN_SHARED) \ + $(PYEXT_CODECS_HK_SHARED) \ + $(PYEXT_CODECS_ISO2022_SHARED) \ + $(PYEXT_CODECS_JP_SHARED) \ + $(PYEXT_CODECS_KR_SHARED) \ + $(PYEXT_CODECS_TW_SHARED) \ + $(PYEXT_CONTEXTVARS_SHARED) \ + $(PYEXT_CRYPT_SHARED) \ + $(PYEXT_CSV_SHARED) \ + $(PYEXT_CTYPES_SHARED) \ + $(PYEXT_CTYPES_TEST_SHARED) \ + $(PYEXT_CURSES_PANEL_SHARED) \ + $(PYEXT_CURSES_SHARED) \ + $(PYEXT_DATETIME_SHARED) \ + $(PYEXT_DBM_SHARED) \ + $(PYEXT_DECIMAL_SHARED) \ + $(PYEXT_ELEMENTTREE_SHARED) \ + $(PYEXT_FCNTL_SHARED) \ + $(PYEXT_GDBM_SHARED) \ + $(PYEXT_GRP_SHARED) \ + $(PYEXT_HASHLIB_SHARED) \ + $(PYEXT_HEAPQ_SHARED) \ + $(PYEXT_JSON_SHARED) \ + $(PYEXT_LSPROF_SHARED) \ + $(PYEXT_LZMA_SHARED) \ + $(PYEXT_MATH_SHARED) \ + $(PYEXT_MD5_SHARED) \ + $(PYEXT_MMAP_SHARED) \ + $(PYEXT_MULTIBYTECODEC_SHARED) \ + $(PYEXT_MULTIPROCESSING_SHARED) \ + $(PYEXT_OPCODE_SHARED) \ + $(PYEXT_PARSER_SHARED) \ + $(PYEXT_PICKLE_SHARED) \ + $(PYEXT_POSIXSUBPROCESS_SHARED) \ + $(PYEXT_PYEXPAT_SHARED) \ + $(PYEXT_QUEUE_SHARED) \ + $(PYEXT_RANDOM_SHARED) \ + $(PYEXT_READLINE_SHARED) \ + $(PYEXT_RESOURCE_SHARED) \ + $(PYEXT_SELECT_SHARED) \ + $(PYEXT_SHA1_SHARED) \ + $(PYEXT_SHA256_SHARED) \ + $(PYEXT_SHA3_SHARED) \ + $(PYEXT_SHA512_SHARED) \ + $(PYEXT_SOCKET_SHARED) \ + $(PYEXT_SPWD_SHARED) \ + $(PYEXT_SQLITE3_SHARED) \ + $(PYEXT_STRUCT_SHARED) \ + $(PYEXT_SYSLOG_SHARED) \ + $(PYEXT_TERMIOS_SHARED) \ + $(PYEXT_TESTBUFFER_SHARED) \ + $(PYEXT_TESTCAPI_SHARED) \ + $(PYEXT_TESTIMPORTMULTIPLE_SHARED) \ + $(PYEXT_TESTMULTIPHASE_SHARED) \ + $(PYEXT_UNICODEDATA_SHARED) \ + $(PYEXT_UUID_SHARED) \ + $(PYEXT_XXLIMITED_SHARED) \ + $(PYEXT_XXTESTFUZZ_SHARED) \ + $(PYEXT_ZLIB_SHARED) \ + +PYEXT_SUBSET_SHARED_ANYOS_AUDIO = \ + $(PYEXT_AUDIOOP_SHARED) \ + $(PYEXT_OSSAUDIODEV_SHARED) \ + +PYEXT_SUBSET_SHARED_ANYOS_TCLTK = \ + $(PYEXT_TKINTER_SHARED) \ + +# extension subsets: static +PYEXT_SUBSET_STATIC_ANYOS_CORE = \ + $(PYEXT_ARRAY_STATIC) \ + $(PYEXT_ASYNCIO_STATIC) \ + $(PYEXT_BINASCII_STATIC) \ + $(PYEXT_BISECT_STATIC) \ + $(PYEXT_BLAKE2_STATIC) \ + $(PYEXT_BZ2_STATIC) \ + $(PYEXT_CMATH_STATIC) \ + $(PYEXT_CODECS_CN_STATIC) \ + $(PYEXT_CODECS_HK_STATIC) \ + $(PYEXT_CODECS_ISO2022_STATIC) \ + $(PYEXT_CODECS_JP_STATIC) \ + $(PYEXT_CODECS_KR_STATIC) \ + $(PYEXT_CODECS_TW_STATIC) \ + $(PYEXT_CONTEXTVARS_STATIC) \ + $(PYEXT_CRYPT_STATIC) \ + $(PYEXT_CSV_STATIC) \ + $(PYEXT_CTYPES_STATIC) \ + $(PYEXT_CTYPES_TEST_STATIC) \ + $(PYEXT_CURSES_PANEL_STATIC) \ + $(PYEXT_CURSES_STATIC) \ + $(PYEXT_DATETIME_STATIC) \ + $(PYEXT_DBM_STATIC) \ + $(PYEXT_DECIMAL_STATIC) \ + $(PYEXT_ELEMENTTREE_STATIC) \ + $(PYEXT_FCNTL_STATIC) \ + $(PYEXT_GDBM_STATIC) \ + $(PYEXT_GRP_STATIC) \ + $(PYEXT_HASHLIB_STATIC) \ + $(PYEXT_HEAPQ_STATIC) \ + $(PYEXT_JSON_STATIC) \ + $(PYEXT_LSPROF_STATIC) \ + $(PYEXT_LZMA_STATIC) \ + $(PYEXT_MATH_STATIC) \ + $(PYEXT_MD5_STATIC) \ + $(PYEXT_MMAP_STATIC) \ + $(PYEXT_MULTIBYTECODEC_STATIC) \ + $(PYEXT_MULTIPROCESSING_STATIC) \ + $(PYEXT_OPCODE_STATIC) \ + $(PYEXT_PARSER_STATIC) \ + $(PYEXT_PICKLE_STATIC) \ + $(PYEXT_POSIXSUBPROCESS_STATIC) \ + $(PYEXT_PYEXPAT_STATIC) \ + $(PYEXT_QUEUE_STATIC) \ + $(PYEXT_RANDOM_STATIC) \ + $(PYEXT_READLINE_STATIC) \ + $(PYEXT_RESOURCE_STATIC) \ + $(PYEXT_SELECT_STATIC) \ + $(PYEXT_SHA1_STATIC) \ + $(PYEXT_SHA256_STATIC) \ + $(PYEXT_SHA3_STATIC) \ + $(PYEXT_SHA512_STATIC) \ + $(PYEXT_SOCKET_STATIC) \ + $(PYEXT_SPWD_STATIC) \ + $(PYEXT_SQLITE3_STATIC) \ + $(PYEXT_STRUCT_STATIC) \ + $(PYEXT_SYSLOG_STATIC) \ + $(PYEXT_TERMIOS_STATIC) \ + $(PYEXT_TESTBUFFER_STATIC) \ + $(PYEXT_TESTCAPI_STATIC) \ + $(PYEXT_TESTIMPORTMULTIPLE_STATIC) \ + $(PYEXT_TESTMULTIPHASE_STATIC) \ + $(PYEXT_UNICODEDATA_STATIC) \ + $(PYEXT_UUID_STATIC) \ + $(PYEXT_XXLIMITED_STATIC) \ + $(PYEXT_XXTESTFUZZ_STATIC) \ + $(PYEXT_ZLIB_STATIC) \ + +PYEXT_SUBSET_STATIC_ANYOS_AUDIO = \ + $(PYEXT_AUDIOOP_STATIC) \ + $(PYEXT_OSSAUDIODEV_STATIC) \ + +PYEXT_SUBSET_STATIC_ANYOS_TCLTK = \ + $(PYEXT_TKINTER_STATIC) \ + +# pending (libressl compatibility issues): +# $(PYEXT_SSL_SHARED) \ +# $(PYEXT_SSL_STATIC) \ -- cgit v1.2.3