WORK = $(PWD)/work
CROSSTOOLS = $(PWD)/../../toolchain/crosstools
-KERNEL_VERSION = 2.6.31.14.27-efikamx_20111026
+KERNEL_VERSION = 2.6.31.14.27-efikamx_20130723
.PHONY: all clean image modules map config
distclean: clean image-distclean modules-distclean map-distclean
-$(WORK)/linux-$(KERNEL_VERSION).tar.bz2:
- wget -P $(WORK) http://crux-arm.nu/files/distfiles/efikamx/linux-$(KERNEL_VERSION).tar.bz2
+$(WORK)/linux-$(KERNEL_VERSION).tar.xz:
+ wget -P $(WORK) http://crux-arm.nu/files/distfiles/efikamx/linux-$(KERNEL_VERSION).tar.xz
-$(WORK)/linux-$(KERNEL_VERSION): $(WORK)/linux-$(KERNEL_VERSION).tar.bz2 $(PWD)/config-$(KERNEL_VERSION)
- tar -C $(WORK) -xvjf $(WORK)/linux-$(KERNEL_VERSION).tar.bz2
+$(WORK)/linux-$(KERNEL_VERSION): $(WORK)/linux-$(KERNEL_VERSION).tar.xz $(PWD)/config-$(KERNEL_VERSION)
+ tar -C $(WORK) -xvf $(WORK)/linux-$(KERNEL_VERSION).tar.xz
+ cd $(WORK) && \
+ sed -e 's|`whoami`|devel|' -e 's|`hostname .*`|crux-arm.nu|' -i linux-$(KERNEL_VERSION)/scripts/mkcompile_h && \
+ sed 's|rt3070.bin rt2870.bin||g' -i linux-$(KERNEL_VERSION)/firmware/Makefile
cp -v $(PWD)/config-$(KERNEL_VERSION) $(WORK)/linux-$(KERNEL_VERSION)/.config
touch $(WORK)/linux-$(KERNEL_VERSION)
cd $(WORK)/linux-$(KERNEL_VERSION) && \
export PATH=$(CROSSTOOLS)/bin:$$PATH && \
export LD_LIBRARY_PATH=$(CROSSTOOLS)/lib:$$LD_LIBRARY_PATH && \
- make zImage ARCH=arm CROSS_COMPILE=$(TARGET)-
+ make zImage ARCH=arm CROSS_COMPILE=$(TARGET)-
cp -v $(WORK)/linux-$(KERNEL_VERSION)/arch/arm/boot/zImage $(WORK)/zImage-$(KERNEL_VERSION)
ln -sf zImage-$(KERNEL_VERSION) $(WORK)/zImage
touch $(WORK)/zImage-$(KERNEL_VERSION)
rm -vf $(WORK)/zImage-$(KERNEL_VERSION)
image-distclean: image-clean
- rm -vrf $(WORK)/linux-$(KERNEL_VERSION) $(WORK)/linux-$(KERNEL_VERSION).tar.bz2
+ rm -vrf $(WORK)/linux-$(KERNEL_VERSION) $(WORK)/linux-$(KERNEL_VERSION).tar.xz
$(WORK)/modules-$(KERNEL_VERSION): $(WORK)/linux-$(KERNEL_VERSION)
cd $(WORK)/linux-$(KERNEL_VERSION) && \
rm -f $(WORK)/modules-$(KERNEL_VERSION)/lib/modules/$(KERNEL_VERSION)/{source,build}
touch $(WORK)/modules-$(KERNEL_VERSION)
-modules: $(WORK)/modules-$(KERNEL_VERSION)
+$(WORK)/modules-$(KERNEL_VERSION).tar.xz: $(WORK)/modules-$(KERNEL_VERSION)
+ cd $(WORK)/modules-$(KERNEL_VERSION) && \
+ tar cvJf $(WORK)/modules-$(KERNEL_VERSION).tar.xz *
+ touch $(WORK)/modules-$(KERNEL_VERSION).tar.xz
+
+modules: $(WORK)/modules-$(KERNEL_VERSION).tar.xz
modules-clean:
- rm -vrf $(WORK)/modules-$(KERNEL_VERSION)
+ rm -vrf $(WORK)/modules-$(KERNEL_VERSION) $(WORK)/modules-$(KERNEL_VERSION).tar.xz
modules-distclean: modules-clean