~mozillateam/firefox/firefox-3.0.dev

2 by Alexander Sack
initial firefox-trunk debian/ package
1
#!/usr/bin/make -f
2
3
# These are used for cross-compiling and for saving the configure script
4
# from having to guess our platform (since we know it already)
117.1.55 by Fabien Tassin
* Cosmetic tab vs spaces change in debian/rules
5
DEB_HOST_GNU_TYPE	?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
6
DEB_BUILD_GNU_TYPE	?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
7
DEB_BUILD_ARCH		?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
2 by Alexander Sack
initial firefox-trunk debian/ package
8
117.1.55 by Fabien Tassin
* Cosmetic tab vs spaces change in debian/rules
9
DEBIAN_NAME	:= firefox-3.0
117.2.7 by Alexander Sack
* fix DEBIAN_FF3_DIR, which diverged from install dir after dropping
10
DEBIAN_APP_NAME	:= firefox
117.1.55 by Fabien Tassin
* Cosmetic tab vs spaces change in debian/rules
11
DEBIAN_VERSION	:= $(shell dpkg-parsechangelog | sed -n 's/^Version: *\(.*\)$$/\1/ p')
117.1.74 by Fabien Tassin
* Change $(shell) into $(wildcard) for XUL SDK detection
12
DEBIAN_XUL_DEV	:= $(wildcard /usr/lib/xulrunner-devel-1.9*)
117.1.55 by Fabien Tassin
* Cosmetic tab vs spaces change in debian/rules
13
DEBIAN_FF3_DIR	 = usr/lib/$(DEBIAN_APP_NAME)-$(shell cat build-tree/mozilla/browser/config/version.txt)
14
DEB_TAR_SRCDIR	:= mozilla
2 by Alexander Sack
initial firefox-trunk debian/ package
15
107 by Fabien Tassin
* build with or without nss/nspr depending on version like xulrunner-1.9
16
EXTRA_SYSTEM_CONFIGURE_FLAGS = $(NULL)
17
117.1.19 by Alexander Sack
* exceptional official branding release for cvs version to hardy: add easy to
18
FORCE_OFFICIAL_BRANDING = 1
19
20
ifneq (,$(FORCE_OFFICIAL_BRANDING))
21
	# official branding for beta, final and final RCs builds
22
	BRANDING = --enable-official-branding
23
	DESKTOP  = firefox-3.0-final.desktop
