Merge branch 'maint' into python-work
[platform/upstream/automake.git] / lib / am / python.am
1 ## automake - create Makefile.in from Makefile.am
2 ## Copyright (C) 1999, 2001, 2003, 2004, 2006, 2007, 2008, 2009, 2011
3 ## Free Software Foundation, Inc.
4
5 ## This program is free software; you can redistribute it and/or modify
6 ## it under the terms of the GNU General Public License as published by
7 ## the Free Software Foundation; either version 2, or (at your option)
8 ## any later version.
9
10 ## This program is distributed in the hope that it will be useful,
11 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 ## GNU General Public License for more details.
14
15 ## You should have received a copy of the GNU General Public License
16 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
18 if %?INSTALL%
19 include inst-vars.am
20 endif %?INSTALL%
21
22 ## ------------ ##
23 ## Installing.  ##
24 ## ------------ ##
25
26 if %?INSTALL%
27 ?FIRST?am__py_compile = PYTHON=$(PYTHON) $(SHELL) $(py_compile)
28 am__installdirs += "$(DESTDIR)$(%NDIR%dir)"
29 .PHONY install-%EXEC?exec:data%-am: install-%DIR%PYTHON
30 install-%DIR%PYTHON: $(%DIR%_PYTHON)
31         @$(NORMAL_INSTALL)
32         test -z "$(%NDIR%dir)" || $(MKDIR_P) "$(DESTDIR)$(%NDIR%dir)"
33 if %?BASE%
34         @list='$(%DIR%_PYTHON)'; dlist=; list2=; test -n "$(%NDIR%dir)" || list=; \
35         for p in $$list; do \
36 ## A file can be in the source directory or the build directory.
37           if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \
38           if test -f $$b$$p; then \
39 ## Compute basename of source file.  Unless this is a nobase_ target, we
40 ## want to install 'python/foo.py' as '$(DESTDIR)$(%NDIR%dir)/foo.py',
41 ## not '$(DESTDIR)$(%NDIR%dir)/python/foo.py'.
42             $(am__strip_dir) \
43             dlist="$$dlist $$f"; \
44             list2="$$list2 $$b$$p"; \
45           else :; fi; \
46         done; \
47         for file in $$list2; do echo $$file; done | $(am__base_list) | \
48         while read files; do \
49 ## Don't perform translation, since script name is important.
50           echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(%NDIR%dir)'"; \
51           $(INSTALL_DATA) $$files "$(DESTDIR)$(%NDIR%dir)" || exit $$?; \
52         done || exit $$?; \
53 ## Byte-compile must be done at install time, since file times are
54 ## encoded in the actual files.
55         if test -n "$$dlist"; then \
56           $(am__py_compile) --destdir "$(DESTDIR)" \
57                             --basedir "$(%NDIR%dir)" $$dlist; \
58         else :; fi
59 else !%?BASE%
60         @list='$(%DIR%_PYTHON)'; test -n "$(%NDIR%dir)" || list=; \
61         $(am__nobase_list) | while read dir files; do \
62           xfiles=; for p in $$files; do \
63 ## A file can be in the source directory or the build directory.
64             if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \
65             if test -f "$$b$$p"; then xfiles="$$xfiles $$b$$p"; dlist="$$dlist $$p"; \
66             else :; fi; done; \
67           test -z "$$xfiles" || { \
68             test "x$$dir" = x. || { \
69               echo "$(MKDIR_P) '$(DESTDIR)$(%NDIR%dir)/$$dir'"; \
70               $(MKDIR_P) "$(DESTDIR)$(%NDIR%dir)/$$dir"; }; \
71 ## Don't perform translation, since script name is important.
72             echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(%NDIR%dir)/$$dir'"; \
73             $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(%NDIR%dir)/$$dir" || exit $$?; }; \
74 ## Byte-compile must be done at install time, since file times are
75 ## encoded in the actual files.
76           if test -n "$$dlist"; then \
77             $(am__py_compile) --destdir "$(DESTDIR)" \
78                               --basedir "$(%NDIR%dir)" $$dlist; \
79           else :; fi \
80         done
81 endif !%?BASE%
82 endif %?INSTALL%
83
84
85 ## -------------- ##
86 ## Uninstalling.  ##
87 ## -------------- ##
88
89 if %?INSTALL%
90 .PHONY uninstall-am: uninstall-%DIR%PYTHON
91 uninstall-%DIR%PYTHON:
92         @$(NORMAL_UNINSTALL)
93         @list='$(%DIR%_PYTHON)'; test -n "$(%NDIR%dir)" || list=; \
94 ?BASE?  files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
95 ?!BASE? $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \
96         test -n "$$files" || exit 0; \
97         filesc=`echo "$$files" | sed 's|$$|c|'`; \
98         fileso=`echo "$$files" | sed 's|$$|o|'`; \
99         echo " ( cd '$(DESTDIR)$(%NDIR%dir)' && rm -f" $$files ")"; \
100         cd "$(DESTDIR)$(%NDIR%dir)" && rm -f $$files || exit $$?; \
101 ## This is to remove the .pyc and .pyo byte compiled versions (a bit
102 ## of a hack).
103         echo " ( cd '$(DESTDIR)$(%NDIR%dir)' && rm -f" $$filesc ")"; \
104         cd "$(DESTDIR)$(%NDIR%dir)" && rm -f $$filesc || exit $$?; \
105         echo " ( cd '$(DESTDIR)$(%NDIR%dir)' && rm -f" $$fileso ")"; \
106         cd "$(DESTDIR)$(%NDIR%dir)" && rm -f $$fileso
107 endif %?INSTALL%
108
109
110 ## ---------- ##
111 ## Cleaning.  ##
112 ## ---------- ##
113
114 ## There is nothing to clean here since files are
115 ## byte-compiled when (and where) they are installed.
116
117 ## -------------- ##
118 ## Distributing.  ##
119 ## -------------- ##
120
121 if %?DIST%
122 DIST_COMMON += %DISTVAR%
123 endif %?DIST%