11ca204275768de5bf5d9545412ea676ab7f628f
[zope-bootstrap.git] / Makefile
1 # -*- makefile -*-
2
3 PYTHON_URL     = http://www.python.org/ftp/python/2.4.6/Python-2.4.6.tgz
4 PYTHON_VERSION = 2.4.6
5 EZSETUP_URL    = http://peak.telecommunity.com/dist/ez_setup.py
6 PIL_URL        = http://effbot.org/downloads/Imaging-1.1.6.tar.gz
7 PIL_VERSION    = 1.1.6
8
9 ###########################################################################
10
11 PYTHON_DIR=python
12 BASEDIR=$(shell pwd)
13
14 PYTHON       = $(BASEDIR)/$(PYTHON_DIR)/bin/python
15 EASY_INSTALL = $(BASEDIR)/$(PYTHON_DIR)/bin/easy_install
16 PASTER       = $(BASEDIR)/$(PYTHON_DIR)/bin/paster
17
18 default: update
19
20 python24-unpack: .python24-unpack.stamp
21 .python24-unpack.stamp:
22         mkdir $(PYTHON_DIR)
23         wget "$(PYTHON_URL)" -O $(PYTHON_DIR)/python.tgz
24         tar -C $(PYTHON_DIR) -xzf $(PYTHON_DIR)/python.tgz
25         rm -f $(PYTHON_DIR)/python.tgz
26         touch .python24-unpack.stamp
27
28 python24-build: .python24-build.stamp
29 .python24-build.stamp:
30         cd $(PYTHON_DIR)/Python-$(PYTHON_VERSION) && ./configure --prefix=$(BASEDIR)/$(PYTHON_DIR)
31         cd $(PYTHON_DIR)/Python-$(PYTHON_VERSION) && make
32         cd $(PYTHON_DIR)/Python-$(PYTHON_VERSION) && make install
33         touch .python24-build.stamp
34
35 python24: python24-unpack python24-build
36
37 setuptools: .setuptools.stamp
38 .setuptools.stamp:
39         mkdir $(PYTHON_DIR)/Extensions
40         wget $(SETUPTOOLS_URL) -O $(PYTHON_DIR)/Extensions/ez_setup.py
41         cd $(PYTHON_DIR)/Extensions && $(PYTHON) ez_setup.py
42         touch .setuptools.stamp
43
44 eggs: .eggs.stamp
45 .eggs.stamp:
46         $(EASY_INSTALL) ZopeSkel
47         $(EASY_INSTALL) zc.buildout
48         touch .eggs.stamp
49
50 pil: .pil.stamp
51 .pil.stamp:
52         wget $(PIL_URL) -O $(PYTHON_DIR)/Extensions/pil.tgz
53         tar -C $(PYTHON_DIR)/Extensions -xzf $(PYTHON_DIR)/Extensions/pil.tgz
54         rm -f $(PYTHON_DIR)/Extensions/pil.tgz
55         cd $(PYTHON_DIR)/Extensions/Imaging-$(PIL_VERSION) && $(PYTHON) setup.py install
56         touch .pil.stamp
57
58 buildout: buildout.cfg
59 buildout.cfg:
60         $(PASTER) create --no-interactive -t plone3_buildout . zope_password=admin
61         touch .buildout.stamp
62
63 bootstrap: 
64         sed -i -e '1s/^#!.*\/python/$(subst /,\/,$(PYTHON))/' $(PYTHON_DIR)/bin/*
65         $(PYTHON) bootstrap.py
66
67 .gitignore:
68         @echo "python/" >.gitignore
69         @echo "var/" >>.gitignore
70         @echo "bin/" >>.gitignore
71         @echo "develop-eggs/" >>.gitignore
72         @echo "downloads/" >>.gitignore
73         @echo "eggs/" >>.gitignore
74         @echo "fake-eggs/" >>.gitignore
75         @echo "parts/" >>.gitignore
76         @echo "/.*.stamp" >>.gitignore
77         @echo "/.installed.cfg" >>.gitignore
78         @echo "*.pyc" >>.gitignore
79
80 update:
81         bin/buildout
82
83 update-nonet:
84         bin/buildout -No
85
86 shell:
87         @PATH=$(BASEDIR)/$(PYTHON_DIR)/bin:$(BASEDIR)/bin:$$PATH $$SHELL
88
89 init: python24 setuptools eggs pil buildout bootstrap update .gitignore