#!/usr/bin/make -f
# -*- makefile -*-

DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)

ifneq (,$(filter $(DEB_HOST_ARCH), armel))
kernelconfig = bcmrpi_defconfig
arch = arm
dtbs = arch/$(arch)/boot/dts/bcm*.dtb
kernelimg = kernel.img
endif

ifneq (,$(filter $(DEB_HOST_ARCH), armhf))
kernelconfig = bcm2709_defconfig
arch = arm
dtbs = arch/$(arch)/boot/dts/bcm*.dtb
kernelimg = kernel7.img
endif

ifneq (,$(filter $(DEB_HOST_ARCH), arm64))
kernelconfig = bcmrpi3_defconfig
arch = arm64
dtbs = arch/$(arch)/boot/dts/broadcom/bcm*.dtb
kernelimg = kernel8.img
endif

clean:
	echo "Skip clean"

build:
	$(MAKE) -j4 ARCH=$(arch) $(kernelconfig)
	$(MAKE) -j4 ARCH=$(arch)

  ifneq (,$(filter $(DEB_HOST_ARCH), armel armhf))
	perl scripts/mkknlimg --dtok arch/$(arch)/boot/zImage \
		$(kernelimg)
  else
	cp arch/$(arch)/boot/Image $(kernelimg)
  endif

binary:
	dh_testdir
	dh_testroot
	$(MAKE) \
		ARCH=$(arch) \
		INSTALL_MOD_PATH=$(PWD)/debian/linux-image-raspi \
		modules_install
	mkdir -p debian/linux-image-raspi/boot/overlays
	cp $(kernelimg) debian/linux-image-raspi/boot/
	cp $(dtbs) debian/linux-image-raspi/boot/
	cp arch/$(arch)/boot/dts/overlays/*.dtbo \
		debian/linux-image-raspi/boot/overlays/
	cp arch/$(arch)/boot/dts/overlays/README \
		debian/linux-image-raspi/boot/overlays/
	dh_compress
	dh_fixperms
	dh_strip
	dh_makeshlibs
	dh_installdeb
	dh_gencontrol
	dh_md5sums
	dh_builddeb

build-arch: build
binary-arch: binary
