#!/usr/bin/make -f
-#
-
-WEEK := $(shell date +%Y%W)
-RELEASE := $(shell dpkg-parsechangelog | awk '/^Version: / { print $$2 }')
-#REVISION := $(shell echo "$(RELEASE)" | sed 's/\(.*\)-\(.*\)/\2/')
-#no need to update modules so often, api is quite stable between weekly releases
-REVISION := maemo
-#EXTRAVERSION := EXTRAVERSION-$(REVISION)
-
-PACKAGE := kernel
-FLASHER_PACKAGE := kernel-flasher-maemo
-#SOURCE_PACKAGE := $(PACKAGE)-source
-KERNEL_PACKAGE := $(PACKAGE)-maemo
-MODULES_PACKAGE := $(PACKAGE)-modules-maemo
-HEADERS_PACKAGE := $(PACKAGE)-headers-maemo
-KBUILD_PACKAGE := $(PACKAGE)-kbuild
-DEBUG_PACKAGE := $(PACKAGE)-debug
-DEBUG_MODULES_PACKAGE := $(PACKAGE)-modules-debug
-LIBC_PACKAGE := linux-kernel-headers-maemo
-
-BUILDTMP := $(CURDIR)/debian/build
-#KSRC := $(BUILDTMP)/$(PACKAGE)
-KSRC := $(CURDIR)
-export KBUILD_OUTPUT = $(BUILDTMP)
-
-DEFCONFIG := rx51maemo_defconfig
-KVER = $(shell cat $(KSRC)/include/config/kernel.release 2> /dev/null)
-ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
-INCLUDE_HEADERS = acpi asm-generic crypto drm Kbuild keys math-emu media mtd net pcmcia rdma rxrpc scsi sound video xen
-INCLUDE_HEADERS_ARCH = asm-$(ARCH) config linux
-RM_SCRIPTS = bloat-o-meter show_delta
-DEBUG_MODULES = oprofile.ko
-MAKE += $(MAKEFLAGS)
-FIASCOURL = "http://repository.maemo.org/pool/fremantle/non-free/s/sdk-fiasco-gen/sdk-fiasco-gen_2.8.2.0.1+0m5_armel.deb"
-
-ifneq (,$(findstring parallel,$(DEB_BUILD_OPTIONS)))
- PARALLEL_JOBS := $(shell echo $(DEB_BUILD_OPTIONS) | \
- sed -e 's/.*parallel=\([0-9]\+\).*/\1/')
- ifeq ($(DEB_BUILD_OPTIONS),$(PARALLEL_JOBS))
- PARALLEL_JOBS := $(shell if [ -f /proc/cpuinfo ]; \
- then echo `cat /proc/cpuinfo | grep 'processor' | wc -l`; \
- else echo 1; fi)
- endif
- NJOBS := -j$(PARALLEL_JOBS)
-endif
-
-configure-stamp:
- dh_testdir
- mkdir -p $(BUILDTMP)
- $(MAKE) clean
- QUILT_PATCHES=debian/patches quilt push -a || test $$? = 2
- cp debian/$(DEFCONFIG) arch/arm/configs/
-
- cd $(KSRC) && $(MAKE) $(EXTRAVERSION) $(DEFCONFIG)
- touch $@
-
-kernel-stamp: configure-stamp
- echo "compile $(PRODUCT) kernel"
- cd $(KSRC) && $(MAKE) $(NJOBS) $(EXTRAVERSION) zImage
- touch $@
-
-modules-stamp: configure-stamp
- echo "compile $(PRODUCT) kernel modules"
- cd $(KSRC) && $(MAKE) $(NJOBS) $(EXTRAVERSION) modules
- touch $@
-
-modules-extra: configure-stamp
- echo "compile $(PRODUCT) kernel EXTRA modules"
- cd $(KSRC) && \
- patch -p1 < $(CURDIR)/debian/modules-extra_config.patch && \
- $(MAKE) $(EXTRAVERSION) oldconfig modules && \
- patch -p1 -R < $(CURDIR)/debian/modules-extra_config.patch && \
- $(MAKE) $(EXTRAVERSION) oldconfig
-
-headers: kernel-stamp modules-stamp
clean:
- dh_testdir
- dh_testroot
-
- mkdir -p $(BUILDTMP)
- $(MAKE) clean
- -rm -f scripts/basic/{docproc,fixdep,hash} scripts/kconfig/mconf
- rm -f modules/modversions.h modules/ksyms.ver debian/files conf.vars scripts/cramfs/cramfsck \
- scripts/cramfs/mkcramfs applied_patches debian/buildinfo stamp-* .config* \
- debian/$(FLASHER_PACKAGE).postinst
- rm -rf debian/tmp-*
- rm -rf debian/build
- rm -f *-stamp
- QUILT_PATCHES=debian/patches quilt pop -a -R || test $$? = 2
- -rm arch/arm/configs/$(DEFCONFIG)
- -rm -rf .pc
-
dh_clean
-install-kernel:
- dh_testdir
- dh_testroot
- dh_installdirs
-
- install -d -m 755 $(CURDIR)/debian/$(KERNEL_PACKAGE)/boot
- #wget -Odebian/fiasco.deb $(FIASCOURL) && dpkg-deb -x debian/fiasco.deb debian/fiasco
- #debian/fiasco/usr/bin/fiasco-gen -o $(CURDIR)/debian/$(KERNEL_PACKAGE)/boot/zImage-$(RELEASE).fiasco -g \
- # -k $(KSRC)/arch/arm/boot/zImage -v $(RELEASE)
- fiasco-gen -o $(CURDIR)/debian/$(KERNEL_PACKAGE)/boot/zImage-$(RELEASE).fiasco -g \
- -k $(BUILDTMP)/arch/arm/boot/zImage -v $(RELEASE)
- #rm -rf debian/fiasco debian/fiasco.deb
- chmod 644 $(CURDIR)/debian/$(KERNEL_PACKAGE)/boot/zImage-$(RELEASE).fiasco
-
-install-debug: install-modules
- install -d -m 755 $(CURDIR)/debian/$(DEBUG_PACKAGE)/usr/lib/debug/lib/modules/$(KVER)
- install $(BUILDTMP)/vmlinux \
- $(CURDIR)/debian/$(DEBUG_PACKAGE)/usr/lib/debug/vmlinux-$(KVER)
- chmod a-x $(CURDIR)/debian/$(DEBUG_PACKAGE)/usr/lib/debug/vmlinux-*
- mkdir -p $(CURDIR)/debian/$(DEBUG_PACKAGE)/lib/modules/$(KVER)
-
- for f in $$(find $(CURDIR)/debian/$(MODULES_PACKAGE) -name "*.ko"); do \
- objcopy --only-keep-debug $$f $(CURDIR)/debian/$(DEBUG_PACKAGE)/usr/lib/debug/lib/modules/$(KVER)/$$(basename $$f); \
- strip --remove-section=.comment --remove-section=.note --strip-unneeded $(CURDIR)/debian/$(MODULES_PACKAGE)/lib/modules/$(KVER)/$$(basename $$f); \
- objcopy --add-gnu-debuglink $(CURDIR)/debian/$(DEBUG_PACKAGE)/usr/lib/debug/lib/modules/$(KVER)/$$(basename $$f) $(CURDIR)/debian/$(MODULES_PACKAGE)/lib/modules/$(KVER)/$$(basename $$f); \
- done
-
-install-modules-debug: install-debug
- install -d -m 755 $(CURDIR)/debian/$(DEBUG_MODULES_PACKAGE)/lib/modules/$(KVER)
- -for f in $(DEBUG_MODULES); do \
- mv $(CURDIR)/debian/$(MODULES_PACKAGE)/lib/modules/$(KVER)/$$f \
- $(CURDIR)/debian/$(DEBUG_MODULES_PACKAGE)/lib/modules/$(KVER)/$$f; \
- done
-
-install-modules:
- dh_testdir
- dh_testroot
-
- mkdir -p $(CURDIR)/debian/$(MODULES_PACKAGE)/lib/modules/$(KVER)
- for f in $$(find $(BUILDTMP) -name "*.ko"); do \
- install -c -m 644 $$f $(CURDIR)/debian/$(MODULES_PACKAGE)/lib/modules/$(KVER)/$$(basename $$f); \
- strip --remove-section=.comment --remove-section=.note --strip-unneeded $(CURDIR)/debian/$(MODULES_PACKAGE)/lib/modules/$(KVER)/$$(basename $$f); \
- done
- #ln -sf $(KVER) $(CURDIR)/debian/$(MODULES_PACKAGE)/lib/modules/current
-
-install-headers:
- dh_testdir
- dh_testroot
- dh_installdirs
-
- install -d -m755 $(CURDIR)/debian/$(HEADERS_PACKAGE)/usr/src/$(HEADERS_PACKAGE)/
- install -p -o root -g root -m 644 $(BUILDTMP)/.config $(CURDIR)/debian/$(HEADERS_PACKAGE)/usr/src/$(HEADERS_PACKAGE)/
- install -p -o root -g root -m 644 $(KSRC)/Makefile $(CURDIR)/debian/$(HEADERS_PACKAGE)/usr/src/$(HEADERS_PACKAGE)/
- install -p -o root -g root -m 644 $(BUILDTMP)/Module.symvers $(CURDIR)/debian/$(HEADERS_PACKAGE)/usr/src/$(HEADERS_PACKAGE)/
- cd $(BUILDTMP) && install -p -o root -g root -m 644 -D include/config/auto.conf \
- $(CURDIR)/debian/$(HEADERS_PACKAGE)/usr/src/$(HEADERS_PACKAGE)/include/config/auto.conf
- cd $(KSRC) && \
- find arch/$(ARCH) $(foreach dir,$(INCLUDE_HEADERS),include/$(dir)) -name '*.h' \
- -exec install -D -m644 {} $(CURDIR)/debian/$(HEADERS_PACKAGE)/usr/src/$(HEADERS_PACKAGE)/{} \;
- cd $(BUILDTMP) && \
- find $(foreach dir,$(INCLUDE_HEADERS_ARCH),include/$(dir)) -name '*.h' \
- -exec install -D -m644 {} $(CURDIR)/debian/$(HEADERS_PACKAGE)/usr/src/$(HEADERS_PACKAGE)/{} \;
- cd $(KSRC) && \
- find ./ -path "./debian" -prune -o -path "./.pc" -prune -o \( -name Makefile -or -name Kbuild -or -name Kconfig\* \) \
- -exec install -D -m644 {} $(CURDIR)/debian/$(HEADERS_PACKAGE)/usr/src/$(HEADERS_PACKAGE)/{} \;
-
- ln -sf asm-$(ARCH) $(CURDIR)/debian/$(HEADERS_PACKAGE)/usr/src/$(HEADERS_PACKAGE)/include/asm
-
- rm -rf $(CURDIR)/debian/$(HEADERS_PACKAGE)/usr/src/$(HEADERS_PACKAGE)/scripts
- ln -sf ../$(KBUILD_PACKAGE)/scripts $(CURDIR)/debian/$(HEADERS_PACKAGE)/usr/src/$(HEADERS_PACKAGE)
-
-# cp -a $(KSRC)/include/asm-$(ARCH)/arch \
-# $(CURDIR)/debian/$(HEADERS_PACKAGE)/usr/src/$(HEADERS_PACKAGE)/include/asm-$(ARCH)
-
- cp $(BUILDTMP)/arch/$(ARCH)/kernel/asm-offsets.s \
- $(CURDIR)/debian/$(HEADERS_PACKAGE)/usr/src/$(HEADERS_PACKAGE)/arch/$(ARCH)/kernel
-#install /lib/modules symlink
- install -d -m 755 $(CURDIR)/debian/$(HEADERS_PACKAGE)/lib/modules/$(KVER)/
- ln -sf /usr/src/$(HEADERS_PACKAGE) $(CURDIR)/debian/$(HEADERS_PACKAGE)/lib/modules/$(KVER)/build
-#install kbuild
- install -d $(CURDIR)/debian/$(HEADERS_PACKAGE)/usr/src/$(KBUILD_PACKAGE)
- cp -a $(KSRC)/scripts $(CURDIR)/debian/$(HEADERS_PACKAGE)/usr/src/$(KBUILD_PACKAGE)
-#kbuild fixes
- cd $(CURDIR)/debian/$(HEADERS_PACKAGE)/usr/src/$(KBUILD_PACKAGE)/scripts && \
- ( rm -f $(RM_SCRIPTS); chmod a-x mkcompile_h )
-
-install-libc-headers:
- dh_testdir
- dh_testroot
-
- cd $(BUILDTMP) && \
- $(MAKE) headers_check ARCH=$(ARCH) && \
- $(MAKE) headers_install ARCH=$(ARCH) INSTALL_HDR_PATH=$(CURDIR)/debian/$(LIBC_PACKAGE)/usr
-
-
-install-modules-extra:
- dh_testdir
- dh_testroot
-
- mkdir -p $(CURDIR)/debian/kernel-modules-extra/lib/modules/$(KVER)/extra
- for f in $(MODULES_EXTRA); do \
- install -c -m 644 $(BUILDTMP)/$$f \
- $(CURDIR)/debian/kernel-modules-extra/lib/modules/$(KVER)/extra/$$(basename $$f); \
- done
-
-install-extra: install-modules-extra
-
-
-install-arch: build-arch install-kernel install-modules install-headers install-libc-headers
-
-ifeq ($(ARCH),arm)
-build-arch: kernel-stamp modules-stamp headers
-else
-build-arch:
-endif
-
-build: build-arch
-
-binary-indep: #install-indep
+binary-indep:
dh_testdir
dh_testroot
dh_installchangelogs -i
dh_md5sums -i
dh_builddeb -i
-ifeq ($(ARCH),arm)
-binary-arch: build-arch install-arch
-else
-binary-arch: install-libc-headers
-endif
- sed \
- -e 's,@VERSION@,$(RELEASE),g' \
- -e 's,@KVER@,$(KVER),g' \
- < $(CURDIR)/debian/$(FLASHER_PACKAGE).postinst.in \
- > $(CURDIR)/debian/$(FLASHER_PACKAGE).postinst
- dh_testdir
- dh_testroot
- dh_installchangelogs -s
- dh_installdocs -s
-ifeq ($(ARCH),arm)
- dh_strip -p$(HEADERS_PACKAGE)
-endif
- dh_compress -s
- dh_fixperms -s --exclude /usr/src/kernel-headers
- dh_installdeb -s
- dh_shlibdeps -s
- dh_gencontrol -s
- dh_md5sums -s
- dh_builddeb -s
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install
+binary: binary-indep
+.PHONY: build clean binary-indep binary