include Config
-VER = 3.6.1
+VER = 3.8.1
THISAPP = Python-$(VER)
DL_FILE = $(THISAPP).tar.xz
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = python3
-PAK_VER = 3
DEPS = ""
+# Normal build or $(TOOLS_DIR) build.
+#
+ifeq "$(ROOT)" ""
+ TARGET = $(DIR_INFO)/$(THISAPP)
+ CONFIGURE_ARGS = \
+ --prefix=/usr \
+ --enable-shared \
+ --with-system-expat \
+ --with-system-ffi \
+ --with-ensurepip
+else
+ TARGET = $(DIR_INFO)/$(THISAPP)-tools
+ CONFIGURE_ARGS = \
+ --prefix=$(TOOLS_DIR) \
+ --without-ensurepip
+endif
+
###############################################################################
# Top-level Rules
###############################################################################
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 692b4fc3a2ba0d54d1495d4ead5b0b5c
+$(DL_FILE)_MD5 = b3fb85fd479c0bf950c626ef80cacb57
install : $(TARGET)
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar Jxf $(DIR_DL)/$(DL_FILE)
+
+ifeq "$(ROOT)" ""
rm -rf $(DIR_APP)/Modules/_ctypes/{darwin,libffi,libffi_arm_wince,libffi_msvc,libffi_osx}
- cd $(DIR_APP) && OPT="$(CFLAGS)" ./configure \
- --prefix=/usr \
- --enable-shared \
- --with-system-ffi
+else
+ cd $(DIR_APP) && sed -i '/def add_multiarch_paths/a \ return' setup.py
+endif
+ cd $(DIR_APP) && OPT="$(CFLAGS)" ./configure $(CONFIGURE_ARGS)
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
+
+ # Remove precompiled pycache at toolchain and tests
+ifneq "$(ROOT)" ""
+ cd $(TOOLS_DIR)/lib/python3.8 && find . | grep -E "(/__pycache__|/test/)" | xargs rm -rf
+else
+ cd /usr/lib/python3.8 && find . | grep -E "(/test/)" | xargs rm -rf
+endif
+
@rm -rf $(DIR_APP)
@$(POSTBUILD)