ACLOCAL_AMFLAGS = -I m4 $(ACLOCAL_MACOS_FLAGS)
SUBDIRS = build m4 pixmaps po @ORTP_DIR@ @MS2_DIR@ \
- coreapi console gtk share scripts
+ coreapi console gtk share scripts tools
share/sounds/linphone/rings/rock.wav
-INSTALLDIR=$(shell cd $(top_builddir) && pwd)/linphone-install
+INSTALLDIR=$(abs_top_builddir)/linphone-install
INSTALLDIR_WITH_PREFIX=$(INSTALLDIR)/$(prefix)
-ZIPFILE=$(shell cd $(top_builddir) && pwd)/$(PACKAGE)-win32-$(VERSION).zip
+ZIPFILE=$(abs_top_builddir)/$(PACKAGE)-win32-$(VERSION).zip
ZIP_EXCLUDED=include lib \
$(OPTIONAL_SOUNDS)
-SDK_ZIPFILE=$(shell cd $(top_builddir) && pwd)/lib$(PACKAGE)-win32-$(VERSION).zip
+SDK_ZIPFILE=$(abs_top_builddir)/lib$(PACKAGE)-win32-$(VERSION).zip
SDK_EXCLUDED= \
bin/linphone.exe \
lib/*.la \
GTK_PREFIX=/
GTK_THEME=Outcrop
GTK_FILELIST=gtk+-2.22.1.filelist
-GTK_FILELIST_PATH=$(shell cd $(top_srcdir) && pwd)/$(GTK_FILELIST)
+GTK_FILELIST_PATH=$(abs_top_srcdir)/$(GTK_FILELIST)
LINPHONEDEPS_FILELIST=linphone-deps.filelist
-WINBINDIST_FILES=$(shell cat $(top_srcdir)/$(LINPHONEDEPS_FILELIST))
+WINBINDIST_FILES=`cat $(abs_top_srcdir)/$(LINPHONEDEPS_FILELIST)`
ISS_SCRIPT=linphone.iss
-ISS_SCRIPT_PATH=$(shell cd $(top_srcdir) && pwd)/$(ISS_SCRIPT)
+ISS_SCRIPT_PATH=$(abs_top_srcdir)/$(ISS_SCRIPT)
#path to Inno Setup 5 compiler
ISCC=ISCC.exe
PACKAGE_WIN32_FILELIST=$(PACKAGE)-win32.filelist
PACKAGE_BUNDLE_FILE=$(top_srcdir)/build/macos/$(PACKAGE).bundle
-EXTRA_DIST = config.rpath BUGS linphone.kdevelop \
- README.arm \
- README.mingw \
- README.macos \
- autogen.sh \
- linphone.spec.in \
- $(GTK_FILELIST) \
- gen-gtkfilelist.sh \
- $(LINPHONEDEPS_FILELIST) \
- $(ISS_SCRIPT).in
+EXTRA_DIST = BUGS \
+ README.arm \
+ README.mingw \
+ README.macos \
+ autogen.sh \
+ linphone.spec \
+ linphone.spec.in \
+ $(GTK_FILELIST) \
+ gen-gtkfilelist.sh \
+ $(LINPHONEDEPS_FILELIST) \
+ $(ISS_SCRIPT).in
DISTCLEANFILES= $(ISS_SCRIPT) $(PACKAGE_WIN32_FILELIST)
linphone.spec: linphone.spec.in
-.phony: rpm
-rpm:
+.phony: rpm rpm-novideo rpm-base
+rpm-base:
$(MAKE) dist
- cd oRTP && $(MAKE) dist && mv -f ortp*.tar.gz ../
- cd mediastreamer2 && $(MAKE) dist && mv -f mediastreamer*.tar.gz ../
-# Create "Specfile" at the same level as the tarball content
-rm -f $(PACKAGE)-$(VERSION).tar
gunzip $(PACKAGE)-$(VERSION).tar.gz
- cp $(PACKAGE).spec Specfile
- tar --append --file=$(PACKAGE)-$(VERSION).tar Specfile
+#remove ms2 and ortp spec file to make sure linphone spec file is used bu rpmbuild
+ tar --delete --file=$(PACKAGE)-$(VERSION).tar $(PACKAGE)-$(VERSION)/mediastreamer2/mediastreamer2.spec
+ tar --delete --file=$(PACKAGE)-$(VERSION).tar $(PACKAGE)-$(VERSION)/oRTP/ortp.spec
gzip $(PACKAGE)-$(VERSION).tar
+
+rpm: rpm-base
# <https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=2068410>
TAR_OPTIONS=--wildcards rpmbuild -ta --clean --rmsource --rmspec $(PACKAGE)-$(VERSION).tar.gz
+rpm-novideo: rpm-base
+# <https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=2068410>
+ TAR_OPTIONS=--wildcards rpmbuild -ta --clean --rmsource --rmspec $(PACKAGE)-$(VERSION).tar.gz --without video
+
#a zip containing win32 binaries, suitable to generate an installer
+if BUILD_ZRTP
+WINBINDIST_FILES+=./bin/libzrtpcpp.dll ./bin/msys-1.0.dll ./bin/msys-crypto-1.0.0.dll
+endif
+
+if BUILD_TUNNEL
+WINBINDIST_FILES+=./bin/libtunnel-0.dll
+endif
+
other-cherrypick:
cd $(GTK_PREFIX) && \
for file in $(WINBINDIST_FILES) ; do \
if test -d $$file; then \
- mkdir -p $(INSTALLDIR_WITH_PREFIX)/$$file ;\
+ $(MKDIR_P) $(INSTALLDIR_WITH_PREFIX)/$$file ;\
else \
cp $$file $(INSTALLDIR_WITH_PREFIX)/$$file ;\
fi \
/mingw/bin/libstdc++-6.dll \
/mingw/bin/libintl-8.dll \
/mingw/bin/libiconv-2.dll \
- /mingw/bin/libpthread-2.dll \
+ /mingw/bin/pthreadGC2.dll \
$(INSTALLDIR_WITH_PREFIX)/bin/.
cd $(GTK_PREFIX) && \
for file in `cat $(GTK_FILELIST_PATH)` ; do \
if test -d $$file; then \
- mkdir -p $(INSTALLDIR_WITH_PREFIX)/$$file ;\
+ $(MKDIR_P) $(INSTALLDIR_WITH_PREFIX)/$$file ;\
else \
cp $$file $(INSTALLDIR_WITH_PREFIX)/$$file ;\
fi \
done && \
- mkdir -p $(INSTALLDIR_WITH_PREFIX)/share/themes && \
+ $(MKDIR_P) $(INSTALLDIR_WITH_PREFIX)/share/themes && \
cp -rf share/themes/$(GTK_THEME) $(INSTALLDIR_WITH_PREFIX)/share/themes/.
zip:
rm -f $(ZIPFILE)
rm -rf $(INSTALLDIR)
- mkdir -p $(INSTALLDIR)
+ $(MKDIR_P) $(INSTALLDIR)
make install DESTDIR=$(INSTALLDIR)
#remove unwanted linphone stuff
cd $(INSTALLDIR_WITH_PREFIX) && rm -rf $(ZIP_EXCLUDED)
sdk:
rm -f $(SDK_ZIPFILE)
rm -rf $(INSTALLDIR)
- mkdir -p $(INSTALLDIR)
+ $(MKDIR_P) $(INSTALLDIR)
make install DESTDIR=$(INSTALLDIR)
# remove unwanted stuff (gtk interface)
cd $(INSTALLDIR_WITH_PREFIX) && rm -rf $(SDK_EXCLUDED)
fi \
done
+
+### WINDOWS
+
setup.exe: filelist
cp $(ISS_SCRIPT) $(INSTALLDIR_WITH_PREFIX)/.
cd $(INSTALLDIR_WITH_PREFIX) && \
rm -f $(INSTALLDIR_WITH_PREFIX)/$(PACKAGE_WIN32_FILELIST)
rm -f $(INSTALLDIR_WITH_PREFIX)/$(ISS_SCRIPT)
+###
+
newdate:
cd gtk && $(MAKE) newdate
if HAVE_MD5SUM
-GEN_MD5=$(shell $(MD5SUM) linphone-$(VERSION).tar.gz | awk {'print $$4'})
+GEN_MD5=`$(MD5SUM) linphone-$(VERSION).tar.gz | awk {'print $$4'}`
else
-GEN_MD5=$(shell $(MD5SUM) linphone-$(VERSION).tar.gz | awk {'print $$1'})
+GEN_MD5=`$(MD5SUM) linphone-$(VERSION).tar.gz | awk {'print $$1'}`
endif
-Portfile: $(top_srcdir)/scripts/Portfile.tmpl dist
+Portfile: $(top_srcdir)/scripts/Portfile.tmpl dist
sed -e 's/\@VERSION\@/$(LINPHONE_VERSION)/g' \
-e 's/\@LINPHONE_MD5\@/$(GEN_MD5)/' < $< > $@
sed -e 's/\@VERSION\@/$(LINPHONE_VERSION)/g' \
-e 's/\@LINPHONE_MD5\@/$(GEN_MD5)/' < $< > $@
+
+### MAC
+
MACAPPNAME=Linphone.app
MACAPPZIP=$(PACKAGE)-$(VERSION).app.zip
-BUNDLEDIR=$(shell echo "$$HOME/Desktop/$(MACAPPNAME)")
+BUNDLEPREFIX=./
+BUNDLEDIR=$(BUNDLEPREFIX)$(MACAPPNAME)
LIBICONV_HACK=$(top_builddir)/build/macos/libiconv.2.dylib
$(LIBICONV_HACK):
bundle: $(LIBICONV_HACK)
rm -rf $(INSTALLDIR)
- mkdir -p $(INSTALLDIR)
+ $(MKDIR_P) $(INSTALLDIR)
make install DESTDIR=$(INSTALLDIR)
+ BUNDLE_PREFIX=$(BUNDLEPREFIX) \
LINPHONE_INSTALL_PREFIX=$(INSTALLDIR_WITH_PREFIX) \
LIBLINPHONE_INSTALL_PREFIX=$(INSTALLDIR_WITH_PREFIX) \
+ MS2_PLUGINS_INSTALL_PREFIX=$(prefix) \
gtk-mac-bundler $(PACKAGE_BUNDLE_FILE)
printf "[Pango]\nModuleFiles=./etc/pango/pango.modules\n" \
- > $(BUNDLEDIR)/Contents/Resources/etc/pango/pangorc
+ > $(BUNDLEDIR)/Contents/Resources/etc/pango/pangorc
+ cp -f $(BUNDLEDIR)/Contents/Resources/etc/pango/pango.modules $(BUNDLEDIR)/Contents/Resources/etc/pango/pango.modules.orig
+ sed -e 's:@executable_path.*/::g' $(BUNDLEDIR)/Contents/Resources/etc/pango/pango.modules.orig > $(BUNDLEDIR)/Contents/Resources/etc/pango/pango.modules
cp -f $(LIBICONV_HACK) $(BUNDLEDIR)/Contents/Resources/lib/.
- cd $(BUNDLEDIR)/.. && rm -f $(MACAPPZIP) && zip -r $(MACAPPZIP) $(MACAPPNAME)
-
+ cd $(BUNDLEDIR)/.. && rm -f $(MACAPPZIP) && zip -r $(MACAPPZIP) $(MACAPPNAME) && cd -
+###
+### CLEAN
+clean-local:
+ rm -rf $(BUNDLEDIR)
+discovery:
+ touch specs.cpp
+ $(CC) --include $(top_builddir)/config.h \
+ $(TUNNEL_CFLAGS) $(CFLAGS) $(MEDIASTREAMER2_CFLAGS) $(ORTP_CFLAGS) -E -P -v -dD specs.cpp