diff options
Diffstat (limited to 'package/python')
| -rw-r--r-- | package/python/python.mk | 77 | 
1 files changed, 77 insertions, 0 deletions
diff --git a/package/python/python.mk b/package/python/python.mk new file mode 100644 index 000000000..e49cc12aa --- /dev/null +++ b/package/python/python.mk @@ -0,0 +1,77 @@ +############################################################# +# +# python +# +############################################################# +PYTHON_VERSION=2.3.4 +PYTHON_SOURCE:=Python-$(PYTHON_VERSION).tar.bz2 +PYTHON_SITE:=http://python.org/ftp/python/$(PYTHON_VERSION) +PYTHON_DIR:=$(BUILD_DIR)/Python-$(PYTHON_VERSION) +PYTHON_CAT:=bzcat +PYTHON_BINARY:=python +PYTHON_TARGET_BINARY:=usr/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) -xvf - +	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 python Parser/pygen; \ +		mv python hostpython; \ +		mv Parser/pgen Parser/hostpgen; \ +		make 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) \ +		--prefix=/usr \ +		--sysconfdir=/etc \ +		--with-cxx=no \ +		$(DISABLE_NLS) \ +	); +	touch $(PYTHON_DIR)/.configured + +$(PYTHON_DIR)/$(PYTHON_BINARY): $(PYTHON_DIR)/.configured +	$(MAKE) CC=$(TARGET_CC) -C $(PYTHON_DIR) DESTDIR=$(TARGET_DIR) \ +		HOSTPYTHON=./hostpython HOSTPGEN=./Parser/hostpgen + +$(TARGET_DIR)/$(PYTHON_TARGET_BINARY): $(PYTHON_DIR)/$(PYTHON_BINARY) +	LD_LIBRARY_PATH=$(STAGING_DIR)/lib +	$(MAKE) CC=$(TARGET_CC) -C $(PYTHON_DIR) install \ +		DESTDIR=$(TARGET_DIR) CROSS_COMPILE=yes \ +		HOSTPYTHON=./hostpython HOSTPGEN=./Parser/hostpgen +	rm $(TARGET_DIR)/usr/bin/idle +	rm $(TARGET_DIR)/usr/bin/pydoc +	find $(TARGET_DIR)/usr/lib/ -name '*.pyc' -o -name '*.pyo' | xargs rm +	rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \ +		$(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc + +python: uclibc $(TARGET_DIR)/$(PYTHON_TARGET_BINARY) + +python-clean: +	-$(MAKE) -C $(PYTHON_DIR) distclean +	rm $(PYTHON_DIR)/.configured + +python-dirclean: +	rm -rf $(PYTHON_DIR)  | 
