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