~ubuntu-branches/ubuntu/saucy/ekiga/saucy

« back to all changes in this revision

Viewing changes to win32/Makefile

  • Committer: Bazaar Package Importer
  • Author(s): Kilian Krause
  • Date: 2011-07-17 00:24:50 UTC
  • mfrom: (5.1.5 upstream) (7.1.7 sid)
  • Revision ID: james.westby@ubuntu.com-20110717002450-ytg3wsrc1ptd3153
Tags: 3.3.1-1
* New upstream release.
 - Required libpt-dev 2.10 and libopal-dev 3.10
* Fix debian/watch to catch new version
* Remove libnotify0.7.patch - included upstream
* Add libboost-dev and libboost-signals-dev to Build-Depends
* debian/rules: Don't install *.la files for new internal shared libs
* Fix Vcs URIs to point to correct desktop/experimental/ekiga tree

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#!/usr/bin/make -f
2
2
 
3
 
SILENT := 0
4
 
DEBUG := 1
5
 
MAKEFLAGS:=
6
 
MAKEOPTS:=$(MAKEFLAGS)
 
3
# RELEASE: 0=from git/svn, 1=release (tar.gz) for ekiga, ptlib and opal
 
4
RELEASE   := 0
 
5
# DEBUG: 0=release, 1=debug version
 
6
DEBUG     := 0
 
7
 
 
8
MAKEOPTS  := $(MAKEFLAGS)
7
9
MAKE_LIB_OPTS:=$(MAKEFLAGS)
8
10
 
9
11
BUILDROOT := $(CURDIR)
10
12
TARGETDIR := $(BUILDROOT)/dist
11
13
SRCDIR    := $(BUILDROOT)/src
12
 
INCLUDEDIR:=$(BUILDROOT)/include
 
14
INCLUDEDIR:= $(BUILDROOT)/include
13
15
LIBDIR    := $(BUILDROOT)/lib
14
16
BINDIR    := $(BUILDROOT)/bin
15
17
 
16
 
