Copy the .blender directory into DESTDIR for bundling up with release.
[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         @[ ! -d $(OCGDIR)/bin/.blender ] || \
102                 cp -a $(OCGDIR)/bin/.blender $(DISTDIR)
103
104 # Python scripts removed for 2.14
105 #@echo "----> Copy python scripts"
106 #@cp -r python $(DISTDIR)/python
107 #@rm -fr $(DISTDIR)/python/CVS
108
109         @echo "----> Copy blender$(EXT0) executable"
110     ifeq ($(TYPE),-static)
111         @cp $(OCGDIR)/bin/blenderstatic$(EXT0) $(DISTDIR)/blender$(EXT0)
112     else
113     ifeq ($(OS),darwin)
114         @cp -r $(OCGDIR)/bin/blender$(EXT0) $(DISTDIR)/blender$(EXT0)
115     else
116         @cp $(OCGDIR)/bin/blender$(EXT0) $(DISTDIR)/blender$(EXT0)
117     endif
118     endif
119     ifneq ($(NOPLUGINS),true)
120         @echo "----> Copy and compile plugins"
121         @cp -r plugins $(DISTDIR)/plugins
122         @mkdir -p $(DISTDIR)/plugins/include
123         @cp ../source/blender/blenpluginapi/*.h $(DISTDIR)/plugins/include/
124         @chmod 755 $(DISTDIR)/plugins/bmake
125         @$(MAKE) -C $(DISTDIR)/plugins all  > /dev/null || exit 1;
126         @rm -fr $(DISTDIR)/plugins/CVS $(DISTDIR)/plugins/*/CVS \
127              $(DISTDIR)/plugins/*/*.o
128     endif
129     ifneq ($(NOSTRIP),true)
130         @echo "----> Strip blender executable"
131       ifeq ($(OS),darwin)
132         @strip -x $(OCGDIR)/bin/blender$(EXT0)/Contents/MacOS/blender
133       else
134         @strip -x $(DISTDIR)/blender$(EXT0)
135       endif
136     endif
137         @[ ! -x $(CONFIG_GUESS)/specific.sh ] || (\
138             echo "**--> Execute specific.sh in $(CONFIG_GUESS)/" && \
139             cd $(CONFIG_GUESS) && ./specific.sh )
140
141 pkg: install
142         @echo "----> Create distribution file $(BLENDNAME)$(EXT1)"
143         @cd $(NAN_OBJDIR) && \
144         rm -f  $(VERSION)/$(BLENDNAME)$(EXT1)* && \
145         $(TAR) $(VERSION)/$(BLENDNAME)$(EXT1) $(BLENDNAME)
146     ifdef COMPRESS
147         @echo "----> Compressing distribution to $(BLENDNAME)$(EXT1)$(EXT2)"
148         @$(COMPRESS) $(NAN_OBJDIR)/$(VERSION)/$(BLENDNAME)$(EXT1)
149     endif
150         @#echo "****> Clean up temporary distribution directory"
151         @rm -fr $(DISTDIR)
152         @echo "****> $(NAN_OBJDIR)/$(VERSION)/$(BLENDNAME)$(EXT1)$(EXT2) is ready"
153
154 version: FORCE
155         @echo "*---> Create $(BLENDNAME) package"
156
157 makedirs: FORCE
158         @#echo "****> Create package directory $(VERSION) if necessary"
159         @[ -d $(NAN_OBJDIR)/$(VERSION) ] || mkdir $(NAN_OBJDIR)/$(VERSION)
160         @#echo "****> Prepare temporary distribution directory"
161         @rm -fr $(DISTDIR)
162         @mkdir $(DISTDIR)
163
164 FORCE: