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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
|
#!/usr/bin/make -f
# debian/rules for the Debian mesa package
# Copyright © 2006 Thierry Reding <thierry@gilfi.de>
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
STAMP_DIR = debian/stamp
QUILT_STAMPFN = $(STAMP_DIR)/patch
include /usr/share/quilt/quilt.make
CFLAGS = -Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
INSTALL_PROGRAM += -s
endif
DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_BUILD_DIR ?= $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)
export DEB_BUILD_ARCH
# choose an architecture-specific build of swx11 and GLU if a matching
# configuration exists
ifneq ($(wildcard configs/debian-swx11+glu-$(DEB_BUILD_ARCH)),)
SWX11_GLU_CONFIGS := debian-swx11+glu-$(DEB_BUILD_ARCH)
else
SWX11_GLU_CONFIGS := debian-swx11+glu-any
endif
# same for static builds
ifneq ($(wildcard configs/debian-swx11+glu-static-$(DEB_BUILD_ARCH)),)
SWX11_GLU_CONFIGS += debian-swx11+glu-static-$(DEB_BUILD_ARCH)
else
SWX11_GLU_CONFIGS += debian-swx11+glu-static-any
endif
# and for the GLX/DRI-enabled libGL
ifneq ($(wildcard configs/debian-dri-$(DEB_BUILD_ARCH)),)
DRI_CONFIGS := debian-dri-$(DEB_BUILD_ARCH)
else
DRI_CONFIGS := debian-dri-any
endif
# additional configurations optimized for CPU's supported by the build
# architecture
ifeq ($(DEB_BUILD_ARCH), i386)
SWX11_GLU_CONFIGS += debian-swx11+glu-i386-i686
# DRI_CONFIGS += debian-dri-i386-i686
endif
#ifeq ($(DEB_BUILD_ARCH), alpha)
# SWX11_GLU_CONFIGS += debian-swx11+glu-alpha-ev5
#endif
#ifeq ($(DEB_BUILD_ARCH), powerpc)
# SWX11_GLU_CONFIGS += debian-swx11+glu-powerpc-603
#endif
#ifeq ($(DEB_BUILD_ARCH), sparc)
# SWX11_GLU_CONFIGS += debian-swx11+glu-sparc-ultrasparc
#endif
# build the following configurations by default
CONFIGS = $(SWX11_GLU_CONFIGS) \
$(DRI_CONFIGS) \
debian-osmesa \
debian-osmesa-static \
debian-osmesa16 \
debian-osmesa16-static \
debian-osmesa32 \
debian-osmesa32-static
STAMP = $(STAMP_DIR)/$(DEB_BUILD_GNU_TYPE)
BUILD_STAMPS = $(addprefix $(STAMP)-build-, $(CONFIGS))
INSTALL_STAMPS = $(addprefix $(STAMP)-install-, $(CONFIGS)) \
$(STAMP_DIR)/install-source
# list the configurations that will built
configs:
@echo Building the following configurations: $(CONFIGS)
$(STAMP_DIR):
dh_testdir
mkdir -p $@
$(QUILT_STAMPFN): $(STAMP_DIR)
build: $(BUILD_STAMPS)
$(STAMP)-build-%: patch
dh_testdir
mkdir -p $(DEB_BUILD_DIR)/$*
find $(CURDIR)/* -maxdepth 0 -not -path '$(DEB_BUILD_DIR)*' | \
xargs cp -rlf -t $(DEB_BUILD_DIR)/$*
ln -sf $* $(DEB_BUILD_DIR)/$*/configs/current
cd $(DEB_BUILD_DIR)/$* && $(MAKE)
touch $@
pre-install:
dh_testdir
dh_testroot
dh_clean -k --exclude ./Makefile.orig --exclude configs/CVS/Root.bak
rm -rf $(INSTALL_STAMPS)
install: pre-install $(INSTALL_STAMPS)
$(STAMP)-install-%: $(STAMP)-build-%
# Add here commands to install the package into debian/tmp
cd $(DEB_BUILD_DIR)/$* && $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
touch $@
$(STAMP_DIR)/install-source:
# install Mesa source for mesa-swx11-source package
debian/scripts/install-source.sh
touch $@
clean: unpatch
dh_testdir
dh_testroot
dh_clean --exclude ./Makefile.orig --exclude configs/CVS/Root.bak
rm -rf $(DEB_BUILD_DIR) $(STAMP_DIR)
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
dh_installchangelogs
dh_installdocs
dh_installexamples
dh_install --sourcedir=debian/tmp --list-missing
dh_installman
dh_link
dh_strip
dh_compress
dh_fixperms
dh_makeshlibs
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: configs build clean binary-indep binary-arch binary install configure
|