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