File: rules

package info (click to toggle)
intel-graphics-compiler2 2.28.4-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 792,744 kB
  • sloc: cpp: 5,761,745; ansic: 466,928; lisp: 312,143; python: 114,790; asm: 44,736; pascal: 10,930; sh: 8,033; perl: 7,914; ml: 3,625; awk: 3,523; yacc: 2,747; javascript: 2,667; lex: 1,898; f90: 1,028; cs: 573; xml: 474; makefile: 344; objc: 162
file content (78 lines) | stat: -rwxr-xr-x 2,997 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#!/usr/bin/make -f

export DEB_BUILD_MAINT_OPTIONS	 = hardening=+all optimize=-lto
export DEB_CXXFLAGS_MAINT_APPEND += -Wno-error=free-nonheap-object -include cstdint

include /usr/share/dpkg/pkg-info.mk

IGC_PATCH		 = $(shell sed -n -r 's/.*[0-9]+\.[0-9]+\.([0-9]+).*/\1/p;q' debian/changelog)
LLVM_VERSION		 = 16
LLVM_UPSTREAM_VERSION	 = 16.0.6
VENDOR_DIRS = llvm-project vc-intrinsics
TAR_OPTIONS = --sort=name --mtime=@0 --owner=0 --group=0 --numeric-owner --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime

%:
	dh $@ --builddir build/

VENDOR_TARBALL_STUB = intel-graphics-compiler2_$(DEB_VERSION_UPSTREAM).orig

vendor-tarball-sanity-check:
	for i in $(VENDOR_DIRS); do \
		if [ -e ../$(VENDOR_TARBALL_STUB)-$${i}.tar.xz ]; then \
		echo "../$(VENDOR_TARBALL_STUB)-$${i}.tar.xz already exists, bailing!"; exit 1; fi; done

vendor-deps:
	rm -rf $(VENDOR_DIRS)
	git clone https://github.com/intel/vc-intrinsics vc-intrinsics
	# try to get a minimal llvm tree, .git needs to be preserved
	git clone -b llvmorg-16.0.6 --depth 50 --single-branch https://github.com/llvm/llvm-project llvm-project
	rm -rf llvm-project/*/test
	git clone -b ocl-open-160 https://github.com/intel/opencl-clang llvm-project/llvm/projects/opencl-clang
	git clone -b llvm_release_160 https://github.com/KhronosGroup/SPIRV-LLVM-Translator llvm-project/llvm/projects/llvm-spirv
	for i in vc-intrinsics llvm-project/llvm/projects/opencl-clang llvm-project/llvm/projects/llvm-spirv; do \
		rm -rf $${i}/.git; done

vendor-tarball: vendor-tarball-sanity-check vendor-deps
	for i in $(VENDOR_DIRS); do \
		tar $(TAR_OPTIONS) -caf ../$(VENDOR_TARBALL_STUB)-$${i}.tar.xz $${i}; done

set-gitconfig:
	if [ -z "`git config get user.email`" ]; then cd llvm-project; git config user.email "BUILD@org.none"; fi
	if [ -z "`git config get user.name `" ]; then cd llvm-project; git config user.name "BUILD";fi

override_dh_clean:
	for i in $(VENDOR_DIRS); do \
		rm -f ../$${i}; done
	dh_clean

override_dh_auto_configure: set-gitconfig
	for i in $(VENDOR_DIRS); do \
		ln -sf $(CURDIR)/$${i} ..; done

	dh_auto_configure -- \
		-DCMAKE_BUILD_TYPE=Release \
		-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
		-DFETCHCONTENT_FULLY_DISCONNECTED=ON \
		-DIGC_OPTION__API_ENABLE_OPAQUE_POINTERS=ON \
		-DIGC_OPTION__ARCHITECTURE_TARGET='Linux64' \
		-DIGC_OPTION__LINK_KHRONOS_SPIRV_TRANSLATOR=ON \
		-DIGC_OPTION__LLVM_MODE=Source \
		-DIGC_OPTION__LLVM_PREFERRED_VERSION=$(LLVM_UPSTREAM_VERSION) \
		-DIGC_OPTION__SPIRV_TOOLS_MODE=Prebuilds \
		-DIGC_OPTION__USE_PREINSTALLED_SPIRV_HEADERS=ON \
		-DIGC_API_PATCH_VERSION=${IGC_PATCH} \
		-Wno-dev

execute_after_dh_auto_install:
	$(RM) -v debian/tmp/usr/include/igc/cif/CMakeLists.txt
	$(RM) -v debian/tmp/usr/include/igc/cif/cif/CMakeLists.txt
	$(RM) -v debian/tmp/usr/include/igc/cif/readme.txt

	$(RM) -v debian/tmp/usr/lib/*/libiga64.so
	$(RM) -v debian/tmp/usr/lib/*/libigc.so

override_dh_gencontrol:
	dh_gencontrol -- \
		-V'llvm:Version=$(LLVM_VERSION)'

override_dh_dwz: