#!/usr/bin/make -f # debian/rules for the Debian mesa package # Copyright © 2006 Thierry Reding # 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 chmod a+x debian/scripts/install-source.sh 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 -plibgl1-mesa-swx11 --dbg-package=libgl1-mesa-swx11-dbg dh_strip -plibgl1-mesa-glx --dbg-package=libgl1-mesa-glx-dbg dh_strip -plibgl1-mesa-dri --dbg-package=libgl1-mesa-dri-dbg 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