export PKG_CONFIG_LIBDIR:=$(LIBDIR)
17
 
 
18
18
export DEB_BUILD_GNU_TYPE:=$(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
19
19
export DEB_HOST_GNU_TYPE:="i586-pc-mingw32"
20
20
 
21
 
WGET := wget -nv -T 60 -N --no-proxy
 
21
WGET := wget -nv -T 60 -N
22
22
 
23
23
HOST_TOOL_PREFIX:=i586-mingw32msvc
24
 
 
25
24
REALCC:=$(HOST_TOOL_PREFIX)-gcc
26
25
REALCXX:=$(HOST_TOOL_PREFIX)-g++
27
 
CONCURRENCY:=1
28
 
 
29
 
MACH_FLAGS:=-march=pentium-mmx
30
 
OPTI_FLAGS:=-O3 -fomit-frame-pointer
31
 
#       IX86_TYPE according to Intel
32
 
#       0 : 8086/88, 2 = 80286, 3 = 80386
33
 
#       4 = 80486, 5 = Pentium(R) Processor, 6 = PentiumPro(R) Processor
34
 
#       7 or higher = Processor beyond the PentiumPro6(R) Processor
35
 
IX86_TYPE:=5
36
 
 
37
 
 
38
 
ifeq ($(DEBUG),1)
39
 
        export CC=$(REALCC) -mms-bitfields -g 
40
 
        export CXX=$(REALCXX) -mms-bitfields -g
41
 
else
42
 
        export CC=$(REALCC) -mms-bitfields 
43
 
        export CXX=$(REALCXX) -mms-bitfields 
44
 
endif
45
 
 
 
26
export CC=$(REALCC) -mms-bitfields -g -O2
 
27
export CXX=$(REALCXX) -mms-bitfields -g -O2
46
28
export LD:=$(HOST_TOOL_PREFIX)-ld
47
29
export NM:=$(HOST_TOOL_PREFIX)-nm
48
30
export AR:=$(HOST_TOOL_PREFIX)-ar
50
32
export DLLTOOL:=$(HOST_TOOL_PREFIX)-dlltool
51
33
export DLLWRAP:=$(HOST_TOOL_PREFIX)-dllwrap
52
34
export OBJDUMP:=$(HOST_TOOL_PREFIX)-objdump
53
 
export WINDRES:=$(HOST_TOOL_PREFIX)-windres
 
35
export RC:=$(HOST_TOOL_PREFIX)-windres
54
36
export STRIP:=$(HOST_TOOL_PREFIX)-strip
55
37
export AS:=$(HOST_TOOL_PREFIX)-as
56
 
export CFLAGS:=-I$(INCLUDEDIR) $(MACH_FLAGS) -DPTRACING
57
 
export CXXFLAGS:=-I$(INCLUDEDIR) $(MACH_FLAGS) -DPTRACING
58
 
export LDFLAGS:=-L$(LIBDIR)  $(MACH_FLAGS)
 
38
export LDD:=$(BUILDROOT)/$(HOST_TOOL_PREFIX)-ldd.sh
 
39
 
 
40
export CFLAGS:=-I$(INCLUDEDIR) -march=pentium-mmx
 
41
export CXXFLAGS:=-I$(INCLUDEDIR) -march=pentium-mmx
 
42
export LDFLAGS:=-L$(LIBDIR) $(MACH_FLAGS)
59
43
export PKG_CONFIG_PATH:=$(LIBDIR)/pkgconfig
 
44
export PKG_CONFIG_LIBDIR:=$(LIBDIR)
60
45
export PATH:=$(BINDIR):$(PATH)
61
 
export LDD:=$(BUILDROOT)/$(HOST_TOOL_PREFIX)-ldd.sh
62
 
 
63
 
 
64
 
EKIGA_VER = 2.9
65
 
EKIGA_REV = HEAD
66
 
EKIGA_URL = http://svn.gnome.org/svn/ekiga/branches/gnome-2-24
67
 
EKIGA_ARCHIVE := ekiga
68
 
EKIGA_DIR = $(BUILDROOT)/ekiga
69
 
EKIGA_PREFIX:= $(TARGETDIR)/Ekiga
70
 
EKIGA_WIN32_DIR := $(CURDIR)
71
 
EKIGA_WIN32_DIFF_DIR := $(EKIGA_WIN32_DIR)/diff
72
 
EKIGA_INSTALLER_DIR := $(BUILDROOT)/nsisinstaller
73
 
EKIGA_INSTALLER := ekiga-setup-${EKIGA_VER}.exe
74
 
 
75
 
OPAL_VER:= 3.4.2
76
 
OPAL_REV:= HEAD
77
 
OPAL_URL:= https://opalvoip.svn.sourceforge.net/svnroot/opalvoip/opal/branches/v3_4
78
 
OPAL_ARCHIVE := opal
79
 
OPAL_DIR:= $(BUILDROOT)/opal
80
 
 
81
 
PTLIB_VER:= 2.4.2
82
 
PTLIB_REV:= HEAD
83
 
PTLIB_URL:= https://opalvoip.svn.sourceforge.net/svnroot/opalvoip/ptlib/branches/v2_4
84
 
PTLIB_DIR:= $(BUILDROOT)/ptlib
85
 
PTLIB_ARCHIVE := ptlib
86
 
 
87
 
OPENLDAP_VER := 2.3.28
 
46
 
 
47
 
 
48
ifeq ($(RELEASE),1)
 
49
        EKIGA_VER := 3.3.1
 
50
        EKIGA_URL := http://ftp.gnome.org/pub/gnome/sources/ekiga/3.3
 
51
        EKIGA_ARCHIVE := ekiga-$(EKIGA_VER).tar.gz
 
52
        EKIGA_DIR := $(BUILDROOT)/ekiga-$(EKIGA_VER)
 
53
else
 
54
        GIT_EKIGA_REV = reset --hard HEAD
 
55
        #GIT_EKIGA_REV := checkout -b gnome-2-26 origin/gnome-2-26
 
56
        EKIGA_URL := git://git.gnome.org/ekiga
 
57
        EKIGA_ARCHIVE := ekiga
 
58
        EKIGA_DIR = $(BUILDROOT)/ekiga
 
59
        EKIGA_VER := $(strip $(shell grep AC_INIT $(SRCDIR)/$(EKIGA_ARCHIVE)/configure.ac | awk 'BEGIN { FS = "," } ; { print $$2 }' | tr -d '[]'))
 
60
        EKIGA_REV := $(strip $(shell (cd $(SRCDIR)/$(EKIGA_ARCHIVE); git describe | awk 'BEGIN { FS = "-" } ; { print $$2 "_" $$3 }' )))
 
61
ifneq ($(EKIGA_REV),)
 
62
        EKIGA_VER := $(EKIGA_VER)-git-$(EKIGA_REV)
 
63
endif
 
64
endif
 
65
EKIGA_PREFIX := $(TARGETDIR)/Ekiga
 
66
ifeq ($(DEBUG),1)
 
67
EKIGA_INSTALLER := ekiga-setup-$(EKIGA_VER)-debug.exe
 
68
else
 
69
EKIGA_INSTALLER := ekiga-setup-$(EKIGA_VER).exe
 
70
endif
 
71
#EKIGA_WIN32_DIFF_DIR := $(CURDIR)/diff
 
72
EKIGA_INSTALLER_DIR := $(EKIGA_DIR)/win32/nsisinstaller
 
73
 
 
74
ifeq ($(RELEASE),1)
 
75
        OPAL_VER := 3.10.1
 
76
        OPAL_URL := http://ftp.gnome.org/pub/gnome/sources/opal/3.10
 
77
        OPAL_ARCHIVE := opal-$(OPAL_VER).tar.gz
 
78
        OPAL_DIR := $(BUILDROOT)/opal-$(OPAL_VER)
 
79
else
 
80
        OPAL_VER := 3.10-beta2
 
81
        # OPAL_REV: HEAD or revision number
 
82
        OPAL_REV := HEAD
 
83
        OPAL_URL := https://opalvoip.svn.sourceforge.net/svnroot/opalvoip/opal/branches/v3_10
 
84
        OPAL_ARCHIVE := opal
 
85
        OPAL_DIR := $(BUILDROOT)/opal
 
86
endif
 
87
OPAL_LIB := libopal.$(OPAL_VER).dll
 
88
 
 
89
ifeq ($(RELEASE),1)
 
90
        PTLIB_VER := 2.10.1
 
91
        PTLIB_URL := http://ftp.gnome.org/pub/gnome/sources/ptlib/2.10
 
92
        PTLIB_ARCHIVE := ptlib-$(PTLIB_VER).tar.gz
 
93
        PTLIB_DIR := $(BUILDROOT)/ptlib-$(PTLIB_VER)
 
94
else
 
95
        PTLIB_VER := 2.10-beta2
 
96
        # PTLIB_REV: HEAD or revision number
 
97
        PTLIB_REV := HEAD
 
98
        PTLIB_URL := https://opalvoip.svn.sourceforge.net/svnroot/opalvoip/ptlib/branches/v2_10
 
99
        PTLIB_ARCHIVE := ptlib
 
100
        PTLIB_DIR := $(BUILDROOT)/ptlib
 
101
endif
 
102
PTLIB_LIB := libpt.$(PTLIB_VER).dll
 
103
 
 
104
##############   ekiga/ptlib/opal library and headers dependencies
 
105
# 2.4.24 added mandatory MozNSS support, do not use it for the moment
 
106
OPENLDAP_VER := 2.4.23
88
107
OPENLDAP_DIR := $(BUILDROOT)/openldap-$(OPENLDAP_VER)
89
108
OPENLDAP_ARCHIVE := openldap-$(OPENLDAP_VER).tgz
90
109
OPENLDAP_URL := http://www.openldap.org/software/download/OpenLDAP/openldap-release
91
110
 
92
 
OGG_VER := 1.1.3
 
111
LIBSASL2_VER := 2.1.22
 
112
LIBSASL2_DIR := $(BUILDROOT)/cyrus-sasl-$(LIBSASL2_VER)
 
113
LIBSASL2_ARCHIVE := cyrus-sasl-$(LIBSASL2_VER).zip
 
114
LIBSASL2_URL := http://developer.pidgin.im/static/win32
 
115
 
 
116
OGG_VER := 1.2.2
93
117
OGG_DIR := $(BUILDROOT)/libogg-$(OGG_VER)
94
118
OGG_ARCHIVE := libogg-$(OGG_VER).tar.gz
95
119
OGG_URL := http://downloads.xiph.org/releases/ogg
97
121
SPEEX_VER := 1.2rc1
98
122
SPEEX_DIR := $(BUILDROOT)/speex-$(SPEEX_VER)
99
123
SPEEX_ARCHIVE := speex-$(SPEEX_VER).tar.gz
100
 
SPEEX_URL := http://downloads.us.xiph.org/releases/speex
101
 
 
102
 
GTK_VER := 2.12.11
103
 
GTK_URL := http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.12
104
 
GTK_ARCHIVE := gtk+-bundle-$(GTK_VER).zip
105
 
 
106
 
XML2_VER := 2.6.32
 
124
SPEEX_URL := http://downloads.xiph.org/releases/speex
 
125
 
 
126
XML2_VER := 2.7.8
107
127
XML2_DIR := libxml2-$(XML2_VER)
108
128
XML2_URL := ftp://xmlsoft.org/libxml2
109
129
XML2_ARCHIVE := libxml2-$(XML2_VER).tar.gz
110
130
 
111
 
EXPAT_VER = 2.0.0
 
131
EXPAT_VER = 2.0.1
112
132
EXPAT_DIR = $(BUILDROOT)/expat-$(EXPAT_VER)
113
133
EXPAT_ARCHIVE := expat-$(EXPAT_VER).tar.gz
114
134
EXPAT_URL := http://kent.dl.sourceforge.net/sourceforge/expat
115
135
 
 
136
# choose commit 203e34 (2007-09-30), since since then a few modifications
 
137
# have been done and the compilation needs to be updated
 
138
REGEX_REV := 203e34
116
139
REGEX_DIR := $(BUILDROOT)/regex
117
140
REGEX_ARCHIVE := regex
118
141
 
119
 
SIGC_VER := 2.0.17
120
 
SIGC_URL := http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.0
121
 
SIGC_ARCHIVE := libsigc++-$(SIGC_VER).tar.gz
122
 
SIGC_DIR := libsigc++-$(SIGC_VER)
123
 
 
124
 
GIMP_URL := http://www.gimp.org/~tml/gimp/win32
125
 
 
126
 
ICONV_VER := 1.9.1
127
 
ICONV_ARCHIVE := libiconv-$(ICONV_VER).bin.woe32.zip
128
 
 
129
 
FFMPEG_VER := 14200
130
 
FFMPEG_URL := svn://svn.mplayerhq.hu/ffmpeg/trunk
 
142
BOOST_VER := 1.46.1
 
143
BOOST_URL := http://downloads.sourceforge.net/project/boost/boost/$(BOOST_VER)
 
144
BOOST_ARCHIVE := boost_$(shell echo $(BOOST_VER)|tr . _).tar.gz
 
145
BOOST_DIR := $(BUILDROOT)/boost_$(shell echo $(BOOST_VER)|tr . _)
 
146
 
 
147
GETTEXT_VER := 0.17-1
 
148
GETTEXT_URL := http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies
 
149
GETTEXT_ARCHIVE := gettext-runtime-dev-$(GETTEXT_VER).zip
 
150
 
 
151
# what is iconv useful for?
 
152
ICONV_VER := 1.9.2-1
 
153
ICONV_URL := http://downloads.sourceforge.net/project/gnuwin32/libiconv/$(ICONV_VER)
 
154
ICONV_ARCHIVE := libiconv-$(ICONV_VER)-bin.zip
 
155
 
 
156
# use a revision from 2009-04-13, known to work with current ekiga
 
157
FFMPEG_VER := c573eb85f
 
158
FFMPEG_URL := git://git.videolan.org/ffmpeg.git
131
159
FFMPEG_DIR := $(BUILDROOT)/ffmpeg
132
160
FFMPEG_ARCHIVE := ffmpeg
133
161
 
134
 
X264_VER := 676
 
162
X264_VER := d2e1e1c35c43ea9c90c9211be
135
163
X264_URL := git://git.videolan.org/x264.git
136
164
X264_DIR := $(BUILDROOT)/x264
137
165
X264_ARCHIVE := x264
138
166
 
139
 
THEORA_VER := 1.0RC1
 
167
# note that every celt release might break API
 
168
CELT_VER := 0.7.1
 
169
CELT_URL := http://downloads.xiph.org/releases/celt
 
170
CELT_DIR := $(BUILDROOT)/celt-$(CELT_VER)
 
171
CELT_ARCHIVE := celt-$(CELT_VER).tar.gz
 
172
 
 
173
THEORA_VER := 1.1.1
 
174
THEORA_URL := http://downloads.xiph.org/releases/theora
140
175
THEORA_DIR := $(BUILDROOT)/libtheora-$(THEORA_VER)
141
 
THEORA_ARCHIVE := libtheora-$(THEORA_VER).zip
142
 
THEORA_URL := http://downloads.us.xiph.org/releases/theora
 
176
THEORA_ARCHIVE := libtheora-$(THEORA_VER).tar.gz
143
177
 
144
 
NSIS_VER := 2.29
145
 
NSIS_URL := http://mesh.dl.sourceforge.net/nsis
 
178
NSIS_VER := 2.46
 
179
NSIS_URL := http://downloads.sourceforge.net/nsis
146
180
NSISPROCESSES_URL := http://nsis.sourceforge.net/mediawiki/images/f/f3/
147
181
NSISSYTEM_DIR := /usr/share/nsis/Contrib/Modern\ UI
148
182
NSISPLUGIN_DIR := $(BUILDROOT)/nsisplugins
149
183
 
 
184
# gtk headers
 
185
GTK_VER := 2.22.0-2
 
186
GTK_URL := http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.22
 
187
GTK_ARCHIVE := gtk+-dev_$(GTK_VER)_win32.zip
 
188
 
 
189
# gtk library
 
190
# this is an installer, not a zip of files to be manually installed
 
191
# see http://gtk-win.sourceforge.net for more information
 
192
GTK_BIN_VER := 2.22
 
193
GTK_INSTALLER_URL := http://downloads.sourceforge.net/gtk-win
 
194
GTK_BIN_EXE := gtk2-runtime-2.22.0-2010-10-21-ash.exe
 
195
 
 
196
##############   gtk headers dependencies
 
197
# during building, ekiga uses gtk.h, which needs headers of various libraries
 
198
GLIB_VER := 2.28.1-1
 
199
GLIB_URL := http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28
 
200
GLIB_ARCHIVE := glib-dev_$(GLIB_VER)_win32.zip
 
201
 
 
202
ATK_VER := 1.32.0-1
 
203
ATK_URL := http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.32
 
204
ATK_ARCHIVE := atk-dev_$(ATK_VER)_win32.zip
 
205
 
 
206
CAIRO_VER := 1.10.2-1
 
207
CAIRO_URL := http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies
 
208
CAIRO_ARCHIVE := cairo-dev_$(CAIRO_VER)_win32.zip
 
209
 
 
210
PANGO_VER := 1.28.3-1
 
211
PANGO_URL := http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.28
 
212
PANGO_ARCHIVE := pango-dev_$(PANGO_VER)_win32.zip
 
213
 
 
214
FREETYPE_VER := 2.4.4-1
 
215
FREETYPE_URL := http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/
 
216
FREETYPE_ARCHIVE := freetype-dev_$(FREETYPE_VER)_win32.zip
 
217
 
 
218
FONTCONFIG_VER := 2.8.0-2
 
219
FONTCONFIG_URL := http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/
 
220
FONTCONFIG_ARCHIVE := fontconfig-dev_$(FONTCONFIG_VER)_win32.zip
 
221
 
 
222
GDKPIXBUF_VER := 2.22.1-1
 
223
GDKPIXBUF_URL := http://ftp.gnome.org/pub/gnome/binaries/win32/gdk-pixbuf/2.22
 
224
GDKPIXBUF_ARCHIVE := gdk-pixbuf-dev_$(GDKPIXBUF_VER)_win32.zip
 
225
 
 
226
PNG_VER := 1.4.3-1
 
227
PNG_URL := http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/
 
228
PNG_ARCHIVE := libpng-dev_$(PNG_VER)_win32.zip
 
229
 
150
230
LN:=ln
151
231
RM:=rm
152
232
CP:=cp
153
233
MV:=mv
154
234
SVN:=svn
155
235
GIT:=git
156
 
ACLOCAL:=aclocal-1.9
157
 
 
158
 
DOC_LINGUAS=bg de es fr pt_BR sv uk
159
 
 
160
 
ifneq (,$(CONCURRENCY))
161
 
        MAKEOPTS+=-j$(CONCURRENCY)
162
 
endif
163
 
 
164
 
confflags:=--prefix=$(BUILDROOT) --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
165
 
confptlib:=--prefix=$(BUILDROOT) --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \
166
 
           --with-directx-includedir=$(BUILDROOT)/directx \
167
 
           --disable-qos --disable-vidfile --disable-alsa --disable-esd --disable-oss --disable-sunaudio \
168
 
           --disable-v4l --disable-v4l2 --disable-bsdvideo --disable-avc --disable-dc
169
 
confopal :=--prefix=$(BUILDROOT) --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \
170
 
           --with-ffmpeg-dir=$(FFMPEG_DIR) --disable-ffmpeg-h263
 
236
 
 
237
# write country codes you want to build help for (in addition to C),
 
238
#   or leave blank to build help for all available languages;
 
239
#   e.g. for French and C put: DOC_LINGUAS := fr
 
240
DOC_LINGUAS :=
 
241
 
 
242
confflags := --prefix=$(BUILDROOT) --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
 
243
 
 
244
confptlib := $(confflags) \
 
245
        --enable-vfw --with-directx-includedir=$(EKIGA_DIR)/win32/directx \
 
246
        --disable-qos --disable-alsa --disable-esd --disable-oss --disable-sunaudio --disable-shmaudio \
 
247
        --disable-v4l --disable-v4l2 --disable-bsdvideo --disable-avc --disable-dc
 
248
 
 
249
        # disable ilbc and silk non-free codecs
 
250
confopal := $(confflags) --with-ffmpeg-dir=$(FFMPEG_DIR) --disable-t38 --disable-fax --disable-iLBC --disable-silk
 
251
 
171
252
confekiga:= $(confflags) \
172
 
            --with-directx-dir=$(BUILDROOT)/directx --prefix=$(EKIGA_PREFIX) \
173
 
            --bindir=$(EKIGA_PREFIX) --datadir=$(EKIGA_PREFIX) \
174
 
            --sysconfdir=$(EKIGA_PREFIX) --libdir=$(EKIGA_PREFIX) --disable-gnome \
175
 
            --disable-dbus --disable-avahi --disable-xv --with-ldap-dir=$(OPENLDAP_DIR) \
176
 
            --enable-static-libs
177
 
 
178
 
confffmpeg:=--cross-prefix=i586-mingw32msvc- --enable-shared --enable-memalign-hack \
179
 
            --enable-cross-compile --disable-ffserver --target-os=mingw32 \
180
 
            --enable-w32threads --arch=i686  \
181
 
            --disable-parsers --enable-parser=h264 --enable-parser=mpeg4video --enable-parser=h263 \
182
 
            --disable-decoders --enable-decoder=h264 --enable-decoder=mpeg4  --enable-decoder=h263 \
183
 
            --disable-muxers --enable-muxer=h264 --enable-muxer=mpeg4 --enable-muxer=h263 \
184
 
            --disable-encoders --enable-encoder=mpeg4 --enable-encoder=h263 \
185
 
            --disable-protocols --disable-bsfs --disable-ffplay --prefix=$(BUILDROOT) \
186
 
            --libdir=$(LIBDIR) --extra-ldflags=-Wl,-static
187
 
#           --disable-network
188
 
 
189
 
confx264:=  --disable-avis-input --prefix=$(BUILDROOT) --host=$(DEB_HOST_GNU_TYPE)
190
 
 
191
 
conftheora:=--prefix=$(BUILDROOT) --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \
192
 
            --disable-vorbistest --disable-sdltest --disable-examples
 
253
        --with-directx-dir=$(EKIGA_DIR)/win32/directx --prefix=$(EKIGA_PREFIX) \
 
254
        --bindir=$(EKIGA_PREFIX) --datadir=$(EKIGA_PREFIX) \
 
255
        --sysconfdir=$(EKIGA_PREFIX) --libdir=$(EKIGA_PREFIX) \
 
256
        --disable-dbus --disable-avahi --disable-xv \
 
257
        --with-ldap-dir=$(OPENLDAP_DIR) --with-libsasl2-dir=$(LIBSASL2_DIR) --with-boost=$(BUILDROOT) # --enable-static-libs
 
258
 
 
259
confffmpeg := --cross-prefix=i586-mingw32msvc- --enable-shared --enable-memalign-hack \
 
260
        --enable-cross-compile --enable-w32threads --arch=i686 --target-os=mingw32 \
 
261
        --disable-ffserver --disable-ffmpeg --disable-ffplay \
 
262
        --disable-parsers --enable-parser=h264 --enable-parser=mpeg4video --enable-parser=h263 \
 
263
        --disable-decoders --enable-decoder=h264 --enable-decoder=mpeg4  --enable-decoder=h263 \
 
264
        --disable-muxers --enable-muxer=h264 --enable-muxer=mpeg4 --enable-muxer=h263 \
 
265
        --disable-encoders --enable-encoder=mpeg4 --enable-encoder=h263 \
 
266
        --disable-protocols --disable-bsfs --disable-ffplay --prefix=$(BUILDROOT) \
 
267
        --libdir=$(LIBDIR) --extra-ldflags=-Wl,-static
 
268
#       --disable-network
 
269
 
 
270
confx264 := $(confflags) --disable-avs-input
 
271
 
 
272
confcelt := $(confflags) --disable-oggtest
 
273
 
 
274
conftheora := $(confflags) --disable-vorbistest --disable-sdltest --disable-examples --disable-spec
 
275
 
 
276
confboost := --user-config=user-config.jam --layout=system variant=release threading=multi link=shared runtime-link=shared target-os=windows threadapi=win32 --without-math --without-python --without-mpi --without-serialization --without-test --without-thread --without-wave --without-date_time --without-system --without-filesystem --without-graph --without-graph_parallel --without-iostreams --without-program_options --without-regex --without-random -q stage
193
277
 
194
278
all: binaries $(TARGETDIR)/$(EKIGA_INSTALLER)
195
279
        @echo "Built on $(shell date)"
200
284
update: update-sources
201
285
 
202
286
binaries:
203
 
        echo Checking prerequisites...
204
 
        hash $(REALCC) $(REALCXX) $(LD) $(NM) $(AR) $(RANLIB) $(DLLTOOL) $(DLLWRAP) $(OBJDUMP) $(WINDRES) $(AS)||(echo You need to install mingw32;exit 1)
205
 
        hash tar unzip zip wget $(ACLOCAL) autoheader libtoolize automake-1.9 autoconf pkg-config gnome-autogen.sh flex yasm bison gdk-pixbuf-csource||(echo we need more binaries ;exit 1)
206
 
        [ -f /usr/share/gnome-doc-utils/gnome-doc-utils.make ]||(echo gnome-doc-tools not installed;exit 1)
207
 
        [ -f /usr/lib/pkgconfig/gconf-2.0.pc ]||(echo libgconf2-dev not installed;exit 1)
208
 
        [ -f /usr/lib/pkgconfig/avahi-glib.pc ]||(echo libavahi-glib-dev not installed;exit 1)
209
 
        [ -f /usr/lib/pkgconfig/avahi-client.pc ]||(echo libavahi-client-dev not installed;exit 1)
210
 
        hash makensis||(echo nsis not installed;exit1)   
211
 
        hash xmlto||(echo xmlto not installed;exit1)
212
 
#       [ $(BUILDROOT) = $(CURDIR) ]||(echo You are supposed to run this as Makefile in $(BUILDROOT);exit 1)
 
287
        @echo Checking prerequisites...
 
288
        hash $(REALCC) $(REALCXX) $(LD) $(NM) $(AR) $(RANLIB) $(DLLTOOL) $(DLLWRAP) $(OBJDUMP) $(RC) $(AS)||(echo You need to install mingw32;exit 1)
 
289
        hash tar unzip zip wget aclocal autoheader libtoolize automake autoconf pkg-config gnome-autogen.sh bison gdk-pixbuf-csource || (echo we need more binaries ; exit 1)
 
290
        [ -f /usr/share/gnome-doc-utils/gnome-doc-utils.make ] || (echo gnome-doc-tools not installed; exit 1)
 
291
        [ -f /usr/lib/pkgconfig/gconf-2.0.pc ] || (echo libgconf2-dev not installed; exit 1)
 
292
        [ -f /usr/lib/pkgconfig/avahi-glib.pc ] || (echo libavahi-glib-dev not installed; exit 1)
 
293
        [ -f /usr/lib/pkgconfig/avahi-client.pc ] || (echo libavahi-client-dev not installed; exit 1)
 
294
        hash makensis || (echo nsis not installed; exit 1)
 
295
        hash xmlto || (echo xmlto not installed; exit 1)
 
296
        hash yasm || (echo yasm not installed, mandatory for x264; exit 1)
 
297
#       [ $(BUILDROOT) = $(CURDIR) ] || (echo You are supposed to run this as Makefile in $(BUILDROOT); exit 1)
 
298
        [ `grep define.*MINGW32_MINOR_VERSION /usr/i586-mingw32msvc/include/_mingw.h|tr -s " "|cut -d" " -f3` -ge 15 ] || (echo 'You need mingw32-runtime at version >= 3.15'; exit 1)
213
299
        mkdir -p $(INCLUDEDIR) $(LIBDIR)/pkgconfig $(SRCDIR) $(BINDIR)
214
300
        $(RM) -f $(BINDIR)/cygpath
215
 
        ln -s /bin/true $(BINDIR)/cygpath
 
301
        $(LN) -s /bin/true $(BINDIR)/cygpath
216
302
        touch $@
217
303
 
218
304
### REGEX
219
 
update-sources:: 
220
 
        echo "--- Getting libregex..."
 
305
update-sources::
 
306
        @echo "--- Getting libregex..."
221
307
        mkdir -p $(SRCDIR)/$(REGEX_ARCHIVE)
222
308
        cd $(SRCDIR)/$(REGEX_ARCHIVE); \
223
 
        for i in regex.c regexec.c regex.h regex_internal.c regex_internal.h regcomp.c alloca_.h alloca.c strcase.h localcharset.c localcharset.h;do \
224
 
          $(WGET) http://cvs.savannah.nongnu.org/viewcvs/*checkout*/gnulib/gnulib/lib/$$i ;\
 
309
        for i in regex.c regexec.c regex.h regex_internal.c regex_internal.h regcomp.c alloca_.h alloca.c localcharset.c localcharset.h; do \
 
310
          $(WGET) http://git.savannah.gnu.org/cgit/gnulib.git/plain/lib/$$i?id=$(REGEX_REV) -O $$i; \
225
311
        done
226
312
 
227
313
$(REGEX_DIR)/regex.h: $(SRCDIR)/$(REGEX_ARCHIVE)
228
 
        $(RM) -rf $(REGEX_DIR) 
 
314
        $(RM) -rf $(REGEX_DIR)
229
315
        mkdir -p $(REGEX_DIR)
230
316
        $(CP) $(SRCDIR)/$(REGEX_ARCHIVE)/* $(REGEX_DIR)
231
317
        $(MV) $(REGEX_DIR)/alloca_.h $(REGEX_DIR)/alloca.h
244
330
        $(CP) $(REGEX_DIR)/localcharset.h $(INCLUDEDIR)
245
331
        touch $@
246
332
 
247
 
### libsigc++
 
333
### boost
248
334
update-sources::
249
 
        echo --- Getting libsigc++ ...
250
 
        $(WGET) -P src $(SIGC_URL)/$(SIGC_ARCHIVE)
251
 
 
252
 
$(SIGC_DIR)/config.status: $(SRCDIR)/$(SIGC_ARCHIVE) 
253
 
        tar xfz $(SRCDIR)/$(SIGC_ARCHIVE)
254
 
        (cd $(SIGC_DIR); ./configure $(confflags) --enable-shared)
255
 
        touch $@
256
 
 
257
 
$(LIBDIR)/libsigc++.a:  $(SIGC_DIR)/config.status
258
 
        $(MAKE) $(MAKEOPTS) -C $(SIGC_DIR)
259
 
        $(MAKE) $(MAKEOPTS) -C $(SIGC_DIR) install
260
 
        touch $@
 
335
        @echo --- Getting libboost ...
 
336
        $(WGET) -P src $(BOOST_URL)/$(BOOST_ARCHIVE)
 
337
 
 
338
$(BOOST_DIR)/config.status: $(SRCDIR)/$(BOOST_ARCHIVE)
 
339
        tar xfz $(SRCDIR)/$(BOOST_ARCHIVE)
 
340
        # avoid configuring error at -g
 
341
        cd $(BOOST_DIR); CC="$(REALCC) -mms-bitfields" ./bootstrap.sh --prefix=$(BUILDROOT)
 
342
        touch $@
 
343
 
 
344
$(LIBDIR)/libboost_signals.dll: $(BOOST_DIR)/config.status
 
345
        echo "using gcc : : i586-mingw32msvc-g++ : ;" >$(BOOST_DIR)/user-config.jam
 
346
        cd $(BOOST_DIR); ./bjam $(confboost)
 
347
        cd $(BOOST_DIR); ./bjam $(confboost) install
261
348
 
262
349
### expat
263
350
update-sources::
264
 
        echo --- Getting EXPAT ...
 
351
        @echo --- Getting EXPAT ...
265
352
        $(WGET) -P src $(EXPAT_URL)/$(EXPAT_ARCHIVE)
266
353
 
267
 
$(EXPAT_DIR)/config.status: $(SRCDIR)/$(EXPAT_ARCHIVE) 
 
354
$(EXPAT_DIR)/config.status: $(SRCDIR)/$(EXPAT_ARCHIVE)
268
355
        tar xfz $(SRCDIR)/$(EXPAT_ARCHIVE)
269
 
        (cd $(EXPAT_DIR); ./configure $(confflags))
270
 
        touch $@
 
356
        cd $(EXPAT_DIR); ./configure $(confflags)
271
357
 
272
358
$(INCLUDEDIR)/expat.h:
273
359
        install -m 644 $(EXPAT_DIR)/lib/expat.h $(INCLUDEDIR)/
279
365
        touch $@
280
366
 
281
367
### OPENLDAP
282
 
update-sources:: 
283
 
        echo --- Getting OpenLDAP...
 
368
update-sources::
 
369
        @echo --- Getting OpenLDAP ...
284
370
        $(WGET) -P $(SRCDIR) $(OPENLDAP_URL)/$(OPENLDAP_ARCHIVE)
285
371
 
286
372
$(OPENLDAP_DIR)/configure: $(LIBDIR)/libregex.a $(SRCDIR)/$(OPENLDAP_ARCHIVE)
287
373
        rm -f $(LIBDIR)/libldap.dll
288
374
        tar xfz $(SRCDIR)/$(OPENLDAP_ARCHIVE) -C $(BUILDROOT)
289
 
        sed -i -e 's#windres#$(WINDRES)#g' $(OPENLDAP_DIR)/libraries/liblutil/Makefile.in
 
375
        sed -i -e 's#windres#$(RC)#g' $(OPENLDAP_DIR)/libraries/liblutil/Makefile.in
290
376
        touch $@
291
377
 
292
378
$(OPENLDAP_DIR)/config.status: binaries $(OPENLDAP_DIR)/configure
293
379
        #-$(MAKE) -C $(OPENLDAP_DIR) clean
294
380
        rm -f $(LIBDIR)/libldap.dll
295
 
        ln -sf $(INCLUDEDIR)/regex.h $(OPENLDAP_DIR)/include/
296
 
        cd $(OPENLDAP_DIR);./configure --with-cyrus-sasl=no --enable-bdb=no --enable-hdb=no $(confflags)
 
381
        $(LN) -sf $(INCLUDEDIR)/regex.h $(OPENLDAP_DIR)/include/
 
382
        cd $(OPENLDAP_DIR); ./configure --with-cyrus-sasl=no --enable-bdb=no --enable-hdb=no $(confflags)
297
383
        $(MAKE) $(MAKEOPTS) -C $(OPENLDAP_DIR) depend
298
384
        touch $@
299
385
 
300
386
$(LIBDIR)/libldap.dll: binaries $(OPENLDAP_DIR)/config.status
301
387
        $(MAKE) $(MAKE_LIB_OPTS) -C $(OPENLDAP_DIR)/libraries/liblutil
302
388
        $(CP) -f $(OPENLDAP_DIR)/libraries/liblutil/liblutil.a $(LIBDIR)
303
 
        $(MAKE) $(MAKE_LIB_OPTS) -C $(OPENLDAP_DIR)/libraries/liblber all install 
 
389
        $(MAKE) $(MAKE_LIB_OPTS) -C $(OPENLDAP_DIR)/libraries/liblber all install
304
390
        $(MAKE) $(MAKE_LIB_OPTS) -C $(OPENLDAP_DIR)/include install
305
391
        $(MAKE) $(MAKE_LIB_OPTS) -C $(OPENLDAP_DIR)/libraries/libldap MOD_LIBS="-llutil" all install
306
392
        touch $@
307
393
 
 
394
### libsasl2
 
395
update-sources::
 
396
        echo --- Getting libsasl2 ...
 
397
        $(WGET) -P $(SRCDIR) $(LIBSASL2_URL)/$(LIBSASL2_ARCHIVE)
 
398
 
 
399
$(LIBDIR)/libsasl2.a: $(SRCDIR)/$(LIBSASL2_ARCHIVE)
 
400
        rm -f $(LIBDIR)/libsasl2.a
 
401
        rm -rf $(LIBSASL2_DIR)
 
402
        unzip -u $(SRCDIR)/$(LIBSASL2_ARCHIVE) -d $(BUILDROOT)
 
403
        cp $(LIBSASL2_DIR)/lib/libsasl.lib $(LIBDIR)/libsasl2.a
 
404
 
308
405
### PTLib
309
 
update-sources:: 
310
 
        echo --- Getting PTLib $(PTLIB_REV) ...
 
406
update-sources::
 
407
        @echo --- Getting PTLib ...
 
408
ifeq ($(RELEASE),1)
 
409
        $(WGET) -P $(SRCDIR) $(PTLIB_URL)/$(PTLIB_ARCHIVE)
 
410
else
311
411
        $(SVN) co $(PTLIB_URL) $(SRCDIR)/$(PTLIB_ARCHIVE) -r $(PTLIB_REV)
 
412
endif
312
413
 
313
 
$(PTLIB_DIR)/configure: binaries $(LIBDIR)/libldap.dll $(LIBDIR)/libogg.a $(LIBDIR)/libspeex.a $(SRCDIR)/$(PTLIB_ARCHIVE)  $(LIBDIR)/libexpat.a
314
 
        rm -f $(LIBDIR)/libpt_s.a
315
 
        rm -rf $(PTLIB_DIR)
316
 
        $(CP) -r $(SRCDIR)/$(PTLIB_ARCHIVE) $(PTLIB_DIR)        
 
414
$(PTLIB_DIR)/configure: binaries $(LIBDIR)/libldap.dll $(LIBDIR)/libogg.a $(LIBDIR)/libspeex.a $(SRCDIR)/$(PTLIB_ARCHIVE) $(LIBDIR)/libexpat.a
 
415
        rm -rf $(PTLIB_DIR) $(LIBDIR)/$(PTLIB_LIB) $(INCLUDEDIR)/ptclib $(INCLUDEDIR)/ptlib
 
416
ifeq ($(RELEASE),1)
 
417
        tar xfz $(SRCDIR)/$(PTLIB_ARCHIVE) -C $(BUILDROOT)
 
418
else
 
419
        $(CP) -r $(SRCDIR)/$(PTLIB_ARCHIVE) $(PTLIB_DIR)
 
420
endif
 
421
        # regenerate configure, since it might be older than configure.ac
 
422
        cd $(PTLIB_DIR); aclocal && autoconf
 
423
        cd $(PTLIB_DIR)/plugins; aclocal && autoconf
 
424
        # apply all ptlib_* patches
 
425
        cd $(PTLIB_DIR); for i in $(EKIGA_DIR)/win32/diff/ptlib_*; do \
 
426
                test `basename $$i` != 'ptlib_*' && (patch -p1 <$$i || exit 1) ;\
 
427
        done; true
317
428
        touch $@
318
429
 
319
430
$(PTLIB_DIR)/config.status: binaries $(PTLIB_DIR)/configure
320
 
        rm -f $(LIBDIR)/libpt_s.a
321
 
        (cd $(PTLIB_DIR)/;./configure $(confptlib) )
322
 
        touch $@
 
431
        rm -f $(LIBDIR)/$(PTLIB_LIB)
 
432
        cd $(PTLIB_DIR); ./configure $(confptlib)
323
433
 
324
 
$(LIBDIR)/libpt_s.a: binaries $(PTLIB_DIR)/config.status
325
 
ifeq ($(DEBUG),1)
326
 
        $(MAKE) $(MAKEOPTS) DEBUG=1 debug -C $(PTLIB_DIR)
327
 
        $(MAKE) DEBUG=1 -C $(PTLIB_DIR) install
328
 
else
329
 
        $(MAKE) $(MAKEOPTS) -C $(PTLIB_DIR)
 
434
$(LIBDIR)/$(PTLIB_LIB): binaries $(PTLIB_DIR)/config.status
 
435
        $(MAKE) $(MAKEOPTS) VERBOSE=1 -C $(PTLIB_DIR)
330
436
        $(MAKE) -C $(PTLIB_DIR) install
331
 
endif
332
 
        touch $@
333
437
 
334
438
### libogg
335
439
update-sources::
336
 
        echo --- Getting Ogg ...
 
440
        @echo --- Getting Ogg ...
337
441
        $(WGET) -P $(SRCDIR) $(OGG_URL)/$(OGG_ARCHIVE)
338
442
 
339
443
$(OGG_DIR)/config.status: binaries $(SRCDIR)/$(OGG_ARCHIVE)
340
444
        rm -f $(LIBDIR)/libogg.a
341
445
        tar xfz $(SRCDIR)/$(OGG_ARCHIVE) -C $(BUILDROOT)
342
 
        (cd $(OGG_DIR)/;./configure $(confflags) \
343
 
        )
 
446
        cd $(OGG_DIR); ./configure $(confflags)
344
447
 
345
448
$(LIBDIR)/libogg.a: binaries $(OGG_DIR)/config.status
346
449
        rm -f $(LIBDIR)/libogg.a
348
451
        $(MAKE) -C $(OGG_DIR) install
349
452
 
350
453
### libspeex
351
 
update-sources:: 
352
 
        echo --- Getting Vorbis ...
 
454
update-sources::
 
455
        @echo --- Getting Vorbis ...
353
456
        $(WGET) -P $(SRCDIR) $(SPEEX_URL)/$(SPEEX_ARCHIVE)
354
457
 
355
458
$(SPEEX_DIR)/config.status: binaries $(SRCDIR)/$(SPEEX_ARCHIVE)
356
459
        rm -f $(LIBDIR)/libspeex.a
357
460
        tar xfz $(SRCDIR)/$(SPEEX_ARCHIVE) -C $(BUILDROOT)
358
 
        (cd $(SPEEX_DIR)/;LDFLAGS="$$LDFLAGS -no-undefined" ./configure $(confflags) \
359
 
        )
 
461
        cd $(SPEEX_DIR); LDFLAGS="$(LDFLAGS) -no-undefined" ./configure $(confflags)
360
462
 
361
463
$(LIBDIR)/libspeex.a: binaries $(SPEEX_DIR)/config.status
362
464
        rm -f $(LIBDIR)/libspeex.a
365
467
 
366
468
### ffmpeg
367
469
update-sources::
368
 
        echo --- Getting FFMPEG ---
369
 
        $(SVN) co $(FFMPEG_URL) $(SRCDIR)/$(FFMPEG_ARCHIVE) -r $(FFMPEG_VER)
 
470
        @echo --- Getting FFMPEG ...
 
471
ifeq ($(wildcard $(SRCDIR)/$(FFMPEG_ARCHIVE)),)
 
472
        $(GIT) clone $(FFMPEG_URL) $(SRCDIR)/$(FFMPEG_ARCHIVE)
 
473
endif
 
474
        cd $(SRCDIR)/$(FFMPEG_ARCHIVE); git reset --hard $(FFMPEG_VER)
 
475
        #touch $(SRCDIR)/$(FFMPEG_ARCHIVE)
370
476
 
371
477
$(FFMPEG_DIR)/config.status: $(SRCDIR)/$(FFMPEG_ARCHIVE)
372
478
        rm -rf $(FFMPEG_DIR)
373
479
        $(CP) -r $(SRCDIR)/$(FFMPEG_ARCHIVE) $(FFMPEG_DIR)
374
 
        (cd $(FFMPEG_DIR)/; \
375
 
        ./configure $(confffmpeg) \
376
 
        )
 
480
        cd $(FFMPEG_DIR); ./configure $(confffmpeg)
377
481
        touch $@
378
482
 
379
483
$(BINDIR)/avcodec.dll: $(FFMPEG_DIR)/config.status
386
490
        touch $@
387
491
 
388
492
### x264
389
 
update-sources:: 
390
 
        echo --- Getting x264 ---
391
 
        rm -rf $(SRCDIR)/$(X264_ARCHIVE)
 
493
update-sources::
 
494
        @echo --- Getting x264 ...
 
495
ifeq ($(wildcard $(SRCDIR)/$(X264_ARCHIVE)), )
392
496
        $(GIT) clone $(X264_URL) $(SRCDIR)/$(X264_ARCHIVE)
393
 
        echo "Updated to revision $(X264_VER)"
394
 
        touch $(SRCDIR)/$(X264_ARCHIVE)
 
497
endif
 
498
        cd $(SRCDIR)/$(X264_ARCHIVE); git reset --hard $(X264_VER)
 
499
        #touch $(SRCDIR)/$(X264_ARCHIVE)
395
500
 
396
501
$(X264_DIR)/config.status: $(SRCDIR)/$(X264_ARCHIVE)
397
502
        rm -rf $(X264_DIR)
398
503
        $(CP) -r $(SRCDIR)/$(X264_ARCHIVE) $(X264_DIR)
399
 
        (cd $(X264_DIR)/; \
400
 
        CC=$(REALCC) ./configure $(confx264); \
 
504
        #cd $(X264_DIR); CC=$(REALCC) ./configure $(confx264);
 
505
        cd $(X264_DIR); ./configure $(confx264); \
401
506
        sed -i -e 's#ranlib#$(RANLIB)#g' $(X264_DIR)/Makefile; \
402
507
        sed -i -e 's#strip#$(STRIP)#g' $(X264_DIR)/Makefile; \
403
 
        sed -i -e 's#ar #$(AR) #g' $(X264_DIR)/Makefile )
 
508
        sed -i -e 's#ar #$(AR) #g' $(X264_DIR)/Makefile
404
509
        touch $@
405
510
 
406
511
$(LIBDIR)/libx264.a: $(X264_DIR)/config.status
407
512
        $(MAKE) $(MAKE_LIB_OPTS) -C $(X264_DIR)
408
513
        $(MAKE) -C $(X264_DIR) install
409
 
        touch $@
 
514
 
 
515
### celt
 
516
update-sources::
 
517
        echo --- Getting CELT ...
 
518
        $(WGET) -P $(SRCDIR) $(CELT_URL)/$(CELT_ARCHIVE)
 
519
 
 
520
$(CELT_DIR)/config.status: $(SRCDIR)/$(CELT_ARCHIVE) $(LIBDIR)/libogg.a
 
521
        rm -rf $(CELT_DIR) $(INCLUDEDIR)/celt
 
522
        tar xfz $(SRCDIR)/$(CELT_ARCHIVE) -C $(BUILDROOT)
 
523
        cd $(CELT_DIR); ./configure $(confcelt)
 
524
 
 
525
$(LIBDIR)/libcelt0.a: $(CELT_DIR)/config.status
 
526
        $(MAKE) $(MAKE_LIB_OPTS) -C $(CELT_DIR)
 
527
        $(MAKE) -C $(CELT_DIR) install
410
528
 
411
529
### theora
412
 
update-sources:: 
413
 
        echo --- Getting theoras ...
 
530
update-sources::
 
531
        @echo --- Getting theora ...
414
532
        $(WGET) -P $(SRCDIR) $(THEORA_URL)/$(THEORA_ARCHIVE)
415
533
 
416
 
$(THEORA_DIR)/config.status: binaries $(SRCDIR)/$(THEORA_ARCHIVE)
417
 
        rm -f $(THEORA_DIR)
418
 
        unzip -u $(SRCDIR)/$(THEORA_ARCHIVE) -d $(BUILDROOT)
419
 
        (cd $(THEORA_DIR)/;./configure $(conftheora) \
420
 
        )
421
 
        touch $@
 
534
$(THEORA_DIR)/config.status: $(SRCDIR)/$(THEORA_ARCHIVE) $(LIBDIR)/libogg.a
 
535
        rm -rf $(THEORA_DIR)
 
536
        tar xfz $(SRCDIR)/$(THEORA_ARCHIVE) -C $(BUILDROOT)
 
537
        #cd $(THEORA_DIR); CC=$(REALCC) LD=$(LD) AR=$(AR) RANLIB=$(RANLIB) ./autogen.sh $(conftheora)
 
538
        cd $(THEORA_DIR); ./autogen.sh $(conftheora)
422
539
 
423
540
$(LIBDIR)/libtheora.a: $(THEORA_DIR)/config.status
424
541
        $(MAKE) $(MAKE_LIB_OPTS) -C $(THEORA_DIR)
425
542
        $(MAKE) -C $(THEORA_DIR) install
426
543
        sed -i -e "s#library_names=''#library_names='libtheora\.a'#g" $(LIBDIR)/libtheora.la
427
 
        touch $@
428
544
 
429
545
### OPAL
430
546
update-sources::
431
 
        echo --- Getting OPAL $(OPAL_REV)...
 
547
        @echo --- Getting OPAL ...
 
548
ifeq ($(RELEASE),1)
 
549
        $(WGET) -P $(SRCDIR) $(OPAL_URL)/$(OPAL_ARCHIVE)
 
550
else
432
551
        $(SVN) co $(OPAL_URL) $(SRCDIR)/$(OPAL_ARCHIVE) -r $(OPAL_REV)
 
552
endif
433
553
 
434
 
$(OPAL_DIR)/configure: binaries $(LIBDIR)/libogg.a $(LIBDIR)/libspeex.a $(LIBDIR)/libpt_s.a $(SRCDIR)/$(OPAL_ARCHIVE) $(BINDIR)/avcodec.dll $(LIBDIR)/libx264.a $(LIBDIR)/libtheora.a
435
 
        rm -rf $(OPAL_DIR) $(LIBDIR)/libopal_s.a
 
554
$(OPAL_DIR)/configure: binaries $(LIBDIR)/libogg.a $(LIBDIR)/libspeex.a $(LIBDIR)/$(PTLIB_LIB) $(SRCDIR)/$(OPAL_ARCHIVE) $(BINDIR)/avcodec.dll $(LIBDIR)/libx264.a $(LIBDIR)/libcelt0.a $(LIBDIR)/libtheora.a
 
555
        rm -rf $(OPAL_DIR) $(LIBDIR)/$(OPAL_LIB) $(INCLUDEDIR)/opal
 
556
ifeq ($(RELEASE),1)
 
557
        tar xfz $(SRCDIR)/$(OPAL_ARCHIVE) -C $(BUILDROOT)
 
558
else
436
559
        $(CP) -r $(SRCDIR)/$(OPAL_ARCHIVE) $(OPAL_DIR)
 
560
endif
 
561
        # regenerate configure, since it might be older than configure.ac
 
562
        cd $(OPAL_DIR); aclocal && autoconf
 
563
        cd $(OPAL_DIR)/plugins; aclocal && autoconf
 
564
        # apply all opal_* patches
 
565
        cd $(OPAL_DIR); for i in $(EKIGA_DIR)/win32/diff/opal_*; do \
 
566
                test `basename $$i` != 'opal_*' && (patch -p1 <$$i || exit 1) ;\
 
567
        done; true
437
568
        touch $@
438
569
 
439
570
$(OPAL_DIR)/config.status: binaries $(OPAL_DIR)/configure
440
 
        rm -f $(LIBDIR)/libopal_s.a
441
 
ifeq ($(DEBUG),1)
442
 
        (cd $(OPAL_DIR)/; ./configure $(confopal) --enable-debug )
443
 
else
444
 
        (cd $(OPAL_DIR)/; ./configure $(confopal)  )
445
 
endif
446
 
        touch $@
 
571
        rm -f $(LIBDIR)/$(OPAL_LIB)
 
572
        cd $(OPAL_DIR); ./configure $(confopal)
447
573
 
448
 
$(LIBDIR)/libopal_s.a: binaries $(OPAL_DIR)/config.status
449
 
        rm -f $(LIBDIR)/libopal_s.a
450
 
        $(MAKE) $(MAKEOPTS) -C $(OPAL_DIR) 
451
 
        $(MAKE) -C $(OPAL_DIR) install 
452
 
        touch $@
 
574
$(LIBDIR)/$(OPAL_LIB): binaries $(OPAL_DIR)/config.status
 
575
        rm -f $(LIBDIR)/$(OPAL_LIB)
 
576
        $(MAKE) $(MAKEOPTS) VERBOSE=1 -C $(OPAL_DIR)
 
577
        $(MAKE) -C $(OPAL_DIR) install
 
578
#       sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/opal*.pc
453
579
 
454
580
### libgtk
455
581
update-sources::
456
 
        echo --- Getting GTK2+ ...
 
582
        @echo --- Getting GTK2+ ...
457
583
        $(WGET) -P $(SRCDIR) $(GTK_URL)/$(GTK_ARCHIVE)
458
584
 
459
585
$(LIBDIR)/pkgconfig/gtk+-2.0.pc: $(SRCDIR)/$(GTK_ARCHIVE)
460
586
        unzip -u $(SRCDIR)/$(GTK_ARCHIVE) -d $(BUILDROOT)
 
587
        sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/g*.pc
 
588
        touch $@
 
589
 
 
590
### GTK Runtime
 
591
update-sources::
 
592
        @echo --- Getting GTK2+ Runtime Library ...
 
593
        $(WGET) -P $(SRCDIR) $(GTK_INSTALLER_URL)/$(GTK_BIN_EXE)
 
594
 
 
595
$(LIBDIR)/gtk+-$(GTK_BIN_VER)-setup.exe: $(SRCDIR)/$(GTK_BIN_EXE)
 
596
        $(CP) $(SRCDIR)/$(GTK_BIN_EXE)  $(LIBDIR)/gtk+-$(GTK_BIN_VER)-setup.exe
 
597
        touch $@
 
598
 
 
599
### libglib
 
600
update-sources::
 
601
        @echo --- Getting GLib ...
 
602
        $(WGET) -P $(SRCDIR) $(GLIB_URL)/$(GLIB_ARCHIVE)
 
603
 
 
604
$(LIBDIR)/pkgconfig/glib-2.0.pc: $(SRCDIR)/$(GLIB_ARCHIVE)
 
605
        unzip -u $(SRCDIR)/$(GLIB_ARCHIVE) -d $(BUILDROOT)
461
606
        sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/g*.pc $(BINDIR)/glib-gettextize
 
607
        chmod +x $(BINDIR)/glib-gettextize
 
608
        touch $@
 
609
 
 
610
### atk
 
611
update-sources::
 
612
        @echo --- Getting ATK ...
 
613
        $(WGET) -P $(SRCDIR) $(ATK_URL)/$(ATK_ARCHIVE)
 
614
 
 
615
$(LIBDIR)/pkgconfig/atk-2.0.pc: $(SRCDIR)/$(ATK_ARCHIVE)
 
616
        unzip -u $(SRCDIR)/$(ATK_ARCHIVE) -d $(BUILDROOT)
462
617
        sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/atk*.pc
 
618
        touch $@
 
619
 
 
620
### png
 
621
update-sources::
 
622
        @echo --- Getting PNG ...
 
623
        $(WGET) -P $(SRCDIR) $(PNG_URL)/$(PNG_ARCHIVE)
 
624
 
 
625
$(LIBDIR)/pkgconfig/libpng.pc: $(SRCDIR)/$(PNG_ARCHIVE)
 
626
        unzip -u $(SRCDIR)/$(PNG_ARCHIVE) -d $(BUILDROOT)
463
627
        sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/libpng*.pc
464
 
        sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/pango*.pc
465
 
        sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/cairo*.pc
466
 
 
 
628
        touch $@
 
629
 
 
630
### libintl
 
631
update-sources::
 
632
        @echo --- Getting Gettext ...
 
633
        $(WGET) -P $(SRCDIR) $(GETTEXT_URL)/$(GETTEXT_ARCHIVE)
 
634
 
 
635
$(LIBDIR)/libintl.a: $(SRCDIR)/$(GETTEXT_ARCHIVE)
 
636
        unzip -u $(SRCDIR)/$(GETTEXT_ARCHIVE) -d $(BUILDROOT)
467
637
        touch $@
468
638
 
469
639
### libiconv
470
 
update-sources:: 
471
 
        echo --- Getting Iconv ...
472
 
        $(WGET) -P $(SRCDIR) $(GIMP_URL)/$(ICONV_ARCHIVE)
 
640
update-sources::
 
641
        @echo --- Getting Iconv ...
 
642
        $(WGET) -P $(SRCDIR) $(ICONV_URL)/$(ICONV_ARCHIVE)
473
643
 
474
644
$(LIBDIR)/libiconv.a: $(SRCDIR)/$(ICONV_ARCHIVE)
475
645
        unzip -u $(SRCDIR)/$(ICONV_ARCHIVE) -d $(BUILDROOT)
476
646
        $(RM) -f README.libiconv
477
647
        touch $@
478
648
 
 
649
### pango
 
650
update-sources::
 
651
        @echo --- Getting Pango ...
 
652
        $(WGET) -P $(SRCDIR) $(PANGO_URL)/$(PANGO_ARCHIVE)
 
653
 
 
654
$(LIBDIR)/pkgconfig/pango32.pc: $(SRCDIR)/$(PANGO_ARCHIVE)
 
655
        unzip -u $(SRCDIR)/$(PANGO_ARCHIVE) -d $(BUILDROOT)
 
656
        sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/pango*.pc
 
657
        touch $@
 
658
 
 
659
### cairo
 
660
update-sources::
 
661
        @echo --- Getting Cairo ...
 
662
        $(WGET) -P $(SRCDIR) $(CAIRO_URL)/$(CAIRO_ARCHIVE)
 
663
 
 
664
$(LIBDIR)/pkgconfig/cairo.pc: $(SRCDIR)/$(CAIRO_ARCHIVE)
 
665
        unzip -u $(SRCDIR)/$(CAIRO_ARCHIVE) -d $(BUILDROOT)
 
666
        sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/cairo*.pc
 
667
        touch $@
 
668
 
 
669
### gdk-pixbuf
 
670
update-sources::
 
671
        @echo --- Getting GDK Pixbuf ...
 
672
        $(WGET) -P $(SRCDIR) $(GDKPIXBUF_URL)/$(GDKPIXBUF_ARCHIVE)
 
673
 
 
674
$(LIBDIR)/pkgconfig/gdk-pixbuf-2.0.pc: $(SRCDIR)/$(GDKPIXBUF_ARCHIVE)
 
675
        unzip -u $(SRCDIR)/$(GDKPIXBUF_ARCHIVE) -d $(BUILDROOT)
 
676
        sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/gdk-pixbuf*.pc
 
677
# remove -lpng14, which is not needed, to avoid downloading it
 
678
        sed -i -e 's#^\(Libs: .*\)-lpng14\(.*\)#\1\2#g' $(LIBDIR)/pkgconfig/gdk-pixbuf*.pc
 
679
        touch $@
 
680
 
 
681
### freetype
 
682
update-sources::
 
683
        @echo --- Getting Freetype ...
 
684
        $(WGET) -P $(SRCDIR) $(FREETYPE_URL)/$(FREETYPE_ARCHIVE)
 
685
 
 
686
$(LIBDIR)/pkgconfig/freetype2.pc: $(SRCDIR)/$(FREETYPE_ARCHIVE)
 
687
        unzip -u $(SRCDIR)/$(FREETYPE_ARCHIVE) -d $(BUILDROOT)
 
688
        sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/freetype2.pc
 
689
        touch $@
 
690
 
 
691
### fontconfig
 
692
update-sources::
 
693
        @echo --- Getting Fontconfig ...
 
694
        $(WGET) -P $(SRCDIR) $(FONTCONFIG_URL)/$(FONTCONFIG_ARCHIVE)
 
695
 
 
696
$(LIBDIR)/pkgconfig/fontconfig.pc: $(SRCDIR)/$(FONTCONFIG_ARCHIVE)
 
697
        unzip -u $(SRCDIR)/$(FONTCONFIG_ARCHIVE) -d $(BUILDROOT)
 
698
        sed -i -e 's#^prefix=.*$$#prefix=$(BUILDROOT)#g' $(LIBDIR)/pkgconfig/fontconfig.pc
 
699
        touch $@
 
700
 
479
701
### libxml2
480
702
update-sources::
481
 
        echo --- Getting libXML2 ...
 
703
        @echo --- Getting libXML2 ...
482
704
        $(WGET) -P $(SRCDIR) $(XML2_URL)/$(XML2_ARCHIVE)
483
705
 
484
706
$(XML2_DIR)/config.status: binaries $(SRCDIR)/$(XML2_ARCHIVE)
485
707
        rm -f $(LIBDIR)/libxml2.a
486
708
        tar xfz $(SRCDIR)/$(XML2_ARCHIVE) -C $(BUILDROOT)
487
 
        (cd $(XML2_DIR)/;./configure $(confflags) --without-python \
488
 
        )
 
709
        cd $(XML2_DIR); ./configure $(confflags) --without-python
489
710
 
490
711
$(LIBDIR)/libxml2.a: binaries $(XML2_DIR)/config.status
491
712
        rm -f $(LIBDIR)/libxml2.a
492
713
        $(MAKE) $(MAKEOPTS) -C $(XML2_DIR)
493
714
        $(MAKE) $(MAKEOPTS) -C $(XML2_DIR) install
494
715
 
495
 
### GnomeMeeting / Ekiga
 
716
### ekiga
496
717
update-sources::
497
 
        echo --- Getting Ekiga $(EKIGA_REV)...
498
 
        $(SVN) co $(EKIGA_URL) $(SRCDIR)/$(EKIGA_ARCHIVE) -r $(EKIGA_REV)
 
718
        @echo --- Getting Ekiga ...
 
719
ifeq ($(RELEASE),1)
 
720
        $(WGET) -P $(SRCDIR) $(EKIGA_URL)/$(EKIGA_ARCHIVE)
 
721
else
 
722
ifeq ($(wildcard $(SRCDIR)/$(EKIGA_ARCHIVE)), )
 
723
        $(GIT) clone $(EKIGA_URL) $(SRCDIR)/$(EKIGA_ARCHIVE)
 
724
        # switch to branch
 
725
        cd $(SRCDIR)/$(EKIGA_ARCHIVE); git $(GIT_EKIGA_REV)
 
726
else
 
727
        cd $(SRCDIR)/$(EKIGA_ARCHIVE); $(GIT) pull
 
728
endif
 
729
endif
499
730
 
500
 
$(EKIGA_DIR)/autogen.sh: binaries $(SRCDIR)/$(EKIGA_ARCHIVE)
 
731
$(EKIGA_DIR)/configure: binaries $(SRCDIR)/$(EKIGA_ARCHIVE)
501
732
        rm -rf $(EKIGA_DIR)
 
733
ifeq ($(RELEASE),1)
 
734
        tar xfz $(SRCDIR)/$(EKIGA_ARCHIVE) -C $(BUILDROOT)
 
735
else
502
736
        $(CP) -r $(SRCDIR)/$(EKIGA_ARCHIVE) $(EKIGA_DIR)
 
737
        cd $(EKIGA_DIR); NOCONFIGURE=1 ./autogen.sh  # generate configure
 
738
endif
 
739
        # apply all ekiga_* patches
 
740
        cd $(EKIGA_DIR); for i in $(EKIGA_DIR)/win32/diff/ekiga_*; do \
 
741
                test `basename $$i` != 'ekiga_*' && (patch -p1 <$$i || exit 1) ;\
 
742
        done; true
503
743
        touch $@
504
744
 
505
 
$(EKIGA_DIR)/config.status: binaries $(EKIGA_DIR)/autogen.sh $(LIBDIR)/libpt_s.a $(LIBDIR)/libopal_s.a \
506
 
        $(LIBDIR)/pkgconfig/gtk+-2.0.pc $(LIBDIR)/libxml2.a $(LIBDIR)/libiconv.a $(LIBDIR)/libsigc++.a
 
745
$(EKIGA_DIR)/config.status: binaries $(EKIGA_DIR)/configure $(LIBDIR)/$(PTLIB_LIB) $(LIBDIR)/$(OPAL_LIB) \
 
746
        $(LIBDIR)/pkgconfig/gtk+-2.0.pc $(LIBDIR)/pkgconfig/atk-2.0.pc $(LIBDIR)/pkgconfig/glib-2.0.pc \
 
747
        $(LIBDIR)/pkgconfig/libpng.pc $(LIBDIR)/pkgconfig/pango32.pc $(LIBDIR)/pkgconfig/cairo.pc $(LIBDIR)/libxml2.a \
 
748
        $(LIBDIR)/pkgconfig/freetype2.pc $(LIBDIR)/pkgconfig/fontconfig.pc $(LIBDIR)/pkgconfig/gdk-pixbuf-2.0.pc \
 
749
        $(LIBDIR)/libintl.a $(LIBDIR)/libiconv.a $(LIBDIR)/libboost_signals.dll $(LIBDIR)/libsasl2.a
507
750
        rm -f $(EKIGA_DIR)/src/ekiga.exe
508
 
ifeq ($(DEBUG),1)
509
 
        (cd $(EKIGA_DIR)/; ACLOCAL_FLAGS="-I $(BUILDROOT)/share/aclocal"; ./autogen.sh $(confekiga) --enable-debug )
510
 
else
511
 
        (cd $(EKIGA_DIR)/; ACLOCAL_FLAGS="-I $(BUILDROOT)/share/aclocal"; ./autogen.sh $(confekiga) )
512
 
endif
513
 
        touch $@
 
751
        cd $(EKIGA_DIR); ACLOCAL_FLAGS="-I $(BUILDROOT)/share/aclocal" LDFLAGS="$(LDFLAGS) -Wl,-subsystem,windows" ./configure $(confekiga)
514
752
 
515
753
$(EKIGA_DIR)/src/ekiga.exe: binaries $(EKIGA_DIR)/config.status
516
 
        $(WINDRES) $(EKIGA_DIR)/ekiga.rc $(EKIGA_DIR)/ekiga_rc.o -I $(INCLUDEDIR)
517
 
        $(MAKE) $(MAKEOPTS) -C $(EKIGA_DIR)
518
 
        $(MAKE) $(MAKEOPTS) -C $(EKIGA_DIR)/help
519
 
        touch $@
 
754
        $(MAKE) $(MAKEOPTS) V=1 -C $(EKIGA_DIR)
 
755
        $(MAKE) $(MAKEOPTS) V=1 -C $(EKIGA_DIR)/help
520
756
 
521
757
$(TARGETDIR)/zips: binaries $(EKIGA_DIR)/src/ekiga.exe
522
 
        -$(RM) -rf $(TARGETDIR)
523
 
        make -C ekiga install
524
 
        mkdir -p $(EKIGA_PREFIX)/plugins
525
 
        unzip -u -j $(SRCDIR)/$(GTK_ARCHIVE) "bin/*.dll" -d $(EKIGA_PREFIX) ;\
526
 
        unzip -u $(SRCDIR)/$(GTK_ARCHIVE) "etc/*" -d $(EKIGA_PREFIX) ;\
527
 
        unzip -u $(SRCDIR)/$(GTK_ARCHIVE) "lib/*.dll" -d $(EKIGA_PREFIX) ;\
528
 
        unzip -u $(SRCDIR)/$(GTK_ARCHIVE) "share/glib*" -d $(EKIGA_PREFIX) ; \
529
 
        unzip -u $(SRCDIR)/$(GTK_ARCHIVE) "share/locale/*" -d $(EKIGA_PREFIX) ; \
530
 
        unzip -u $(SRCDIR)/$(GTK_ARCHIVE) "share/themes/*" -d $(EKIGA_PREFIX) ; \
531
 
        
 
758
        $(RM) -rf $(TARGETDIR)
 
759
        mkdir $(TARGETDIR)
 
760
        make -C $(EKIGA_DIR) install
 
761
# remove unneeded files, if any
 
762
        rm -f $(EKIGA_PREFIX)/plugins/*.dll.a
 
763
        rm -f $(EKIGA_PREFIX)/plugins/*.la
 
764
 
 
765
        mkdir -p $(EKIGA_PREFIX)/plugins  # create directory, if does not exist
532
766
        for plugin in $(LIBDIR)/opal*/codecs/audio/*; do \
533
 
                install -m 755 $$plugin $(EKIGA_PREFIX)/plugins ;\
 
767
                install -m 755 $$plugin $(EKIGA_PREFIX)/plugins ;\
534
768
        done
535
769
        for plugin in $(LIBDIR)/opal*/codecs/video/*; do \
536
 
                install -m 755 $$plugin $(EKIGA_PREFIX)/plugins ;\
537
 
        done
538
 
        for lib in libexpat-1.dll liblber.dll libldap.dll libxml2-2.dll libogg-0.dll libspeex-1.dll \
539
 
                   libspeexdsp-1.dll libtheora-0.dll avcodec.dll; do \
540
 
                install -m 755 $(BINDIR)/$$lib $(EKIGA_PREFIX) ;\
541
 
        done
542
 
        install -m 755  $(SIGC_DIR)/sigc++/.libs/libsigc-2.0-0.dll $(EKIGA_PREFIX)
543
 
ifeq ($(DEBUG),0)        
 
770
                install -m 755 $$plugin $(EKIGA_PREFIX)/plugins ;\
 
771
        done
 
772
        for lib in $(PTLIB_LIB) $(OPAL_LIB) libboost_signals.dll; do \
 
773
                install -m 755 $(LIBDIR)/$$lib $(EKIGA_PREFIX) ;\
 
774
        done
 
775
        for lib in liblber.dll libldap.dll libxml2-2.dll libspeex-1.dll libspeexdsp-1.dll libtheora-0.dll avcodec-52.dll avutil-50.dll libogg-0.dll; do \
 
776
                install -m 755 $(BINDIR)/$$lib $(EKIGA_PREFIX) ;\
 
777
        done
 
778
        cd $(EKIGA_PREFIX); cp /usr/share/doc/mingw32-runtime/mingwm10.dll.gz . && gunzip mingwm10.dll.gz
 
779
ifeq ($(DEBUG),0)
544
780
        $(STRIP) $(EKIGA_PREFIX)/*.dll
545
 
        $(STRIP) $(EKIGA_PREFIX)/*.exe; 
 
781
        $(STRIP) $(EKIGA_PREFIX)/*.exe
 
782
        $(STRIP) $(EKIGA_PREFIX)/plugins/*.dll
 
783
        $(STRIP) $(EKIGA_PREFIX)/plugins/*.exe
546
784
endif
547
 
        for lc in C $(DOC_LINGUAS); do \
 
785
        # we cannot strip MS compiled dlls
 
786
        install -m 755 $(LIBSASL2_DIR)/bin/libsasl.dll $(EKIGA_PREFIX)
 
787
 
 
788
        # for RELEASE=0 ekiga.xml files do not exist, so create them
 
789
        D=$(DOC_LINGUAS); test -z "$(DOC_LINGUAS)" && D=`grep DOC_LINGUAS $(EKIGA_DIR)/help/Makefile.am | cut -d= -f2`; for lc in C $$D; do \
548
790
                mkdir -p $(EKIGA_PREFIX)/help/$$lc; \
 
791
                test $$lc != "C" -a ! -f $(EKIGA_DIR)/help/$$lc/ekiga.xml && xml2po -m docbook -e -p $(EKIGA_DIR)/help/$$lc/$$lc.po $(EKIGA_DIR)/help/C/ekiga.xml >$(EKIGA_DIR)/help/$$lc/ekiga.xml ; \
549
792
                if test -f $(EKIGA_DIR)/help/$$lc/ekiga.xml; then \
550
793
                        xmlto -o $(EKIGA_PREFIX)/help/$$lc/ --skip-validation html $(EKIGA_DIR)/help/$$lc/ekiga.xml; \
551
794
                fi ;\
552
 
                install -m 644 $(EKIGA_DIR)/help/$$lc/ekiga.xml $(EKIGA_PREFIX)/help/$$lc/;\
 
795
                install -m 644 $(EKIGA_DIR)/help/$$lc/ekiga.xml $(EKIGA_PREFIX)/help/$$lc;\
553
796
                if test -d $(EKIGA_DIR)/help/$$lc/figures; then \
554
797
                        mkdir -p $(EKIGA_PREFIX)/help/$$lc/figures; \
555
798
                        install -m 644 $(EKIGA_DIR)/help/$$lc/figures/*.png $(EKIGA_PREFIX)/help/$$lc/figures; \
556
799
                fi \
557
800
        done
558
 
        (cd $(TARGETDIR)/;zip -9r ekiga.zip Ekiga )
 
801
 
 
802
        #cd $(TARGETDIR); zip -9r ekiga-$(EKIGA_VER).zip Ekiga
 
803
        #zip -9r $(TARGETDIR)/ekiga_build-$(EKIGA_VER).zip Makefile #$(EKIGA_WIN32_DIFF_DIR)
 
804
        #tar cfvz $(TARGETDIR)/ekiga_build-$(EKIGA_VER).tgz Makefile #$(EKIGA_WIN32_DIFF_DIR)
559
805
        touch $@
560
806
 
561
 
#### README about NSIS installer ####
562
 
#
563
 
# NSIS package shipped with linux distributions does not includes some of the plugins needed.
564
 
# - System.dll : You need to get it from the windows zip archive (http://sourceforge.net/projects/nsis) and extract 
565
 
#               /Plugins/System.dll TO /usr/share/nsis/Plugins/
566
 
#               /Contrib/Modern UI/System.nsh TO /usr/share/nsis/Contrib/System/
567
 
# - Process.dll : Is a plugin that can be found here http://nsis.sourceforge.net/Processes_plug-in
568
 
#               extract /bin/Processes.dll TO /usr/share/nsis/Plugins/
569
 
#               
570
 
###########################
571
 
 
 
807
# Two additional plugins are needed from nsis:
 
808
# - System.dll, included in nsis distribution
 
809
# - Processes.dll, not included in nsis distribution
572
810
update-sources::
573
 
        echo --- Getting NSIS Installer ...
 
811
        @echo --- Getting NSIS Installer ...
574
812
        $(WGET) -P $(SRCDIR) $(NSIS_URL)/nsis-$(NSIS_VER).zip
575
813
 
576
814
$(NSISPLUGIN_DIR)/SystemLocal.dll: $(SRCDIR)/nsis-$(NSIS_VER).zip
580
818
        touch $@
581
819
 
582
820
update-sources::
583
 
        echo --- Getting NSIS Processes Plugin ...
 
821
        @echo --- Getting NSIS Processes Plugin ...
584
822
        $(WGET) -P $(SRCDIR) $(NSISPROCESSES_URL)/Processes.zip
585
823
 
586
824
$(NSISPLUGIN_DIR)/Processes.dll: $(SRCDIR)/Processes.zip
588
826
        unzip -u -j $(SRCDIR)/Processes.zip setup-processes/bin/Processes.dll -d $(NSISPLUGIN_DIR)
589
827
        touch $@
590
828
 
591
 
$(TARGETDIR)/$(EKIGA_INSTALLER): $(TARGETDIR)/zips  $(NSISPLUGIN_DIR)/SystemLocal.dll $(NSISPLUGIN_DIR)/Processes.dll
592
 
        (makensis -DEKIGA_VERSION=$(EKIGA_VER) -DEKIGA_DIR=$(EKIGA_DIR) -DBUILDROOT=$(BUILDROOT) \
593
 
         -DINSTALLER_DIR=$(EKIGA_INSTALLER_DIR) -DLIB_DIR=$(LIBDIR) -DTARGET_DIR=$(TARGETDIR) \
594
 
         -DCROSS_COMPILING=true -DGTK_VERSION=undefined\
595
 
         -DNSISSYSTEMDIR=$(NSISSYTEM_DIR) -DNSISPLUGINDIR=$(NSISPLUGIN_DIR) \
596
 
         $(EKIGA_INSTALLER_DIR)/ekiga.nsi )
597
 
        touch $@
 
829
$(TARGETDIR)/$(EKIGA_INSTALLER): $(TARGETDIR)/zips $(LIBDIR)/gtk+-$(GTK_BIN_VER)-setup.exe $(NSISPLUGIN_DIR)/SystemLocal.dll $(NSISPLUGIN_DIR)/Processes.dll
 
830
        makensis -DEKIGA_VERSION=$(EKIGA_VER) -DEKIGA_DIR=$(EKIGA_DIR) \
 
831
                -DINSTALLER_DIR=$(EKIGA_INSTALLER_DIR) -DLIB_DIR=$(LIBDIR) \
 
832
                -DTARGET_DIR=$(TARGETDIR) -DWITH_GTK=true -DGTK_VERSION=$(GTK_BIN_VER) \
 
833
                -DNSISSYSTEMDIR=$(NSISSYTEM_DIR) -DNSISPLUGINDIR=$(NSISPLUGIN_DIR) \
 
834
                -DDEBUG=$(DEBUG) $(EKIGA_INSTALLER_DIR)/ekiga.nsi
598
835
 
599
836
clean:
600
 
        -$(RM) -rf $(TARGETDIR)
 
837
        $(RM) -rf $(TARGETDIR)
601
838
 
602
839
distclean:
603
 
        -$(RM) -rf $(OPENLDAP_DIR)
604
 
        -$(RM) -rf $(BUILDROOT)/share/
605
 
        -$(RM) -rf $(BINDIR)
606
 
        -$(RM) -rf $(BUILDROOT)/contrib
607
 
        -$(RM) -rf $(BUILDROOT)/etc
608
 
        -$(RM) -rf $(INCLUDEDIR)
609
 
        -$(RM) -rf $(LIBDIR)
610
 
        -$(RM) -rf $(OGG_DIR)
611
 
        -$(RM) -rf $(XML2_DIR)
612
 
        -$(RM) -rf $(BUILDROOT)/man
613
 
        -$(RM) -rf $(BUILDROOT)/manifest
614
 
        -$(RM) -rf $(OPAL_DIR)
615
 
        -$(RM) -rf $(EKIGA_DIR)
616
 
        -$(RM) -rf $(PTLIB_DIR)
617
 
        -$(RM) -rf $(REGEX_DIR)
618
 
        -$(RM) -rf $(SIGC_DIR)
619
 
        -$(RM) -rf $(SPEEX_DIR)
620
 
        -$(RM) -rf $(EXPAT_DIR)
621
 
        -$(RM) -rf $(FFMPEG_DIR)
622
 
        -$(RM) -rf $(X264_DIR)
623
 
        -$(RM) -rf $(THEORA_DIR)
624
 
        -$(RM) -rf make
625
 
        -$(RM) -f binaries
626
 
        -$(RM) -rf $(SRCDIR)/*
 
840
        $(RM) -rf $(OPENLDAP_DIR)
 
841
        $(RM) -rf $(LIBSASL2_DIR)
 
842
        $(RM) -rf $(BUILDROOT)/share/
 
843
        $(RM) -rf $(BINDIR)
 
844
        $(RM) -rf $(BUILDROOT)/contrib
 
845
        $(RM) -rf $(BUILDROOT)/etc
 
846
        $(RM) -rf $(INCLUDEDIR)
 
847
        $(RM) -rf $(LIBDIR)
 
848
        $(RM) -rf $(OGG_DIR)
 
849
        $(RM) -rf $(XML2_DIR)
 
850
        $(RM) -rf $(BUILDROOT)/man
 
851
        $(RM) -rf $(BUILDROOT)/manifest
 
852
        $(RM) -rf $(OPAL_DIR)
 
853
        $(RM) -rf $(EKIGA_DIR)
 
854
        $(RM) -rf $(PTLIB_DIR)
 
855
        $(RM) -rf $(REGEX_DIR)
 
856
        $(RM) -rf $(BOOST_DIR)
 
857
        $(RM) -rf $(SPEEX_DIR)
 
858
        $(RM) -rf $(EXPAT_DIR)
 
859
        $(RM) -rf $(FFMPEG_DIR)
 
860
        $(RM) -rf $(X264_DIR)
 
861
        $(RM) -rf $(THEORA_DIR)
 
862
        $(RM) -rf $(CELT_DIR)
 
863
        $(RM) -rf $(NSISPLUGIN_DIR)
 
864
        $(RM) -rf make
 
865
        $(RM) -f binaries
 
866
#       $(RM) -rf $(SRCDIR)
627
867
 
628
868
.PHONY: clean distclean update update-sources