]> sjero.net Git - linphone/blob - Makefile.am
attempt to restore 'make rpm' but fails.
[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         cd oRTP && $(MAKE) dist && mv -f ortp*.tar.gz ../
70         cd mediastreamer2 && $(MAKE) dist && mv -f mediastreamer*.tar.gz ../
71 # Create "Specfile" at the same level as the tarball content
72         -rm -f $(PACKAGE)-$(VERSION).tar
73         gunzip $(PACKAGE)-$(VERSION).tar.gz
74         cp $(PACKAGE).spec Specfile
75         tar --append --file=$(PACKAGE)-$(VERSION).tar Specfile
76         gzip $(PACKAGE)-$(VERSION).tar
77 # <https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=2068410>
78         TAR_OPTIONS=--wildcards rpmbuild -ta --clean --rmsource --rmspec $(PACKAGE)-$(VERSION).tar.gz
79
80 #a zip containing win32 binaries, suitable to generate an installer
81
82 other-cherrypick:
83         cd $(GTK_PREFIX) && \
84         for file in $(WINBINDIST_FILES) ; do \
85                 if test -d $$file; then \
86                         mkdir -p $(INSTALLDIR_WITH_PREFIX)/$$file ;\
87                 else \
88                         cp $$file $(INSTALLDIR_WITH_PREFIX)/$$file ;\
89                 fi \
90         done
91         cp /mingw/bin/libgcc_s*.dll $(INSTALLDIR_WITH_PREFIX)/bin/.
92
93
94 gtk-cherrypick:
95         cd $(GTK_PREFIX) && \
96         for file in `cat $(GTK_FILELIST_PATH)` ; do \
97                 if test -d $$file; then \
98                         mkdir -p $(INSTALLDIR_WITH_PREFIX)/$$file ;\
99                 else \
100                         cp $$file $(INSTALLDIR_WITH_PREFIX)/$$file ;\
101                 fi \
102         done && \
103         cp -rf share/themes $(INSTALLDIR_WITH_PREFIX)/share/.
104
105 zip:
106         rm -f $(ZIPFILE)
107         rm -rf $(INSTALLDIR)
108         mkdir -p $(INSTALLDIR)
109         make install DESTDIR=$(INSTALLDIR)
110 #remove unwanted linphone stuff
111         cd $(INSTALLDIR_WITH_PREFIX) && rm -rf $(ZIP_EXCLUDED)
112 #add gtk dlls and files
113         make gtk-cherrypick
114         make other-cherrypick
115         cp -f $(top_srcdir)/gtk-glade/gtkrc $(INSTALLDIR_WITH_PREFIX)/.
116         cp -f $(top_srcdir)/README $(INSTALLDIR_WITH_PREFIX)/.
117         cp -f $(top_srcdir)/COPYING $(INSTALLDIR_WITH_PREFIX)/.
118         cd $(INSTALLDIR_WITH_PREFIX) && zip -r $(ZIPFILE) *
119
120 filelist: zip
121         cd $(INSTALLDIR_WITH_PREFIX) && \
122         rm -f $(PACKAGE_WIN32_FILELIST) && \
123         for file in `find` ; do \
124                 if ! test -d $$file ; then \
125                         echo "Source: $$file; Destdir: {app}\\`dirname $$file`; Flags: ignoreversion" \
126                         >> $(PACKAGE_WIN32_FILELIST) ;\
127                 fi \
128         done
129
130 setup.exe: filelist
131         cp $(ISS_SCRIPT) $(INSTALLDIR_WITH_PREFIX)/.
132         cd $(INSTALLDIR_WITH_PREFIX) && \
133         $(ISCC) $(ISS_SCRIPT) 
134         mv $(INSTALLDIR_WITH_PREFIX)/Output/setup.exe $(PACKAGE)-$(VERSION)-setup.exe
135         rm -rf $(INSTALLDIR_WITH_PREFIX)/Output
136         rm -f $(INSTALLDIR_WITH_PREFIX)/$(PACKAGE_WIN32_FILELIST)
137         rm -f $(INSTALLDIR_WITH_PREFIX)/$(ISS_SCRIPT)
138
139 newdate:
140         cd gtk-glade && $(MAKE) newdate
141
142
143 Portfile:       $(top_srcdir)/scripts/Portfile.tmpl dist
144         sed -e 's/\@VERSION\@/$(LINPHONE_VERSION)/g' \
145           -e 's/\@LINPHONE_MD5\@/$(shell md5sum linphone-$(VERSION).tar.gz | awk {'print $$1'})/' < $< > $@
146
147 Portfile-devel: $(top_srcdir)/scripts/Portfile-devel.tmpl dist
148         sed -e 's/\@VERSION\@/$(LINPHONE_VERSION)/g' \
149           -e 's/\@LINPHONE_MD5\@/$(shell md5sum linphone-$(VERSION).tar.gz | awk {'print $$1'})/' < $< > $@
150