24
else
88 by Fabien Tassin
* Change branding based on Version (use MineField if version
25
# Change branding based on Version
91 by Fabien Tassin
* Fix a typo in debian/rules (non ascii char)
26
ifneq (,$(findstring ~cvs,$(DEBIAN_VERSION)))
117.1.55 by Fabien Tassin
* Cosmetic tab vs spaces change in debian/rules
27
	# minefield branding for cvs snapshots
91 by Fabien Tassin
* Fix a typo in debian/rules (non ascii char)
28
	BRANDING = $(NULL)
89 by Fabien Tassin
* Change desktop file depending on branding:
29
	DESKTOP  = firefox-3.0-minefield.desktop
88 by Fabien Tassin
* Change branding based on Version (use MineField if version
30
else
122 by Fabien Tassin
* Use official branding for beta too as homepage/releasenotes URLs
31
ifneq (,$(findstring ~a,$(DEBIAN_VERSION)))
117.1.55 by Fabien Tassin
* Cosmetic tab vs spaces change in debian/rules
32
	# codename branding for alpha builds
115 by Alexander Sack
* Use granparadiso branding for alpha and beta builds and official branding
33
	BRANDING = --with-branding=browser/branding/unofficial
89 by Fabien Tassin
* Change desktop file depending on branding:
34
	DESKTOP  = firefox-3.0-granparadiso.desktop
115 by Alexander Sack
* Use granparadiso branding for alpha and beta builds and official branding
35
else
122 by Fabien Tassin
* Use official branding for beta too as homepage/releasenotes URLs
36
	# official branding for beta, final and final RCs builds
37
	BRANDING = --enable-official-branding
119 by Fabien Tassin
* Rename desktop file firefox-3.0-final.desktop so it doesn't
38
	DESKTOP  = firefox-3.0-final.desktop
115 by Alexander Sack
* Use granparadiso branding for alpha and beta builds and official branding
39
endif
88 by Fabien Tassin
* Change branding based on Version (use MineField if version
40
endif
117.1.19 by Alexander Sack
* exceptional official branding release for cvs version to hardy: add easy to
41
endif
88 by Fabien Tassin
* Change branding based on Version (use MineField if version
42
98 by Fabien Tassin
* Compile with gcc/g++ 4.2 for all archs.
43
CXX=g++-4.2
44
CC=gcc-4.2
45
export CXX CC 
46
2 by Alexander Sack
initial firefox-trunk debian/ package
47
DEB_AUTO_UPDATE_AUTOCONF=2.13
48
49
include /usr/share/cdbs/1/rules/tarball.mk
50
include /usr/share/cdbs/1/rules/debhelper.mk
51
include /usr/share/cdbs/1/rules/patchsys-quilt.mk
52
include /usr/share/cdbs/1/class/autotools.mk
117.1.40 by Fabien Tassin
* Include mozilla-devscripts file using -include so ifneq could be omitted
53
-include /usr/share/mozilla-devscripts/$(DEBIAN_NAME).mk
117.1.21 by Fabien Tassin
* Add support for mozilla-devscripts and clean-up rules file accordingly
54
117.1.76 by Fabien Tassin
* Stop build-tree/mozilla/README to be shipped as a doc by setting
55
# We don't want build-tree/mozilla/README to be shipped as a doc
56
DEB_INSTALL_DOCS_ALL := $(NULL)
57
117.1.25 by Alexander Sack
* use default upstream gcc tweaks for improved performance - especially of
58
CFLAGS = -g
59
CXXFLAGS = -g
60
117.1.28 by Fabien Tassin
* Clean-up rules file to make more use of $(EXTRA_SYSTEM_CONFIGURE_FLAGS)
61
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
117.1.55 by Fabien Tassin
* Cosmetic tab vs spaces change in debian/rules
62
	EXTRA_SYSTEM_CONFIGURE_FLAGS += --disable-optimize
117.1.28 by Fabien Tassin
* Clean-up rules file to make more use of $(EXTRA_SYSTEM_CONFIGURE_FLAGS)
63
endif
64
117.1.37 by Fabien Tassin
* Bump requirement for system cairo to >= 1.5.8 as we now need
65
USE_SYSTEM_CAIRO := $(shell pkg-config --exists 'cairo >= 1.5.8'; a=$$?; if test $$a != 1; then echo 1; fi)
117.1.28 by Fabien Tassin
* Clean-up rules file to make more use of $(EXTRA_SYSTEM_CONFIGURE_FLAGS)
66
# for old cairo versions we cannot use system cairo
67
ifeq (1,$(USE_SYSTEM_CAIRO))
117.1.55 by Fabien Tassin
* Cosmetic tab vs spaces change in debian/rules
68
	EXTRA_SYSTEM_CONFIGURE_FLAGS += --enable-system-cairo
117.1.28 by Fabien Tassin
* Clean-up rules file to make more use of $(EXTRA_SYSTEM_CONFIGURE_FLAGS)
69
else
117.1.55 by Fabien Tassin
* Cosmetic tab vs spaces change in debian/rules
70
	EXTRA_SYSTEM_CONFIGURE_FLAGS += --disable-system-cairo
117.1.28 by Fabien Tassin
* Clean-up rules file to make more use of $(EXTRA_SYSTEM_CONFIGURE_FLAGS)
71
endif
72
117.1.62 by Fabien Tassin
* Add optional support for system sqlite3 (we need >= 3.5 not in hardy)
73
USE_SYSTEM_SQLITE :=  $(shell pkg-config --exists 'sqlite3 >= 3.5'; a=$$?; if test $$a != 1; then echo 1; fi)
74
ifeq (1,$(USE_SYSTEM_SQLITE))
75
	EXTRA_SYSTEM_CONFIGURE_FLAGS += --enable-system-sqlite
76
else
77
	EXTRA_SYSTEM_CONFIGURE_FLAGS += --disable-system-sqlite
78
endif
79
2 by Alexander Sack
initial firefox-trunk debian/ package
80
DEB_CONFIGURE_USER_FLAGS= \
107 by Fabien Tassin
* build with or without nss/nspr depending on version like xulrunner-1.9
81
	$(EXTRA_SYSTEM_CONFIGURE_FLAGS) \
2 by Alexander Sack
initial firefox-trunk debian/ package
82
	--disable-debug \
117.1.55 by Fabien Tassin
* Cosmetic tab vs spaces change in debian/rules
83
	--with-user-appdir=.mozilla \
84
	--with-system-jpeg=/usr \
85
	--with-system-zlib=/usr \
86
	--with-libxul-sdk=$(DEBIAN_XUL_DEV) \
87
	--disable-crashreporter \
88
	--disable-composer \
89
	--disable-debug \
90
	--disable-elf-dynstr-gc \
91
	--disable-gtktest \
92
	--disable-install-strip \
93
	--disable-installer \
94
	--disable-ldap \
95
	--disable-mailnews \
96
	--disable-profilesharing \
97
	--disable-strip \
98
	--disable-strip-libs \
99
	--disable-tests \
100
	--disable-mochitest \
101
	--disable-updater \
102
	--disable-xprint \
103
	--enable-application=browser \
104
	--enable-canvas \
105
	--enable-default-toolkit=cairo-gtk2 \
106
	--enable-gnomevfs \
107
	--enable-optimize \
108
	--enable-pango \
109
	--enable-postscript \
110
	--enable-svg \
111
	--enable-mathml \
112
	--enable-xft \
113
	--enable-xinerama \
114
	--enable-extensions=default \
115
	--enable-single-profile \
116
	--enable-system-myspell \
117
	--with-distribution-id=com.ubuntu \
88 by Fabien Tassin
* Change branding based on Version (use MineField if version
118
	$(BRANDING)
6 by Alexander Sack
+ renamed debian/patches/brandir-dir-depth-fix to debian/patches/ftbfs-with-branding-dir
119
2 by Alexander Sack
initial firefox-trunk debian/ package
120
UUDECODE = \
121
	debsearch.gif \
122
	wikipedia.gif \
123
	$(NULL)
124
95 by Alexander Sack
* make debian/firefox.sh executable in pre-build:: target.
125
DEBIAN_EXECUTABLES = \
126
	firefox.sh \
127
	$(NULL)
128
124 by Fabien Tassin
* Revert hardcoded lib path to the upstream path, move searchplugins to
129
debian/$(DEBIAN_NAME).postinst: debian/$(DEBIAN_NAME).postinst.in
130
	sed -e 's,@LIBDIR@,/$(DEBIAN_FF3_DIR),g' < debian/$(DEBIAN_NAME).postinst.in \
131
	> debian/$(DEBIAN_NAME).postinst
132
133
debian/firefox.sh: debian/firefox.sh.in
134
	sed -e 's,@LIBDIR@,/$(DEBIAN_FF3_DIR),g' < debian/firefox.sh.in > debian/firefox.sh
135
117.2.8 by Alexander Sack
* rename migrate-ffox-3-beta-profile => ffox-3-beta-profile-migration-dialog
136
debian/migrator/ffox-3-beta-profile-migration-dialog: debian/migrator/main.c
117.2.9 by Alexander Sack
* pass CFLAGS to compiler when building ffox-3-beta-profile-migration-dialog
137
	$(CC) $(CFLAGS) -o $@ $< $(shell pkg-config --cflags --libs gtk+-2.0)
117.2.3 by Alexander Sack
* build migrate-ffox-3-beta-profile in a more makefile'ish fashion
138
124 by Fabien Tassin
* Revert hardcoded lib path to the upstream path, move searchplugins to
139
binary-install/$(DEBIAN_NAME)::
140
	dh_install debian/firefox.sh $(DEBIAN_FF3_DIR)
141
	dh_install debian/firefox.cfg $(DEBIAN_FF3_DIR)
142
	dh_install debian/$(DEBIAN_NAME)-restart-required.update-notifier $(DEBIAN_FF3_DIR)
117.2.8 by Alexander Sack
* rename migrate-ffox-3-beta-profile => ffox-3-beta-profile-migration-dialog
143
	dh_install debian/migrator/ffox-3-beta-profile-migration-dialog $(DEBIAN_FF3_DIR)
124 by Fabien Tassin
* Revert hardcoded lib path to the upstream path, move searchplugins to
144
	dh_link $(DEBIAN_FF3_DIR)/firefox.sh usr/bin/$(DEBIAN_NAME)
117.1.18 by Alexander Sack
* firefox-3.0 now has its own extensions directory because latest
145
	dh_link usr/lib/firefox-addons/extensions $(DEBIAN_FF3_DIR)/extensions
124 by Fabien Tassin
* Revert hardcoded lib path to the upstream path, move searchplugins to
146
	dh_link usr/lib/firefox-addons/plugins $(DEBIAN_FF3_DIR)/plugins
147
	dh_link usr/lib/firefox-addons/searchplugins $(DEBIAN_FF3_DIR)/searchplugins
148
	dh_link etc/$(DEBIAN_NAME)/pref $(DEBIAN_FF3_DIR)/defaults/syspref
149
	dh_link etc/$(DEBIAN_NAME)/profile $(DEBIAN_FF3_DIR)/defaults/profile
150
	dh_link $(DEBIAN_FF3_DIR)/icons/mozicon128.png usr/share/pixmaps/$(DEBIAN_NAME).png
151
	dh_link usr/share/myspell/dicts $(DEBIAN_FF3_DIR)/dictionaries
152
117.2.8 by Alexander Sack
* rename migrate-ffox-3-beta-profile => ffox-3-beta-profile-migration-dialog
153
pre-build:: debian/$(DEBIAN_NAME).postinst debian/firefox.sh debian/migrator/ffox-3-beta-profile-migration-dialog
2 by Alexander Sack
initial firefox-trunk debian/ package
154
	set -e; for i in $(UUDECODE); do \
155
		uudecode -o debian/$$i debian/$$i.uu; \
89 by Fabien Tassin
* Change desktop file depending on branding:
156
		done ; \
139 by Alexander Sack
* ship firefox.desktop again to not break existing launchers (LP: #193902)
157
		cp debian/$(DESKTOP) debian/firefox.desktop; \
95 by Alexander Sack
* make debian/firefox.sh executable in pre-build:: target.
158
		for i in $(DEBIAN_EXECUTABLES); do \
159
			chmod a+x debian/$$i; \
160
		done
2 by Alexander Sack
initial firefox-trunk debian/ package
161
162
clean::
163
	set -e; for i in $(UUDECODE); do \
164
		rm -f debian/$$i; \
89 by Fabien Tassin
* Change desktop file depending on branding:
165
		done ; \
124 by Fabien Tassin
* Revert hardcoded lib path to the upstream path, move searchplugins to
166
		rm -f debian/$(DEBIAN_NAME).desktop; \
167
		rm -f debian/$(DEBIAN_NAME).postinst debian/firefox.sh
117.2.8 by Alexander Sack
* rename migrate-ffox-3-beta-profile => ffox-3-beta-profile-migration-dialog
168
	rm -f debian/migrator/ffox-3-beta-profile-migration-dialog
117.2.1 by Alexander Sack
* add gtk based profile migrator dialog, build it during |pre-build| and clean
169
	rm -f debian/migrator/*~
2 by Alexander Sack
initial firefox-trunk debian/ package
170