Debian packaging for Intel OpenCL SDK
[debian/intel-opencl-sdk] / debian / rules
1 #!/usr/bin/make -f
2
3 packagename             := $(shell dpkg-parsechangelog | sed -nr '/^Source:/s/Source: (.*)/\1/p')
4 upstream_version        := $(shell dpkg-parsechangelog | sed -nr '/^Version:/s/Version: (.*:)?(.*)-(.*)/\2/p')
5
6 DEB_HOST_ARCH           ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
7 DEB_HOST_MULTIARCH      ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
8
9 MULTIARCH       ?= yes
10 libdir           = usr/lib$(if $(MULTIARCH),/$(DEB_HOST_MULTIARCH))
11
12 generated=$(shell ls debian/*.in | sed s/\.in$$//g)
13
14 %: %.in
15         sed -r -e 's%_VERSION_%$(upstream_version)%g' \
16                -e 's%_LIBDIR_%$(libdir)%g' \
17                < $< > $@
18
19 %:
20         dh $@
21
22 override_dh_auto_configure: $(generated) compare-copyright-license
23         dh_auto_configure
24
25 override_dh_auto_clean:
26         dh_auto_clean
27         rm -rf LICENSE.txt
28         rm -rf $(generated)
29
30 override_dh_install:
31         sed -r -i etc/OpenCL/vendors/*.icd -e 's%usr/lib64%$(libdir)%'
32         dh_install
33
34 override_dh_shlibdeps:
35         dh_shlibdeps -l$(libdir)/OpenCL/vendors/intel
36
37 # Reformat the LICENSE to the format needed for debian/copyright.
38 LICENSE.txt: license.txt
39         sed -e 's/\x92/\xe2\x80\x99/g; s/\x93/\xe2\x80\x9c/g; s/\x94/\xe2\x80\x9d/g; s/\s*$$//; s/^$$/./; s/^/ /;' $< > $@
40
41 # Compare the license in debian/copyright with the LICENSE shipped in the archive.
42 compare-copyright-license: LICENSE.txt
43         sed -e '1,/^License: other-INTEL-OPENCLSDK$$/d; /^$$/,$$d; /^ .$$/d' debian/copyright \
44             > copyright.tmp
45         sed -e '/^ .$$/d' LICENSE.txt > LICENSE.tmp
46         diff -uw copyright.tmp LICENSE.tmp
47         rm -f copyright.tmp LICENSE.tmp
48
49 ############################################################################
50
51 SOURCE_RPM       = intel_ocl_sdk_2012_x64.rpm
52 SOURCE_TGZ       = intel_sdk_for_ocl_applications_2012_x64.tgz
53 RPM_VERSION      = $(shell test -e $(SOURCE_RPM) && rpm -q -p $(SOURCE_RPM) | sed -e 's/intel-ocl-sdk-//; s/.x86_64//; s/-/./g;')
54
55 $(packagename)_$(RPM_VERSION).orig.tar.bz2: $(SOURCE_RPM) license.txt
56         mkdir $(packagename)-$(RPM_VERSION).orig
57         # Unpack files, clear executable attribute from libs
58         cd $(packagename)-$(RPM_VERSION).orig \
59            && cp ../license.txt . \
60            && rpm2cpio ../$(SOURCE_RPM) | cpio -idmv \
61            && find usr/lib64 -name '*.so' -exec chmod -x {} +
62         # Create the tarball
63         tar -cjf $@\
64             --owner=root --group=src \
65             $(packagename)-$(RPM_VERSION).orig
66         # Cleanup
67         rm -rf $(packagename)-$(RPM_VERSION).orig
68
69 .PHONY: orig rpm prepare version-check
70
71 version-check:
72         test $(RPM_VERSION) = $(upstream_version)
73
74 orig: version-check $(packagename)_$(RPM_VERSION).orig.tar.bz2
75
76 rpm: $(SOURCE_TGZ)
77         tar xzf $<
78
79 $(packagename)_$(upstream_version).orig: $(packagename)_$(upstream_version).orig.tar.bz2
80         tar xjf $(packagename)_$(upstream_version).orig.tar.bz2
81
82 $(packagename)_$(upstream_version): $(packagename)_$(upstream_version).orig
83         mv -T $(packagename)-$(upstream_version).orig $(packagename)-$(upstream_version)
84         cp -rP debian $(packagename)-$(upstream_version)
85
86 prepare: version-check $(packagename)_$(upstream_version)