2
# $Id: Makefile 14771 2008-05-09 20:00:18Z sirdude $
4
# ***** BEGIN GPL LICENSE BLOCK *****
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.
11
# This program is distributed in the hope that it will be useful,
12
# but WITHOUT ANY WARRANTY; without even the implied warranty of
13
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
# GNU General Public License for more details.
16
# You should have received a copy of the GNU General Public License
17
# along with this program; if not, write to the Free Software Foundation,
18
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20
# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
21
# All rights reserved.
23
# The Original Code is: all of this file.
25
# Contributor(s): none yet.
27
# ***** END GPL LICENSE BLOCK *****
29
include nan_definitions.mk
31
export VERSION := $(shell ./getversion.py)
33
BLENDNAME=blender-$(VERSION)-$(CONFIG_GUESS)-py$(NAN_PYTHON_VERSION)$(TYPE)
34
export DISTDIR=$(NAN_OBJDIR)/$(BLENDNAME)
35
export CONFDIR=$(DISTDIR)/.blender
47
ifeq ($(OS),$(findstring $(OS), "freebsd irix linux openbsd solaris"))
85
ifeq ($(WITH_BF_STATICOPENGL), true)
86
@$(MAKE) pkg TYPE="-static"
89
# OS independent targets below:
93
package: version makedirs
96
@#echo "****> Install text"
97
@cp text/blender.html $(DISTDIR)
98
@cp text/*.txt $(DISTDIR)
99
@cp text/*.pdf $(DISTDIR)
100
ifeq ($(FREEDESKTOP), true)
101
@#echo "****> Install freedesktop icons"
102
@mkdir $(DISTDIR)/icons
103
@mkdir $(DISTDIR)/icons/16x16
104
@cp freedesktop/icons/16x16/blender.png $(DISTDIR)/icons/16x16
105
@mkdir $(DISTDIR)/icons/22x22
106
@cp freedesktop/icons/22x22/blender.png $(DISTDIR)/icons/22x22
107
@mkdir $(DISTDIR)/icons/32x32
108
@cp freedesktop/icons/32x32/blender.png $(DISTDIR)/icons/32x32
109
@mkdir $(DISTDIR)/icons/scalable
110
@cp freedesktop/icons/scalable/blender.svg $(DISTDIR)/icons/scalable
112
@echo "----> Make Config dir .blender"
114
@# possible overruling .txt text documents
115
@[ ! -d $(CONFIG_GUESS)/text ] || \
116
cp -f $(CONFIG_GUESS)/text/*.txt $(DISTDIR)
117
#on OS X the contents of the .blender dir is already inside the bundle
118
ifneq ($(OS), darwin)
119
@[ ! -d $(OCGDIR)/bin/.blender ] || \
120
cp -r $(OCGDIR)/bin/.blender $(DISTDIR)
121
@cp $(NANBLENDERHOME)/bin/.blender/.Blanguages $(CONFDIR)
122
@cp $(NANBLENDERHOME)/bin/.blender/.bfont.ttf $(CONFDIR)
124
@echo "----> Copy blender$(EXT0) executable"
125
ifeq ($(TYPE),-static)
126
@cp $(OCGDIR)/bin/blenderstatic$(EXT0) $(DISTDIR)/blender$(EXT0)
129
@cp -r $(OCGDIR)/bin/blender$(EXT0) $(DISTDIR)/Blender$(EXT0)
131
@cp $(OCGDIR)/bin/blender$(EXT0) $(DISTDIR)/blender$(EXT0)
133
@if [ -f $(OCGDIR)/bin/blenderplayer$(EXTO) ]; then \
134
cp $(OCGDIR)/bin/blenderplayer$(EXTO) \
135
$(DISTDIR)/blenderplayer$(EXTO) ; \
139
ifneq ($(NOPLUGINS),true)
140
@echo "----> Copy and compile plugins"
141
@cp -r plugins $(DISTDIR)/plugins
142
@mkdir -p $(DISTDIR)/plugins/include
143
@cp ../source/blender/blenpluginapi/*.h $(DISTDIR)/plugins/include/
144
@chmod 755 $(DISTDIR)/plugins/bmake
145
@$(MAKE) -C $(DISTDIR)/plugins all > /dev/null || exit 1;
146
@rm -f $(DISTDIR)/plugins/*/*.o
148
#on OS X the plugins move to the installation directory
150
@mkdir -p $(CONFDIR)/plugins/sequence
151
@mkdir -p $(CONFDIR)/plugins/texture
152
@mv $(DISTDIR)/plugins/sequence/*.so $(CONFDIR)/plugins/sequence
153
@mv $(DISTDIR)/plugins/texture/*.so $(CONFDIR)/plugins/texture
157
@echo "----> Copy python infrastructure"
158
@[ ! -d scripts ] || cp -r scripts $(CONFDIR)/scripts
161
@echo "----> Move .blender to .app/Contents/MacOS/"
162
@rm -fr $(DISTDIR)/blender$(EXT0)/Contents/MacOS/.blender
163
@mv $(DISTDIR)/.blender $(DISTDIR)/blender$(EXT0)/Contents/MacOS/
166
ifneq ($(NOSTRIP),true)
167
@echo "----> Strip blender executable"
169
@strip -x $(DISTDIR)/blender$(EXT0)/Contents/MacOS/blender
171
@strip -x $(DISTDIR)/blender$(EXT0)
172
@if [ -f $(DISTDIR)/blenderplayer$(EXTO) ]; then \
173
strip -x $(DISTDIR)/blender$(EXT0) ; \
177
@[ ! -x $(CONFIG_GUESS)/specific.sh ] || (\
178
echo "**--> Execute specific.sh in $(CONFIG_GUESS)/" && \
179
cd $(CONFIG_GUESS) && ./specific.sh )
180
@echo "----> Cleaning .svn metadata directories"
181
@find $(DISTDIR) -type d -name ".svn" | xargs rm -fr
184
@echo "----> Create distribution file $(BLENDNAME)$(EXT1)"
185
@#enable the next sleep if you get 'tar file changed while reading'
187
rm -f $(NAN_OBJDIR)/$(VERSION)/$(BLENDNAME)$(EXT1)*
188
@cd $(NAN_OBJDIR) && $(TAR) $(TARFLAGS) $(VERSION)/$(BLENDNAME)$(EXT1) $(BLENDNAME)
190
@echo "----> Compressing distribution to $(BLENDNAME)$(EXT1)$(EXT2)"
191
@$(COMPRESS) $(COMPRESSFLAGS) $(NAN_OBJDIR)/$(VERSION)/$(BLENDNAME)$(EXT1)
193
@#echo "****> Clean up temporary distribution directory"
195
@echo "****> $(NAN_OBJDIR)/$(VERSION)/$(BLENDNAME)$(EXT1)$(EXT2) is ready"
198
@echo "*---> Create $(BLENDNAME) package"
201
@#echo "****> Create package directory $(VERSION) if necessary"
202
@[ -d $(NAN_OBJDIR)/$(VERSION) ] || mkdir $(NAN_OBJDIR)/$(VERSION)
203
@#echo "****> Prepare temporary distribution directory"