X-Git-Url: http://sjero.net/git/?p=linphone;a=blobdiff_plain;f=Makefile.am;h=36466ab9eea510178a15a584255a085de5c31d2a;hp=66d01711dd89c2b2cee09cfff096700dbeab99e2;hb=5f109bfb55224b69dd598d95c2c0dd47fa87b960;hpb=aab7de39ce0e496a440c0e37295457d30eaaae26 diff --git a/Makefile.am b/Makefile.am index 66d01711..36466ab9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,21 +3,8 @@ # let make re-run automake upon need ACLOCAL_AMFLAGS = -I m4 $(ACLOCAL_MACOS_FLAGS) -if EXTERNAL_MEDIASTREAMER -MS2_DIR= -else -MS2_DIR=mediastreamer2 -endif - -if EXTERNAL_ORTP -ORTP_DIR= -else -ORTP_DIR=oRTP -endif - - -SUBDIRS = m4 pixmaps po $(ORTP_DIR) $(MS2_DIR) \ - coreapi console gtk share scripts +SUBDIRS = build m4 pixmaps po @ORTP_DIR@ @MS2_DIR@ \ + coreapi console gtk share scripts tools @@ -31,13 +18,13 @@ OPTIONAL_SOUNDS=\ 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 \ @@ -51,30 +38,29 @@ SDK_EXCLUDED= \ 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 - -EXTRA_DIST = config.rpath BUGS linphone.kdevelop \ - intltool-extract.in \ - intltool-merge.in \ - intltool-update.in \ - README.arm \ - README.mingw \ - README.macos \ - autogen.sh \ - linphone.spec.in \ - $(GTK_FILELIST) \ - gen-gtkfilelist.sh \ - $(LINPHONEDEPS_FILELIST) \ - $(ISS_SCRIPT).in - -DISTCLEANFILES= intltool-extract intltool-merge intltool-update po/stamp-it po/.intltool-merge-cache $(ISS_SCRIPT) $(PACKAGE_WIN32_FILELIST) +PACKAGE_BUNDLE_FILE=$(top_srcdir)/build/macos/$(PACKAGE).bundle + +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) CLEANFILES=Portfile Portfile-devel @@ -84,27 +70,39 @@ all-local: linphone.spec linphone.iss 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 # TAR_OPTIONS=--wildcards rpmbuild -ta --clean --rmsource --rmspec $(PACKAGE)-$(VERSION).tar.gz +rpm-novideo: rpm-base +# + 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 \ @@ -113,6 +111,7 @@ other-cherrypick: /mingw/bin/libstdc++-6.dll \ /mingw/bin/libintl-8.dll \ /mingw/bin/libiconv-2.dll \ + /mingw/bin/pthreadGC2.dll \ $(INSTALLDIR_WITH_PREFIX)/bin/. @@ -120,18 +119,18 @@ gtk-cherrypick: 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) @@ -146,7 +145,7 @@ zip: 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) @@ -165,6 +164,9 @@ filelist: zip fi \ done + +### WINDOWS + setup.exe: filelist cp $(ISS_SCRIPT) $(INSTALLDIR_WITH_PREFIX)/. cd $(INSTALLDIR_WITH_PREFIX) && \ @@ -174,15 +176,60 @@ setup.exe: filelist 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=`$(MD5SUM) linphone-$(VERSION).tar.gz | awk {'print $$4'}` +else +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\@/$(shell md5sum linphone-$(VERSION).tar.gz | awk {'print $$1'})/' < $< > $@ + -e 's/\@LINPHONE_MD5\@/$(GEN_MD5)/' < $< > $@ Portfile-devel: $(top_srcdir)/scripts/Portfile-devel.tmpl dist sed -e 's/\@VERSION\@/$(LINPHONE_VERSION)/g' \ - -e 's/\@LINPHONE_MD5\@/$(shell md5sum linphone-$(VERSION).tar.gz | awk {'print $$1'})/' < $< > $@ + -e 's/\@LINPHONE_MD5\@/$(GEN_MD5)/' < $< > $@ + +### MAC + +MACAPPNAME=Linphone.app +MACAPPZIP=$(PACKAGE)-$(VERSION).app.zip +BUNDLEPREFIX=./ +BUNDLEDIR=$(BUNDLEPREFIX)$(MACAPPNAME) +LIBICONV_HACK=$(top_builddir)/build/macos/libiconv.2.dylib + +$(LIBICONV_HACK): + cd $(top_builddir)/build/macos && \ + wget http://download-mirror.savannah.gnu.org/releases/linphone/misc/libiconv.2.dylib + +bundle: $(LIBICONV_HACK) + rm -rf $(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 + 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 - + +### +### 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