#!/usr/bin/make -f # Sample debian/rules that uses debhelper. # GNU copyright 1997 to 1999 by Joey Hess. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 config_target:=oldconfig kernel_version:=4.19 kernel_src:=linux-source-$(kernel_version) BUILT_USING := $(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W linux-source-$(kernel_version)) debian:=$(CURDIR)/debian tmp:=$(debian)/user-mode-linux tmpmodules:=$(debian)/uml-modules DEB_HOST_ARCH?=$(shell dpkg-architecture -qDEB_HOST_ARCH) #SUBARCH?=$(shell uname -m) DEB_BUILD_OPTIONS ?= "parallel=$(shell getconf _NPROCESSORS_ONLN)" ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) KBUILDVARS := CFLAGS_KERNEL=-O1 endif # development only targets # copy-config: cp config.$(DEB_HOST_ARCH) $(kernel_src)/.config oldconfig32: unpack copy-config make -C $(kernel_src) oldconfig ARCH=um SUBARCH=i386 cp config.i386 config.i386.oldconfig.old cp $(kernel_src)/.config config.i386 oldconfig64: unpack copy-config make -C $(kernel_src) oldconfig ARCH=um SUBARCH=x86_64 cp config.amd64 config.amd64.oldconfig.old cp $(kernel_src)/.config config.amd64 menuconfig: unpack copy-config make -C $(kernel_src) menuconfig ARCH=um cp config.$(DEB_HOST_ARCH) config.$(DEB_HOST_ARCH).menuconfig.old cp $(kernel_src)/.config config.$(DEB_HOST_ARCH) # # end development only targets unpack: unpack-stamp unpack-stamp: tar -x -f /usr/src/linux-source-$(kernel_version).tar.xz touch $@ patch: patch-stamp patch-stamp: unpack-stamp (cd $(kernel_src) && QUILT_PATCHES=$(debian)/patches quilt push -a) touch $@ $(kernel_src)/.config: config.$(DEB_HOST_ARCH) unpack cp $< $@ configure: configure-stamp configure-stamp: patch-stamp $(kernel_src)/.config dh_testdir $(MAKE) -C $(kernel_src) $(config_target) ARCH=um touch $@ build: build-arch build-indep build-arch: build-stamp build-indep: build-stamp build-stamp: configure dh_testdir $(MAKE) -C $(kernel_src) $(KBUILDVARS) linux modules ARCH=um docbook-to-man linux.sgml > linux.uml.1 touch $@ clean: clean-unpatched clean-unpatched: unpatch dh_testdir dh_testroot rm -f unpack-stamp build-stamp configure-stamp rm -rf $(kernel_src) linux.uml.1 $(tmpmodules) changelog dh_clean unpatch: (cd $(kernel_src) && QUILT_PATCHES=$(debian)/patches quilt pop -a || /bin/true) rm -rf patch-stamp $(kernel_src)/.pc install: build dh_testdir dh_testroot dh_prep dh_installdirs usr/bin usr/lib/uml usr/share/doc/user-mode-linux install -D -m 0644 debian/user-mode-linux.lintian debian/user-mode-linux/usr/share/lintian/overrides/user-mode-linux MODSTRIP=1 ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) MODSTRIP=0 endif install $(kernel_src)/linux $(tmp)/usr/bin/linux.uml $(MAKE) -C $(kernel_src) modules_install \ ARCH=um \ INSTALL_MOD_PATH=$(tmpmodules) \ INSTALL_MOD_STRIP=$(MODSTRIP) -rm $(tmpmodules)/lib/modules/*/build -rm $(tmpmodules)/lib/modules/*/source mv $(tmpmodules)/lib/modules \ $(tmp)/usr/lib/uml/modules rm -rf $(tmpmodules) install -m 644 $(kernel_src)/.config \ $(tmp)/usr/share/doc/user-mode-linux/config # 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_installdebconf dh_installdocs dh_installexamples dh_installmenu # dh_installlogrotate # dh_installemacsen # dh_installpam # dh_installmime # dh_installinit dh_installcron dh_installman linux.uml.1 dh_installinfo # dh_undocumented dh_installchangelogs $(CURDIR)/debian/changelog dh_link dh_strip dh_compress dh_fixperms # dh_makeshlibs dh_installdeb # dh_perl dh_shlibdeps dh_gencontrol -- -VBuilt-Using="$(BUILT_USING)" -VLinux-Source="$(kernel_src)" dh_md5sums dh_builddeb binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install configure