############################################################# # # python # ############################################################# PYTHON_VERSION=2.3.4 PYTHON_SOURCE:=Python-$(PYTHON_VERSION).tgz PYTHON_SITE:=http://python.org/ftp/python/$(PYTHON_VERSION) PYTHON_DIR:=$(BUILD_DIR)/Python-$(PYTHON_VERSION) PYTHON_CAT:=zcat PYTHON_BINARY:=python PYTHON_TARGET_DIR:=/opt/python PYTHON_TARGET_LIB:=$(PYTHON_TARGET_DIR)/lib/python2.3 PYTHON_TARGET_BINARY:=$(PYTHON_TARGET_DIR)/bin/python $(DL_DIR)/$(PYTHON_SOURCE): $(WGET) -P $(DL_DIR) $(PYTHON_SITE)/$(PYTHON_SOURCE) python-source: $(DL_DIR)/$(PYTHON_SOURCE) $(PYTHON_DIR)/.unpacked: $(DL_DIR)/$(PYTHON_SOURCE) $(PYTHON_CAT) $(DL_DIR)/$(PYTHON_SOURCE) | tar -C $(BUILD_DIR) -xf - touch $(PYTHON_DIR)/.unpacked $(PYTHON_DIR)/.patched: $(PYTHON_DIR)/.unpacked $(SOURCE_DIR)/patch-kernel.sh $(PYTHON_DIR) $(SOURCE_DIR) python-*.patch touch $(PYTHON_DIR)/.patched $(PYTHON_DIR)/.hostpython: $(PYTHON_DIR)/.patched (cd $(PYTHON_DIR); rm -rf config.cache; \ OPT="-O1" \ ./configure \ --with-cxx=no \ $(DISABLE_NLS); \ $(MAKE) $(JLEVEL) python Parser/pgen; \ mv python hostpython; \ mv Parser/pgen Parser/hostpgen; \ $(MAKE) $(JLEVEL) distclean \ ); touch $(PYTHON_DIR)/.hostpython $(PYTHON_DIR)/.configured: $(PYTHON_DIR)/.hostpython (cd $(PYTHON_DIR); rm -rf config.cache; \ $(TARGET_CONFIGURE_OPTS) \ OPT="$(TARGET_OPTIMIZATION)" \ ./configure \ --target=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \ --build=$(GNU_HOST_NAME) \ --with-cxx=no \ --prefix=$(PYTHON_TARGET_DIR) \ --sysconfdir=/etc \ $(DISABLE_NLS) \ ); touch $(PYTHON_DIR)/.configured $(PYTHON_DIR)/$(PYTHON_BINARY): $(PYTHON_DIR)/.configured $(MAKE) $(JLEVEL) CC=$(TARGET_CC) -C $(PYTHON_DIR) \ HOSTPYTHON=./hostpython HOSTPGEN=./Parser/hostpgen $(TARGET_DIR)/$(PYTHON_TARGET_BINARY): $(PYTHON_DIR)/$(PYTHON_BINARY) LD_LIBRARY_PATH=$(STAGING_DIR)/lib $(MAKE) $(JLEVEL) CC=$(TARGET_CC) -C $(PYTHON_DIR) install \ DESTDIR=$(TARGET_DIR) CROSS_COMPILE=yes \ HOSTPYTHON=./hostpython HOSTPGEN=./Parser/hostpgen rm $(TARGET_DIR)/$(PYTHON_TARGET_DIR)/bin/idle rm $(TARGET_DIR)/$(PYTHON_TARGET_DIR)/bin/pydoc rm -rf $(TARGET_DIR)/$(PYTHON_TARGET_DIR)/share/locale \ $(TARGET_DIR)/$(PYTHON_TARGET_DIR)/info \ $(TARGET_DIR)/$(PYTHON_TARGET_DIR)/man \ $(TARGET_DIR)/$(PYTHON_TARGET_DIR)/share/doc \ $(TARGET_DIR)/$(PYTHON_TARGET_DIR)/include rm -rf \ $(TARGET_DIR)/$(PYTHON_TARGET_LIB)/*.py? \ $(TARGET_DIR)/$(PYTHON_TARGET_LIB)/distutils/*.py? \ $(TARGET_DIR)/$(PYTHON_TARGET_LIB)/curses/*.py? \ $(TARGET_DIR)/$(PYTHON_TARGET_LIB)/test \ $(TARGET_DIR)/$(PYTHON_TARGET_LIB)/lib-tk \ $(TARGET_DIR)/$(PYTHON_TARGET_LIB)/lib-old \ $(TARGET_DIR)/$(PYTHON_TARGET_LIB)/idlelib python: uclibc $(TARGET_DIR)/$(PYTHON_TARGET_BINARY) python-clean: -$(MAKE) $(JLEVEL) -C $(PYTHON_DIR) distclean rm $(PYTHON_DIR)/.configured python-dirclean: rm -rf $(PYTHON_DIR)