OSX app name now is Blender with a capital Bee!
[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
39 release: all
40
41 all:
42     ifeq ($(OS),beos)
43         @$(MAKE) pkg TYPE="" TAR="zip -ry9" EXT1=".zip" NOPLUGINS="true"
44     endif
45     ifeq ($(OS),freebsd)
46         @$(MAKE) pkg TYPE="" TAR="tar cf" EXT1=".tar" \
47             COMPRESS="gzip -f --best" EXT2=".gz"
48     endif
49     ifeq ($(OS),irix)
50         @$(MAKE) pkg TYPE="" TAR="tar cf" EXT1=".tar" \
51             COMPRESS="gzip -f --best" EXT2=".gz"
52     endif
53     ifeq ($(OS),linux)
54       ifeq ($(CPU),alpha)
55         @$(MAKE) pkg TYPE="" TAR="tar cf" EXT1=".tar" \
56             COMPRESS="gzip -f --best" EXT2=".gz"
57       endif
58       ifeq ($(CPU),i386)
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       ifeq ($(CPU),powerpc)
65         @$(MAKE) pkg TYPE="" TAR="tar cf" EXT1=".tar" \
66             COMPRESS="gzip -f --best" EXT2=".gz"
67         @$(MAKE) pkg TYPE="-static" TAR="tar cf" EXT1=".tar" \
68             COMPRESS="gzip -f --best" EXT2=".gz"
69       endif
70     endif
71     ifeq ($(OS),openbsd)
72         @$(MAKE) pkg TYPE="-static" TAR="tar cf" EXT1=".tar" \
73             COMPRESS="gzip -f --best" EXT2=".gz"
74     endif
75     ifeq ($(OS),solaris)
76         @$(MAKE) pkg TYPE="" TAR="tar cf" EXT1=".tar" \
77             COMPRESS="compress" EXT2=".Z"
78     endif
79     ifeq ($(OS),windows)
80         @$(MAKE) pkg TYPE="" TAR="zip -r9" EXT0=".exe" EXT1=".zip" \
81             NOPLUGINS="true" NOSTRIP="true"
82     endif
83     ifeq ($(OS),darwin)
84         @$(MAKE) pkg TYPE="" TAR="tar cf" EXT0"=.app" EXT1=".tar" \
85             COMPRESS="gzip -f --best" EXT2=".gz"
86     endif
87
88 # OS independent targets below:
89
90 dist: all
91
92 package: version makedirs
93
94 install: package
95         @#echo "****> Install text"
96         @cp text/README $(DISTDIR)
97         @cp text/*.txt $(DISTDIR)
98         @# possible overruling .txt text documents
99         @[ ! -d $(CONFIG_GUESS)/text ] || \
100             cp -f $(CONFIG_GUESS)/text/*.txt $(DISTDIR)
101 #on OS X the contents of the .blender dir is already inside the bundle
102 ifneq ($(OS), darwin)
103         @[ ! -d $(OCGDIR)/bin/.blender ] || \
104                 cp -r $(OCGDIR)/bin/.blender $(DISTDIR)
105         cp $(NANBLENDERHOME)/bin/.blender/.Blanguages $(DISTDIR)/.blender
106         cp $(NANBLENDERHOME)/bin/.blender/.bfont.ttf $(DISTDIR)/.blender
107 endif
108
109 # Python scripts removed for 2.14
110 #@echo "----> Copy python scripts"
111 #@cp -r python $(DISTDIR)/python
112 #@rm -fr $(DISTDIR)/python/CVS
113
114         @echo "----> Copy blender$(EXT0) executable"
115     ifeq ($(TYPE),-static)
116         @cp $(OCGDIR)/bin/blenderstatic$(EXT0) $(DISTDIR)/blender$(EXT0)
117     else
118     ifeq ($(OS),darwin)
119         @cp -r $(OCGDIR)/bin/blender$(EXT0) $(DISTDIR)/Blender$(EXT0)
120     else
121         @cp $(OCGDIR)/bin/blender$(EXT0) $(DISTDIR)/blender$(EXT0)
122     endif
123     endif
124     ifneq ($(NOPLUGINS),true)
125         @echo "----> Copy and compile plugins"
126         @cp -r plugins $(DISTDIR)/plugins
127         @mkdir -p $(DISTDIR)/plugins/include
128         @cp ../source/blender/blenpluginapi/*.h $(DISTDIR)/plugins/include/
129         @chmod 755 $(DISTDIR)/plugins/bmake
130         @$(MAKE) -C $(DISTDIR)/plugins all  > /dev/null || exit 1;
131         @rm -fr $(DISTDIR)/plugins/CVS $(DISTDIR)/plugins/*/CVS \
132              $(DISTDIR)/plugins/*/*.o
133     endif
134     ifneq ($(NOSTRIP),true)
135         @echo "----> Strip blender executable"
136       ifeq ($(OS),darwin)
137         @strip -x $(OCGDIR)/bin/blender$(EXT0)/Contents/MacOS/blender
138       else
139         @strip -x $(DISTDIR)/blender$(EXT0)
140       endif
141     endif
142         @[ ! -x $(CONFIG_GUESS)/specific.sh ] || (\
143             echo "**--> Execute specific.sh in $(CONFIG_GUESS)/" && \
144             cd $(CONFIG_GUESS) && ./specific.sh )
145
146 pkg: install
147         @echo "----> Create distribution file $(BLENDNAME)$(EXT1)"
148         @cd $(NAN_OBJDIR) && \
149         rm -f  $(VERSION)/$(BLENDNAME)$(EXT1)* && \
150         $(TAR) $(VERSION)/$(BLENDNAME)$(EXT1) $(BLENDNAME)
151     ifdef COMPRESS
152         @echo "----> Compressing distribution to $(BLENDNAME)$(EXT1)$(EXT2)"
153         @$(COMPRESS) $(NAN_OBJDIR)/$(VERSION)/$(BLENDNAME)$(EXT1)
154     endif
155         @#echo "****> Clean up temporary distribution directory"
156         @rm -fr $(DISTDIR)
157         @echo "****> $(NAN_OBJDIR)/$(VERSION)/$(BLENDNAME)$(EXT1)$(EXT2) is ready"
158
159 version: FORCE
160         @echo "*---> Create $(BLENDNAME) package"
161
162 makedirs: FORCE
163         @#echo "****> Create package directory $(VERSION) if necessary"
164         @[ -d $(NAN_OBJDIR)/$(VERSION) ] || mkdir $(NAN_OBJDIR)/$(VERSION)
165         @#echo "****> Prepare temporary distribution directory"
166         @rm -fr $(DISTDIR)
167         @mkdir $(DISTDIR)
168
169 FORCE: