Makefile.am 5.7 KB
Newer Older
aymeric's avatar
aymeric committed
1 2 3
## Process this file with automake to produce Makefile.in

# let make re-run automake upon need
smorlat's avatar
smorlat committed
4
ACLOCAL_AMFLAGS = -I m4 $(ACLOCAL_MACOS_FLAGS)
aymeric's avatar
aymeric committed
5

6 7 8 9 10 11
if EXTERNAL_MEDIASTREAMER
MS2_DIR=
else
MS2_DIR=mediastreamer2
endif

aymeric's avatar
aymeric committed
12
if EXTERNAL_ORTP
13
ORTP_DIR=
aymeric's avatar
aymeric committed
14
else
15
ORTP_DIR=oRTP
aymeric's avatar
aymeric committed
16 17
endif

18

19
SUBDIRS = build m4 pixmaps po $(ORTP_DIR) $(MS2_DIR) \
20
		coreapi console gtk share scripts
aymeric's avatar
aymeric committed
21 22


simorl's avatar
simorl committed
23 24 25

ACLOCAL_FLAGS=-I$(top_srcdir)/m4

26
OPTIONAL_SOUNDS=\
simorl's avatar
simorl committed
27 28
		share/sounds/linphone/rings/synth.wav \
		share/sounds/linphone/rings/tapping.wav \
29 30 31
		share/sounds/linphone/rings/orig.wav \
		share/sounds/linphone/rings/sweet.wav \
		share/sounds/linphone/rings/rock.wav
simorl's avatar
simorl committed
32

33

34 35 36 37 38 39 40 41
INSTALLDIR=$(shell cd $(top_builddir) && pwd)/linphone-install
INSTALLDIR_WITH_PREFIX=$(INSTALLDIR)/$(prefix)
ZIPFILE=$(shell cd $(top_builddir) && pwd)/$(PACKAGE)-win32-$(VERSION).zip
ZIP_EXCLUDED=include lib \
		$(OPTIONAL_SOUNDS)

SDK_ZIPFILE=$(shell cd $(top_builddir) && pwd)/lib$(PACKAGE)-win32-$(VERSION).zip
SDK_EXCLUDED= \
42
	bin/linphone.exe \
