No rule, yet, to clean house.
[mediagoblin.git] / Makefile.in
1 # Makefile.in
2 #
3 # Copyright © 2012, 2013 Brandon Invergo <brandon@invergo.net>
4 #
5 # Copying and distribution of this file, with or without modification,
6 # are permitted in any medium without royalty provided the copyright
7 # notice and this notice are preserved. This file is offered as-is,
8 # without any warranty.
9
10 # List whatever files you want to include in your source distribution here.
11 # You can include whole directories but note that *everything* under that
12 # directory will be included
13 DISTFILES = PKG-INFO Makefile.in configure setup.py install-sh
14
15 DESTDIR =
16 VPATH = @srcdir@
17 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
18 PACKAGE_NAME = @PACKAGE_NAME@
19 PACKAGE_STRING = @PACKAGE_STRING@
20 PACKAGE_TARNAME = @PACKAGE_TARNAME@
21 PACKAGE_DISTNAME = ${PACKAGE_NAME}-${PACKAGE_VERSION}
22 PACKAGE_URL = @PACKAGE_URL@
23 PACKAGE_VERSION = @PACKAGE_VERSION@
24 PATH_SEPARATOR = @PATH_SEPARATOR@
25 PYTHON = @PYTHON@
26 VIRTUALENV = @VIRTUALENV@
27 SHELL = @SHELL@
28 MKDIR_P = @MKDIR_P@
29 INSTALL = @INSTALL@
30 INSTALL_PROGRAM = @INSTALL_PROGRAM@
31 INSTALL_DATA = @INSTALL_DATA@
32 INSTALL_SCRIPT = @INSTALL_SCRIPT@
33 docdir = @docdir@
34 dvidir = @dvidir@
35 exec_prefix = @exec_prefix@
36 htmldir = @htmldir@
37 includedir = @includedir@
38 infodir = @infodir@
39 prefix = @prefix@
40 srcdir = @srcdir@
41 abs_srcdir = @abs_srcdir@
42 datadir = @datadir@
43 datarootdir = @datarootdir@
44 pkgdatadir = $(datadir)/@PACKAGE_NAME@
45 pkgincludedir = $(includedir)/@PACKAGE_NAME@
46 PYTHONPATH = $(pythondir)$(PATH_SEPARATOR)$(DESTDIR)$(pythondir)
47 USE_PYTHON3 = @USE_PYTHON3@
48
49 # pkgpythondir = @pkgpythondir@
50 # pkgpyexecdir = @pkgpyexecdir@
51 # pythondir = @pythondir@
52 # pyexecdir = @pyexecdir@
53 # SPHINXBUILD = @SPHINXBUILD@
54 # POSTGRES = @POSTGRES@
55
56
57 # Maybe add a virtualenv prefix to a command
58 ifneq ($(VIRTUALENV),no)
59 # virtualenv specified to be included by config (default)
60 # ... we only use virtualenv for local development, we don't
61 # auto-deploy to it.
62
63 maybe_venved = ./bin/
64 maybe_venved_python = ./bin/python
65 # Yes, build the virtualenv as a dependency!
66 maybe_venv_dep = ./bin/python
67
68 else
69 # --without-virtualenv must have been passed in... don't build
70 # a local virtualenv or use such commands
71 maybe_venved =
72 maybe_venved_python = $(PYTHON)
73 # No need for commands to build virtualenv as a dependency!
74 maybe_venv_dep =
75 endif
76
77 .PHONY: all install uninstall distclean info install-html html \
78 install-pdf pdf install-dvi dvi install-ps ps clean dist check \
79 installdirs i18n virtualenv
80 # update postgresql
81
82 all: develop
83
84 develop: $(maybe_venv_dep) i18n paste.ini mediagoblin.ini
85
86 # NEVER clobber a user's mediagoblin.ini once they've defined it
87 mediagoblin.ini:
88 cp --no-clobber mediagoblin.example.ini mediagoblin.ini
89
90 # We just symlink the mediagoblin from the appropriate python version
91 paste.ini:
92 ifeq ($(USE_PYTHON3),yes)
93 -ln -s paste.py3.ini paste.ini
94 else
95 -ln -s paste.py2.ini paste.ini
96 endif
97
98 # base-configs: paste.ini mediagoblin.example.ini
99
100 install: installdirs
101 $(maybe_venved_python) $(srcdir)/setup.py install --prefix=$(DESTDIR)$(prefix)
102
103
104 i18n: $(maybe_venv_dep)
105 $(maybe_venved)pybabel compile -D mediagoblin -d mediagoblin/i18n/
106
107
108 ifneq ($(VIRTUALENV),no)
109 ./bin/python:
110 rm -f ./bin/python
111 virtualenv --system-site-packages .
112 ./bin/python setup.py develop --upgrade
113
114 virtualenv: bin/python
115
116 clean-virtualenv:
117 rm -rf ./bin/
118 rm -rf ./lib/
119 endif
120
121 # setup.py doesn't (yet) support an uninstall command, so until it does, you
122 # must manually remove everything that was installed here. The following example
123 # should remove a basic package installed via setup.py, but please double- and
124 # triple-check it so that you don't remove something you shouldn't!
125 # Be sure to remove any extra files you install, such as binaries or documentation!
126 #
127 # uninstall:
128 # rm -rvf $(pkgpythondir)
129 # rm -v $(pythondir)/$(PACKAGE_DISTNAME)-*.egg-info
130 #
131
132
133 clean:
134 @echo "No rule to clean house, yet."
135
136
137 # We don't know what this does yet.
138 # Originally:
139 ## Just use the usual setup.py clean command
140 #clean:
141 # $(maybe_venved_python) setup.py clean
142
143
144
145 # Clean up the output of configure
146 distclean:
147 rm -v $(srcdir)/config.log
148 rm -v $(srcdir)/config.status
149 rm -rvf $(srcdir)/autom4te.cache
150 rm -v $(srcdir)/aclocal.m4
151 rm -v $(srcdir)/Makefile
152 rm -v $(srcdir)/env
153
154
155 # You can either use the setup.py sdist command or you can roll your own here
156 dist:
157 # $(maybe_venved_python) setup.py sdist
158 mkdir $(PACKAGE_DISTNAME)
159 cp -r $(DISTFILES) $(PACKAGE_DISTNAME)
160 tar -czf $(PACKAGE_DISTNAME).tar.gz $(PACKAGE_DISTNAME)
161 rm -rf $(PACKAGE_DISTNAME)
162
163 # Use the setup.py check command
164 check:
165 $(maybe_venved_python) setup.py check
166
167 # setup.py might complain if a directory doesn't exist so just in case, make the directory
168 # here
169 installdirs:
170 $(MKDIR_P) $(DESTDIR)$(prefix)
171
172 # # Set up PostgreSQL
173 # postgresql:
174 # sudo -u $(POSTGRES) createuser mediagoblin
175 # sudo -u $(POSTGRES) createdb -E UNICODE -O mediagoblin mediagoblin
176
177 # update:
178 # ifneq ($(VIRTUALENV),no)
179 # $(prefix)/bin/python $(srcdir)/setup.py develop --prefix=$(prefix) --upgrade
180 # else
181 # $(PYTHON) $(srcdir)/setup.py develop --prefix=$(prefix) --upgrade
182 # endif
183 # $(prefix)/bin/gmg dbupdate
184
185 # The following show how to install documentation. In this example,
186 # docs are built from a separate Makefile contained in the docs
187 # directory which uses the SPHINXBUILD variable to store the location
188 # of the sphinx-build (Python doc tool) binary to use.
189
190 $(DESTDIR)$(infodir)/mediagoblin.info: docs/build/texinfo/mediagoblin.info
191 $(POST_INSTALL)
192 $(INSTALL_DATA) @< $(DESTDIR)$@
193 if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then
194 install-info --dir-file=$(DESTDIR)$(infodir)/dir \
195 $(DESTDIR)$(infodir)/foo.info;
196 else true; fi
197
198 info: docs/build/texinfo/mediagoblin.info
199
200 docs/build/texinfo/mediagoblin.info: $(wildcard docs/source/*)
201 ifneq ($(SPHINXBUILD),no)
202 $(MAKE) -C docs info SPHINXBUILD=$(SPHINXBUILD)
203 endif
204
205
206 install-html: html installdirs
207 $(INSTALL_DATA) docs/build/html/* $(DESTDIR)$(htmldir)
208
209 html: docs/build/html/index.html
210
211 docs/build/html/index.html: $(wildcard $(srcdir)/docs/source/*)
212 ifneq ($(SPHINXBUILD),no)
213 $(MAKE) -C docs html SPHINXBUILD=$(SPHINXBUILD)
214 endif
215
216
217 install-pdf: pdf installdirs
218 $(INSTALL_DATA) docs/build/latex/mediagoblin.pdf $(DESTDIR)$(pdfdir)
219
220 pdf: docs/build/latex/mediagoblin.pdf
221
222 docs/build/latex/mediagoblin.pdf: $(wildcard $(srcdir)/docs/source/*)
223 ifneq ($(SPHINXBUILD),no)
224 $(MAKE) -C docs latexpdf SPHINXBUILD=$(SPHINXBUILD)
225 endif
226
227
228 # Targets that don't seem supported?
229
230 install-dvi:
231
232 dvi:
233
234 install-ps:
235
236 ps:
237
238