4
4
DEB_SOURCE := $(shell dpkg-parsechangelog | sed -n 's/^Source: //p')
5
5
DEB_VERSION := $(shell dpkg-parsechangelog | sed -n 's/^Version: //p')
6
6
UPSTREAM_VERSION := $(shell echo $(DEB_VERSION) | sed -r 's/[^:]+://; s/-[^-]+$$//')
7
SHLIBS_VERSION := $(EPOCH)0.8.3-1~
7
SHLIBS_VERSION := $(EPOCH)9.1-1
9
9
# these package do not build -extra variants
10
LIB_PKGS := $(shell sed -nr 's/^Package:[[:space:]]*(lib(avutil|avdevice|avformat|avfilter|avresample|swscale)[0-9]+)[[:space:]]*$$/\1/p' debian/control)
11
11
# these packages do build -extra variants
12
LIB_PKGS2 := $(shell sed -nr 's/^Package:[[:space:]]*(lib(avutil|avcodec|avdevice|avformat|avfilter|postproc|swscale)[0-9]+)[[:space:]]*$$/\1/p' debian/control)
12
LIB_PKGS2 := $(shell sed -nr 's/^Package:[[:space:]]*(libavcodec[0-9]+)[[:space:]]*$$/\1/p' debian/control)
13
13
# these packages are the -extra- variants
14
LIB_EXTRA_PKGS := $(shell sed -nr 's/^Package:[[:space:]]*(lib(avutil|avcodec|avdevice|avformat|avfilter|postproc|swscale)(-extra-)[0-9]+)[[:space:]]*$$/\1/p' debian/control)
14
LIB_EXTRA_PKGS := $(shell sed -nr 's/^Package:[[:space:]]*(libavcodec-extra-[0-9]+)[[:space:]]*$$/\1/p' debian/control)
16
16
# these are the -dev packages
17
17
DEV_PKGS := $(shell echo $(LIB_PKGS) $(LIB_PKGS2) | sed 's/[0-9]\+\>/-dev/g')
118
# installs arch-dependent files only
131
119
install: install-common install-extra
132
120
install-common: build $(DH_INSTALL_FILES)
136
ifeq ($(DEB_SOURCE), libav)
124
$(foreach flavor,$(FLAVORS),$(call install_flavor,$(flavor)))
125
mkdir -p debian/tmp/etc
126
install -m 644 -D doc/avserver.conf debian/tmp/etc/
127
install -m 644 -D debian-shared/tools/qt-faststart debian/tmp/usr/bin/qt-faststart
128
dh_install $(addprefix -N,$(LIB_EXTRA_PKGS)) \
129
--fail-missing --sourcedir=debian/tmp
130
env LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)" \
131
debian/tmp/usr/bin/avconv -formats | tee formats-$(DEB_HOST_ARCH).txt
132
env LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)" \
133
debian/tmp/usr/bin/avconv -codecs | tee codecs.txt
134
dh_installdocs -plibavformat54 formats-$(DEB_HOST_ARCH).txt
135
dh_installdocs -plibavcodec54 codecs.txt
136
install-extra: build $(DH_INSTALL_FILES)
139
$(foreach flavor,$(filter-out static,$(FLAVORS)),$(call install_flavor_extra,$(flavor)))
140
dh_install $(addprefix -p,$(LIB_EXTRA_PKGS)) --fail-missing \
141
--sourcedir=debian/tmp/extra
142
env LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(CURDIR)/debian/tmp/extra/usr/lib/$(DEB_HOST_MULTIARCH)" \
143
debian/tmp/usr/bin/avconv -codecs | tee codecs.txt
144
dh_installdocs -plibavcodec-extra-54 codecs.txt
145
ifeq ($(DEB_SOURCE), libav)
146
dh_installdocs -a doc/APIchanges
147
install -m 644 -D debian-shared/doc/*.html debian/libav-tools/usr/share/doc/libav-tools
148
dh_installexamples -p libavcodec-dev libavcodec/api-example.c
149
dh_installchangelogs -a Changelog
151
dh_installchangelogs -a libav/Changelog
155
ifeq ($(DEB_SOURCE), libav)
137
159
# the libav-source package does exist in some derivatives such as ubuntu, etc.
138
160
if grep -q 'Package: libav-source' debian/control; then \
139
161
dh_installdirs -ptmp usr/src; \
141
163
--exclude 'debian*' --exclude .git --exclude .pc --exclude '*-stamp' \
142
164
--transform 's,^./,libav/,' ; \
144
dh_installdirs -ptmp usr/src
145
dh_installdirs -ptmp usr/share/doc/libav/html etc
146
dh_installdirs -ptmp usr/share/doc/libav-doc/html
147
$(foreach flavor,$(FLAVORS),$(call install_flavor,$(flavor)))
148
# don't fail on binary-indep only builds.
149
[ ! -d doxy ] || cp -af doxy/html debian/tmp/usr/share/doc/libav-doc
150
install -m 644 -D doc/avserver.conf debian/tmp/etc/
151
install -m 644 -D debian-shared/doc/*.html debian/tmp/usr/share/doc/libav/html/
152
install -m 644 -D debian-shared/tools/qt-faststart debian/tmp/usr/bin/qt-faststart
153
dh_install $(addprefix -N,$(LIB_EXTRA_PKGS)) -Nffmpeg -Xffmpeg \
154
-Xffmpeg.1 -Xusr/share/doc/libav-doc \
155
-Xusr/share/doc/libav --fail-missing --sourcedir=debian/tmp
156
dh_install -pffmpeg --sourcedir=debian/tmp
157
env LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)" \
158
debian/tmp/usr/bin/avconv -formats | tee formats-$(DEB_HOST_ARCH).txt
159
env LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)" \
160
debian/tmp/usr/bin/avconv -codecs | tee codecs.txt
161
dh_installdocs -plibavformat53 formats-$(DEB_HOST_ARCH).txt
162
dh_installdocs -plibavcodec53 codecs.txt
164
$(foreach flavor,$(FLAVORS),$(call install_flavor,$(flavor)))
165
dh_install $(addprefix -N,$(LIB_EXTRA_PKGS)) -Nffmpeg -Xffmpeg \
166
-Xffmpeg.1 -Xusr/share/doc/libav-doc \
167
-Xusr/share/doc/libav --list-missing --sourcedir=debian/tmp
170
install-extra: build $(DH_INSTALL_FILES)
173
$(foreach flavor,$(filter-out static,$(FLAVORS)),$(call install_flavor_extra,$(flavor)))
174
dh_install $(addprefix -p,$(LIB_EXTRA_PKGS)) -Xusr/share/doc/libav-doc \
175
-Xusr/share/doc/libav --list-missing \
176
--sourcedir=debian/tmp/extra
177
env LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$(CURDIR)/debian/tmp/extra/usr/lib/$(DEB_HOST_MULTIARCH)" \
178
debian/tmp/usr/bin/avconv -codecs | tee codecs.txt
179
dh_installdocs -plibavcodec-extra-53 codecs.txt
181
binary-indep: build-doxy install
168
mkdir -p debian/libav-doc/usr/share/doc/libav-doc
169
mv -v doc/doxy/html debian/libav-doc/usr/share/doc/libav-doc
171
dh_installchangelogs -i
177
dh_builddeb -i -- -Zxz
183
179
binary-arch: build install
186
182
dh_installman -plibav-tools debian/qt-faststart.1
187
dh_installdocs -A debian/README.Debian
188
183
ifeq ($(DEB_SOURCE), libav)
189
dh_installdocs -p libavcodec-dev -plibavdevice-dev \
190
-plibavformat-dev -plibavfilter-dev -plibpostproc-dev \
191
-plibswscale-dev -plibavutil-dev -plibav-doc \
193
dh_installexamples -p libav-tools doc/avserver.conf
194
dh_installexamples -p libavcodec-dev libavcodec/api-example.c
196
dh_installchangelogs Changelog
184
dh_strip -a --dbg-package=libav-dbg
199
dh_installchangelogs libav/Changelog
186
dh_strip -a --dbg-package=libav-extra-dbg
206
for pkg in $(LIB_PKGS) $(LIB_EXTRA_PKGS); do \
193
# operate on non -extra package producing packages
194
for pkg in $(LIB_PKGS); do \
207
195
dh_makeshlibs -p"$$pkg" -V"$$pkg (>= $(SHLIBS_VERSION))"; \
197
# operate e.g. the -extra- packages, produce shlibs that have alternative dependencies
198
for pkg in $(LIB_EXTRA_PKGS); do \
199
npkg=$$(echo "$$pkg" | sed -r 's/-extra-//'); \
200
dh_makeshlibs -p"$$pkg" -V"$$npkg (>= $(SHLIBS_VERSION)) | $$pkg (>= $(EPOCH)$(UPSTREAM_VERSION))"; \
202
# operate on packages with -extra- variants such as libavcodec54 - produce shlibs that have alternative dependencies
209
203
for pkg in $(LIB_PKGS2); do \
210
204
upkg=$$(echo "$$pkg" | sed -r 's/([0-9]+)$$/-extra-\1/'); \
211
205
dh_makeshlibs -p"$$pkg" -V"$$pkg (>= $(SHLIBS_VERSION)) | $$upkg (>= $(EPOCH)$(UPSTREAM_VERSION))"; \
211
dh_builddeb -a -- -Zxz
219
213
binary: binary-indep binary-arch
221
.PHONY: build $(addprefix build-, $(FLAVORS)) build-doxy \
215
.PHONY: build $(addprefix build-, $(FLAVORS)) \
223
217
configure $(addprefix configure-, $(FLAVORS)) \
224
218
binary binary-indep binary-arch \
219
install install-common install-extra \