43 44 45 46 47 48 49 50
	lib/*.la \
	share/linphone \
	share/pixmaps \
	share/locale \
	share/gnome \
	$(OPTIONAL_SOUNDS)


Simon Morlat's avatar
Simon Morlat committed
51
GTK_PREFIX=/
Simon Morlat's avatar
Simon Morlat committed
52
GTK_THEME=Outcrop
53
GTK_FILELIST=gtk+-2.22.1.filelist
simorl's avatar
simorl committed
54 55 56 57 58 59
GTK_FILELIST_PATH=$(shell cd $(top_srcdir) && pwd)/$(GTK_FILELIST)
LINPHONEDEPS_FILELIST=linphone-deps.filelist
WINBINDIST_FILES=$(shell cat $(top_srcdir)/$(LINPHONEDEPS_FILELIST))
ISS_SCRIPT=linphone.iss
ISS_SCRIPT_PATH=$(shell cd $(top_srcdir) && pwd)/$(ISS_SCRIPT)
#path to Inno Setup 5 compiler
60
ISCC=ISCC.exe
simorl's avatar
simorl committed
61
PACKAGE_WIN32_FILELIST=$(PACKAGE)-win32.filelist
62
PACKAGE_BUNDLE_FILE=$(top_srcdir)/build/macos/$(PACKAGE).bundle
simorl's avatar
simorl committed
63

smorlat's avatar
smorlat committed
64
EXTRA_DIST = config.rpath  BUGS linphone.kdevelop  \
aymeric's avatar
aymeric committed
65 66 67 68
				intltool-extract.in	\
				intltool-merge.in	\
				intltool-update.in \
				README.arm \
simorl's avatar
cleanup  
simorl committed
69
				README.mingw \
70
				README.macos \
aymeric's avatar
aymeric committed
71
				autogen.sh \
simorl's avatar
simorl committed
72 73 74 75 76
				linphone.spec.in \
				$(GTK_FILELIST) \
				gen-gtkfilelist.sh \
				$(LINPHONEDEPS_FILELIST) \
				$(ISS_SCRIPT).in
aymeric's avatar
aymeric committed
77

simorl's avatar
simorl committed
78
DISTCLEANFILES= intltool-extract intltool-merge intltool-update po/stamp-it po/.intltool-merge-cache $(ISS_SCRIPT) $(PACKAGE_WIN32_FILELIST)
79

80
CLEANFILES=Portfile Portfile-devel
smorlat's avatar
smorlat committed
81

aymeric's avatar
aymeric committed
82 83
# `make rpm'

smorlat's avatar
smorlat committed
84
all-local: linphone.spec linphone.iss
85

aymeric's avatar
aymeric committed
86 87 88 89 90
linphone.spec: linphone.spec.in

.phony: rpm
rpm:
	$(MAKE) dist
91 92
	cd oRTP && $(MAKE) dist && mv -f ortp*.tar.gz ../
	cd mediastreamer2 && $(MAKE) dist && mv -f mediastreamer*.tar.gz ../
aymeric's avatar
aymeric committed
93 94 95 96 97 98 99 100
# 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
	gzip $(PACKAGE)-$(VERSION).tar
# <https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=2068410>
	TAR_OPTIONS=--wildcards rpmbuild -ta --clean --rmsource --rmspec $(PACKAGE)-$(VERSION).tar.gz
101 102 103

#a zip containing win32 binaries, suitable to generate an installer

simorl's avatar
simorl committed
104 105 106 107 108 109 110 111
other-cherrypick:
	cd $(GTK_PREFIX) && \
	for file in $(WINBINDIST_FILES) ; do \
		if test -d $$file; then \
			mkdir -p $(INSTALLDIR_WITH_PREFIX)/$$file ;\
		else \
			cp $$file $(INSTALLDIR_WITH_PREFIX)/$$file ;\
		fi \
112
	done
Simon Morlat's avatar
Simon Morlat committed
113 114 115 116 117
	cp /mingw/bin/libgcc_s*.dll \
		/mingw/bin/libstdc++-6.dll \
		/mingw/bin/libintl-8.dll \
		/mingw/bin/libiconv-2.dll \
		$(INSTALLDIR_WITH_PREFIX)/bin/.
118

119

simorl's avatar
simorl committed
120 121 122 123 124 125 126 127 128
gtk-cherrypick:
	cd $(GTK_PREFIX) && \
	for file in `cat $(GTK_FILELIST_PATH)` ; do \
		if test -d $$file; then \
			mkdir -p $(INSTALLDIR_WITH_PREFIX)/$$file ;\
		else \
			cp $$file $(INSTALLDIR_WITH_PREFIX)/$$file ;\
		fi \
	done && \
Simon Morlat's avatar
Simon Morlat committed
129 130
	mkdir -p  $(INSTALLDIR_WITH_PREFIX)/share/themes && \
	cp -rf share/themes/$(GTK_THEME) $(INSTALLDIR_WITH_PREFIX)/share/themes/.
131 132 133 134 135 136

zip:
	rm -f $(ZIPFILE)
	rm -rf $(INSTALLDIR)
	mkdir -p $(INSTALLDIR)
	make install DESTDIR=$(INSTALLDIR)
simorl's avatar
simorl committed
137 138 139 140 141
#remove unwanted linphone stuff
	cd $(INSTALLDIR_WITH_PREFIX) && rm -rf $(ZIP_EXCLUDED)
#add gtk dlls and files
	make gtk-cherrypick
	make other-cherrypick
142
	cp -f $(top_srcdir)/gtk/gtkrc $(INSTALLDIR_WITH_PREFIX)/.
simorl's avatar
simorl committed
143 144 145 146
	cp -f $(top_srcdir)/README $(INSTALLDIR_WITH_PREFIX)/.
	cp -f $(top_srcdir)/COPYING $(INSTALLDIR_WITH_PREFIX)/.
	cd $(INSTALLDIR_WITH_PREFIX) && zip -r $(ZIPFILE) *

147 148 149 150 151 152 153 154 155 156 157 158
sdk:
	rm -f $(SDK_ZIPFILE)
	rm -rf $(INSTALLDIR)
	mkdir -p $(INSTALLDIR)
	make install DESTDIR=$(INSTALLDIR)
# remove unwanted stuff (gtk interface)
	cd $(INSTALLDIR_WITH_PREFIX) && rm -rf $(SDK_EXCLUDED)
	make other-cherrypick
	cp -f $(top_srcdir)/README $(INSTALLDIR_WITH_PREFIX)/.
	cp -f $(top_srcdir)/COPYING $(INSTALLDIR_WITH_PREFIX)/.
	cd $(INSTALLDIR_WITH_PREFIX) && zip -r $(SDK_ZIPFILE) *

159
filelist: zip
simorl's avatar
simorl committed
160 161 162 163 164 165 166 167
	cd $(INSTALLDIR_WITH_PREFIX) && \
	rm -f $(PACKAGE_WIN32_FILELIST) && \
	for file in `find` ; do \
		if ! test -d $$file ; then \
			echo "Source: $$file; Destdir: {app}\\`dirname $$file`; Flags: ignoreversion" \
			>> $(PACKAGE_WIN32_FILELIST) ;\
		fi \
	done
168 169

setup.exe: filelist
simorl's avatar
simorl committed
170 171 172 173 174 175 176 177
	cp $(ISS_SCRIPT) $(INSTALLDIR_WITH_PREFIX)/.
	cd $(INSTALLDIR_WITH_PREFIX) && \
	$(ISCC) $(ISS_SCRIPT) 
	mv $(INSTALLDIR_WITH_PREFIX)/Output/setup.exe $(PACKAGE)-$(VERSION)-setup.exe
	rm -rf $(INSTALLDIR_WITH_PREFIX)/Output
	rm -f $(INSTALLDIR_WITH_PREFIX)/$(PACKAGE_WIN32_FILELIST)
	rm -f $(INSTALLDIR_WITH_PREFIX)/$(ISS_SCRIPT)

178
newdate:
179
	cd gtk && $(MAKE) newdate
180

181

smorlat's avatar
smorlat committed
182
Portfile:	$(top_srcdir)/scripts/Portfile.tmpl dist
smorlat's avatar
smorlat committed
183
	sed -e 's/\@VERSION\@/$(LINPHONE_VERSION)/g' \
smorlat's avatar
smorlat committed
184
	  -e 's/\@LINPHONE_MD5\@/$(shell md5sum linphone-$(VERSION).tar.gz | awk {'print $$1'})/' < $< > $@
smorlat's avatar
smorlat committed
185

smorlat's avatar
smorlat committed
186 187 188
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'})/' < $< > $@
smorlat's avatar
smorlat committed
189

190 191 192 193 194 195 196
bundle:
	rm -rf $(INSTALLDIR)
	mkdir -p $(INSTALLDIR)
	make install DESTDIR=$(INSTALLDIR)
	LINPHONE_INSTALL_PREFIX=$(INSTALLDIR_WITH_PREFIX) \
	LIBLINPHONE_INSTALL_PREFIX=$(INSTALLDIR_WITH_PREFIX) \
	ige-mac-bundler $(PACKAGE_BUNDLE_FILE)
197
	cd $$HOME/Desktop && zip -r Linphone-$(VERSION).app.zip $$HOME/Desktop/Linphone.app
198 199 200