Cleaning up some bad stuff from the merge in the release/ directory.
[blender.git] / release / Makefile
1 #
2 # $Id$
3 #
4 # ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
5 #
6 # This program is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU General Public License
8 # as published by the Free Software Foundation; either version 2
9 # of the License, or (at your option) any later version. The Blender
10 # Foundation also sells licenses for use in proprietary software under
11 # the Blender License.  See http://www.blender.org/BL/ for information
12 # about this.
13 #
14 # This program is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 # GNU General Public License for more details.
18 #
19 # You should have received a copy of the GNU General Public License
20 # along with this program; if not, write to the Free Software Foundation,
21 # Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
22 #
23 # The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
24 # All rights reserved.
25 #
26 # The Original Code is: all of this file.
27 #
28 # Contributor(s): none yet.
29 #
30 # ***** END GPL/BL DUAL LICENSE BLOCK *****
31
32 include nan_definitions.mk
33
34 export VERSION := $(shell cat VERSION)
35
36 BLENDNAME=blender-$(VERSION)-$(CONFIG_GUESS)$(TYPE)
37 export DISTDIR=$(NAN_OBJDIR)/$(BLENDNAME)
38 export CONFDIR=$(DISTDIR)/.blender
39
40 release: all
41
42 all:
43     ifeq ($(OS),beos)
44         @$(MAKE) pkg TYPE="" TAR="zip -ry9" EXT1=".zip" NOPLUGINS="true"
45     endif
46     ifeq ($(OS),freebsd)
47         @$(MAKE) pkg TYPE="" TAR="tar cf" EXT1=".tar" \
48             COMPRESS="gzip -f --best" EXT2=".gz"
49     endif
50     ifeq ($(OS),irix)
51         @$(MAKE) pkg TYPE="" TAR="tar cf" EXT1=".tar" \
52             COMPRESS="gzip -f --best" EXT2=".gz"
53     endif
54     ifeq ($(OS),linux)
55       ifeq ($(CPU),alpha)
56         @$(MAKE) pkg TYPE="" TAR="tar cf" EXT1=".tar" \
57             COMPRESS="gzip -f --best" EXT2=".gz"
58       else
59         @$(MAKE) pkg TYPE="" TAR="tar cf" EXT1=".tar" \
60             COMPRESS="gzip -f --best" EXT2=".gz"
61         @$(MAKE) pkg TYPE="-static" TAR="tar cf" EXT1=".tar" \
62             COMPRESS="gzip -f --best" EXT2=".gz"
63       endif
64     endif
65     ifeq ($(OS),openbsd)
66         @$(MAKE) pkg TYPE="-static" TAR="tar cf" EXT1=".tar" \
67             COMPRESS="gzip -f --best" EXT2=".gz"
68     endif
69     ifeq ($(OS),solaris)
70         @$(MAKE) pkg TYPE="" TAR="tar cf" EXT1=".tar" \
71             COMPRESS="compress" EXT2=".Z"
72     endif
73     ifeq ($(OS),windows)
74         @$(MAKE) pkg TYPE="" TAR="zip -r9" EXT0=".exe" EXT1=".zip" \
75             NOPLUGINS="true" NOSTRIP="true"
76     endif
77     ifeq ($(OS),darwin)
78         @$(MAKE) pkg TYPE="" TAR="tar cf" EXT0"=.app" EXT1=".tar" \
79             COMPRESS="gzip -f --best" EXT2=".gz"
80     endif
81
82 # OS independent targets below:
83
84 dist: all
85
86 package: version makedirs
87
88 install: package
89         @#echo "****> Install text"
90         @cp text/blender.html $(DISTDIR)
91         @cp text/*.txt $(DISTDIR)
92         @cp text/*.pdf $(DISTDIR)
93         @echo "----> Make Config dir .blender"
94         @mkdir -p $(CONFDIR)
95         @# possible overruling .txt text documents
96         @[ ! -d $(CONFIG_GUESS)/text ] || \
97             cp -f $(CONFIG_GUESS)/text/*.txt $(DISTDIR)
98 #on OS X the contents of the .blender dir is already inside the bundle
99 ifneq ($(OS), darwin)
100         @[ ! -d $(OCGDIR)/bin/.blender ] || \
101                 cp -r $(OCGDIR)/bin/.blender $(DISTDIR)
102         cp $(NANBLENDERHOME)/bin/.blender/.Blanguages $(CONFDIR)
103         cp $(NANBLENDERHOME)/bin/.blender/.bfont.ttf $(CONFDIR)
104 endif
105
106         @echo "----> Copy blender$(EXT0) executable"
107     ifeq ($(TYPE),-static)
108         @cp $(OCGDIR)/bin/blenderstatic$(EXT0) $(DISTDIR)/blender$(EXT0)
109     else
110     ifeq ($(OS),darwin)
111         @cp -r $(OCGDIR)/bin/blender$(EXT0) $(DISTDIR)/Blender$(EXT0)
112     else
113         @cp $(OCGDIR)/bin/blender$(EXT0) $(DISTDIR)/blender$(EXT0)
114     endif
115         @if [ -f $(OCGDIR)/bin/blenderplayer$(EXTO) ]; then \
116                 cp $(OCGDIR)/bin/blenderplayer$(EXTO) \
117                         $(DISTDIR)/blenderplayer$(EXTO) ; \
118         fi
119     endif
120
121 ifneq ($(NOPLUGINS),true)
122         @echo "----> Copy and compile plugins"
123         @cp -r plugins $(DISTDIR)/plugins
124         @mkdir -p $(DISTDIR)/plugins/include
125         @cp ../source/blender/blenpluginapi/*.h $(DISTDIR)/plugins/include/
126         @chmod 755 $(DISTDIR)/plugins/bmake
127         @$(MAKE) -C $(DISTDIR)/plugins all  > /dev/null || exit 1;
128         @rm -fr $(DISTDIR)/plugins/CVS $(DISTDIR)/plugins/*/CVS \
129              $(DISTDIR)/plugins/*/*.o
130         @mkdir -p $(CONFDIR)/plugins/sequence
131         @mkdir -p $(CONFDIR)/plugins/texture
132
133         @mv $(DISTDIR)/plugins/sequence/*.so $(CONFDIR)/plugins/sequence
134         @mv $(DISTDIR)/plugins/texture/*.so $(CONFDIR)/plugins/texture
135
136 endif
137
138         @echo "----> Copy python infrastructure"
139         @[ ! -d scripts ] || cp -r scripts $(CONFDIR)/scripts
140         @[ ! -d $(CONFDIR)/scripts ] || rm -fr $(CONFDIR)/scripts/CVS
141
142     ifeq ($(OS),darwin)
143         @echo "----> Move .blender to .app/Contents/MacOS/"
144         @rm -fr $(DISTDIR)/blender$(EXT0)/Contents/MacOS/.blender
145         @mv $(DISTDIR)/.blender $(DISTDIR)/blender$(EXT0)/Contents/MacOS/
146     endif
147
148     ifneq ($(NOSTRIP),true)
149         @echo "----> Strip blender executable"
150       ifeq ($(OS),darwin)
151         @strip -x $(DISTDIR)/blender$(EXT0)/Contents/MacOS/blender
152       else
153         @strip -x $(DISTDIR)/blender$(EXT0)
154       endif
155     endif
156         @[ ! -x $(CONFIG_GUESS)/specific.sh ] || (\
157             echo "**--> Execute specific.sh in $(CONFIG_GUESS)/" && \
158             cd $(CONFIG_GUESS) && ./specific.sh )
159
160 pkg: install
161         @echo "----> Create distribution file $(BLENDNAME)$(EXT1)"
162         @#enable the next sleep if you get 'tar file changed while reading'
163         @#sleep 10
164         @cd $(NAN_OBJDIR) && \
165         rm -f  $(VERSION)/$(BLENDNAME)$(EXT1)* && \
166         $(TAR) $(VERSION)/$(BLENDNAME)$(EXT1) $(BLENDNAME)
167     ifdef COMPRESS
168         @echo "----> Compressing distribution to $(BLENDNAME)$(EXT1)$(EXT2)"
169         @$(COMPRESS) $(NAN_OBJDIR)/$(VERSION)/$(BLENDNAME)$(EXT1)
170     endif
171         @#echo "****> Clean up temporary distribution directory"
172         @rm -fr $(DISTDIR)
173         @echo "****> $(NAN_OBJDIR)/$(VERSION)/$(BLENDNAME)$(EXT1)$(EXT2) is ready"
174
175 version: FORCE
176         @echo "*---> Create $(BLENDNAME) package"
177
178 makedirs: FORCE
179         @#echo "****> Create package directory $(VERSION) if necessary"
180         @[ -d $(NAN_OBJDIR)/$(VERSION) ] || mkdir $(NAN_OBJDIR)/$(VERSION)
181         @#echo "****> Prepare temporary distribution directory"
182         @rm -fr $(DISTDIR)
183         @mkdir $(DISTDIR)
184
185 FORCE: