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