]> sjero.net Git - linphone/blob - Makefile.am
Merge branch 'master' of git.savannah.nongnu.org:/srv/git/linphone
[linphone] / Makefile.am
1 ## Process this file with automake to produce Makefile.in
2
3 # let make re-run automake upon need
4 ACLOCAL_AMFLAGS = -I m4 $(ACLOCAL_MACOS_FLAGS)
5
6 if EXTERNAL_MEDIASTREAMER
7 MS2_DIR=
8 else
9 MS2_DIR=mediastreamer2
10 endif
11
12 if EXTERNAL_ORTP
13 ORTP_DIR=
14 else
15 ORTP_DIR=oRTP
16 endif
17
18
19 SUBDIRS = build m4 pixmaps po $(ORTP_DIR) $(MS2_DIR) \
20                 coreapi console gtk share scripts
21
22
23
24 ACLOCAL_FLAGS=-I$(top_srcdir)/m4
25
26 OPTIONAL_SOUNDS=\
27                 share/sounds/linphone/rings/synth.wav \
28                 share/sounds/linphone/rings/tapping.wav \
29                 share/sounds/linphone/rings/orig.wav \
30                 share/sounds/linphone/rings/sweet.wav \
31                 share/sounds/linphone/rings/rock.wav
32
33
34 INSTALLDIR=$(shell cd $(top_builddir) && pwd)/linphone-install
35 INSTALLDIR_WITH_PREFIX=$(INSTALLDIR)/$(prefix)
36 ZIPFILE=$(shell cd $(top_builddir) && pwd)/$(PACKAGE)-win32-$(VERSION).zip
37 ZIP_EXCLUDED=include lib \
38                 $(OPTIONAL_SOUNDS)
39
40 SDK_ZIPFILE=$(shell cd $(top_builddir) && pwd)/lib$(PACKAGE)-win32-$(VERSION).zip
41 SDK_EXCLUDED= \
42         bin/linphone.exe \
43         lib/*.la \
44         share/linphone \
45         share/pixmaps \
46         share/locale \
47         share/gnome \
48         $(OPTIONAL_SOUNDS)
49
50
51 GTK_PREFIX=/
52 GTK_THEME=Outcrop
53 GTK_FILELIST=gtk+-2.22.1.filelist
54 GTK_FILELIST_PATH=$(shell cd $(top_srcdir) && pwd)/$(GTK_FILELIST)
55 LINPHONEDEPS_FILELIST=linphone-deps.filelist
56 WINBINDIST_FILES=$(shell cat $(top_srcdir)/$(LINPHONEDEPS_FILELIST))
57 ISS_SCRIPT=linphone.iss
58 ISS_SCRIPT_PATH=$(shell cd $(top_srcdir) && pwd)/$(ISS_SCRIPT)
59 #path to Inno Setup 5 compiler
60 ISCC=ISCC.exe
61 PACKAGE_WIN32_FILELIST=$(PACKAGE)-win32.filelist
62 PACKAGE_BUNDLE_FILE=$(top_srcdir)/build/macos/$(PACKAGE).bundle
63
64 EXTRA_DIST = config.rpath  BUGS linphone.kdevelop  \
65                                 intltool-extract.in     \
66                                 intltool-merge.in       \
67                                 intltool-update.in \
68                                 README.arm \
69                                 README.mingw \
70                                 README.macos \
71                                 autogen.sh \
72                                 linphone.spec.in \
73                                 $(GTK_FILELIST) \
74                                 gen-gtkfilelist.sh \
75                                 $(LINPHONEDEPS_FILELIST) \
76                                 $(ISS_SCRIPT).in
77
78 DISTCLEANFILES= intltool-extract intltool-merge intltool-update po/stamp-it po/.intltool-merge-cache $(ISS_SCRIPT) $(PACKAGE_WIN32_FILELIST)
79
80 CLEANFILES=Portfile Portfile-devel
81
82 # `make rpm'
83
84 all-local: linphone.spec linphone.iss
85
86 linphone.spec: linphone.spec.in
87
88 .phony: rpm
89 rpm:
90         $(MAKE) dist
91         cd oRTP && $(MAKE) dist && mv -f ortp*.tar.gz ../
92         cd mediastreamer2 && $(MAKE) dist && mv -f mediastreamer*.tar.gz ../
93 # Create "Specfile" at the same level as the tarball content
94         -rm -f $(PACKAGE)-$(VERSION).tar
95         gunzip $(PACKAGE)-$(VERSION).tar.gz
96         cp $(PACKAGE).spec Specfile
97         tar --append --file=$(PACKAGE)-$(VERSION).tar Specfile
98         gzip $(PACKAGE)-$(VERSION).tar
99 # <https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=2068410>
100         TAR_OPTIONS=--wildcards rpmbuild -ta --clean --rmsource --rmspec $(PACKAGE)-$(VERSION).tar.gz
101
102 #a zip containing win32 binaries, suitable to generate an installer
103
104 other-cherrypick:
105         cd $(GTK_PREFIX) && \
106         for file in $(WINBINDIST_FILES) ; do \
107                 if test -d $$file; then \
108                         mkdir -p $(INSTALLDIR_WITH_PREFIX)/$$file ;\
109                 else \
110                         cp $$file $(INSTALLDIR_WITH_PREFIX)/$$file ;\
111                 fi \
112         done
113         cp /mingw/bin/libgcc_s*.dll \
114                 /mingw/bin/libstdc++-6.dll \
115                 /mingw/bin/libintl-8.dll \
116                 /mingw/bin/libiconv-2.dll \
117                 $(INSTALLDIR_WITH_PREFIX)/bin/.
118
119
120 gtk-cherrypick:
121         cd $(GTK_PREFIX) && \
122         for file in `cat $(GTK_FILELIST_PATH)` ; do \
123                 if test -d $$file; then \
124                         mkdir -p $(INSTALLDIR_WITH_PREFIX)/$$file ;\
125                 else \
126                         cp $$file $(INSTALLDIR_WITH_PREFIX)/$$file ;\
127                 fi \
128         done && \
129         mkdir -p  $(INSTALLDIR_WITH_PREFIX)/share/themes && \
130         cp -rf share/themes/$(GTK_THEME) $(INSTALLDIR_WITH_PREFIX)/share/themes/.
131
132 zip:
133         rm -f $(ZIPFILE)
134         rm -rf $(INSTALLDIR)
135         mkdir -p $(INSTALLDIR)
136         make install DESTDIR=$(INSTALLDIR)
137 #remove unwanted linphone stuff
138         cd $(INSTALLDIR_WITH_PREFIX) && rm -rf $(ZIP_EXCLUDED)
139 #add gtk dlls and files
140         make gtk-cherrypick
141         make other-cherrypick
142         cp -f $(top_srcdir)/gtk/gtkrc $(INSTALLDIR_WITH_PREFIX)/.
143         cp -f $(top_srcdir)/README $(INSTALLDIR_WITH_PREFIX)/.
144         cp -f $(top_srcdir)/COPYING $(INSTALLDIR_WITH_PREFIX)/.
145         cd $(INSTALLDIR_WITH_PREFIX) && zip -r $(ZIPFILE) *
146
147 sdk:
148         rm -f $(SDK_ZIPFILE)
149         rm -rf $(INSTALLDIR)
150         mkdir -p $(INSTALLDIR)
151         make install DESTDIR=$(INSTALLDIR)
152 # remove unwanted stuff (gtk interface)
153         cd $(INSTALLDIR_WITH_PREFIX) && rm -rf $(SDK_EXCLUDED)
154         make other-cherrypick
155         cp -f $(top_srcdir)/README $(INSTALLDIR_WITH_PREFIX)/.
156         cp -f $(top_srcdir)/COPYING $(INSTALLDIR_WITH_PREFIX)/.
157         cd $(INSTALLDIR_WITH_PREFIX) && zip -r $(SDK_ZIPFILE) *
158
159 filelist: zip
160         cd $(INSTALLDIR_WITH_PREFIX) && \
161         rm -f $(PACKAGE_WIN32_FILELIST) && \
162         for file in `find` ; do \
163                 if ! test -d $$file ; then \
164                         echo "Source: $$file; Destdir: {app}\\`dirname $$file`; Flags: ignoreversion" \
165                         >> $(PACKAGE_WIN32_FILELIST) ;\
166                 fi \
167         done
168
169 setup.exe: filelist
170         cp $(ISS_SCRIPT) $(INSTALLDIR_WITH_PREFIX)/.
171         cd $(INSTALLDIR_WITH_PREFIX) && \
172         $(ISCC) $(ISS_SCRIPT) 
173         mv $(INSTALLDIR_WITH_PREFIX)/Output/setup.exe $(PACKAGE)-$(VERSION)-setup.exe
174         rm -rf $(INSTALLDIR_WITH_PREFIX)/Output
175         rm -f $(INSTALLDIR_WITH_PREFIX)/$(PACKAGE_WIN32_FILELIST)
176         rm -f $(INSTALLDIR_WITH_PREFIX)/$(ISS_SCRIPT)
177
178 newdate:
179         cd gtk && $(MAKE) newdate
180
181
182 Portfile:       $(top_srcdir)/scripts/Portfile.tmpl dist
183         sed -e 's/\@VERSION\@/$(LINPHONE_VERSION)/g' \
184           -e 's/\@LINPHONE_MD5\@/$(shell md5sum linphone-$(VERSION).tar.gz | awk {'print $$1'})/' < $< > $@
185
186 Portfile-devel: $(top_srcdir)/scripts/Portfile-devel.tmpl dist
187         sed -e 's/\@VERSION\@/$(LINPHONE_VERSION)/g' \
188           -e 's/\@LINPHONE_MD5\@/$(shell md5sum linphone-$(VERSION).tar.gz | awk {'print $$1'})/' < $< > $@
189
190 bundle:
191         rm -rf $(INSTALLDIR)
192         mkdir -p $(INSTALLDIR)
193         make install DESTDIR=$(INSTALLDIR)
194         LINPHONE_INSTALL_PREFIX=$(INSTALLDIR_WITH_PREFIX) \
195         LIBLINPHONE_INSTALL_PREFIX=$(INSTALLDIR_WITH_PREFIX) \
196         ige-mac-bundler $(PACKAGE_BUNDLE_FILE)
197         cd $$HOME/Desktop && zip -r Linphone-$(VERSION).app.zip Linphone.app
198
199
200