path := base name := kernel suffix := gz version_of = src/linux latest_version = 3.12.0 #latest_version = $(shell $(MAKE) -C src/linux kernelversion) version_base = $(word 1,$(subst ., ,$(version))).$(word 2,$(subst ., ,$(version))) version_suffix = $(shell svn info src/linux.config | grep Rev: | tail -n1 | sed "s/.*: //") image = zImage src_url = https://github.com/raspberrypi/linux/tarball/rpi-$(version_base).y src_suffix = tgz src_files := linux aufs-standalone module-init-tools deps := gcc mercurial patch libncurses5-dev git lzma include ../Makefile.default include ../Makefile.tools all: $(name).$(suffix) clean: _clean rm -rf lib rm -f include rm -rf src/linux.$(src_suffix) rm -rf src/linux-$(version) rm -rf src/aufs rm -rf src/aufs-$(version_base) rm -rf src/aufs-standalone.tgz rm -f $(name).$(suffix) $(name).$(suffix): src/linux/arch/$(ARCH)/boot/$(image) lib include cp -up src/linux/arch/$(ARCH)/boot/$(image) $(modulname) ln -fs $(modulname) $@ src/linux/arch/$(ARCH)/boot/$(image): src/linux echo "$(indent)Build Kernel..." $(MAKE) -C src/linux touch src/linux-$(version) -r src/linux/.config lib: src/linux echo "$(indent)Build Kernel Modules..." rm -rf lib $(MAKE) -C src/linux modules INSTALL_MOD_PATH=$$(pwd) $(MAKE) -C src/linux modules_install $(depmod) -b . $$(ls lib/modules) touch src/linux-$(version) -r src/linux/.config include: src/linux $(MAKE) -C src/linux headers_install ln -fns src/linux/usr/include include touch src/linux-$(version) -r src/linux/.config src/linux: src/linux-$(version) src/linux-$(version)/.config ln -fns linux-$(version) $@ src/linux-$(version): src/linux.$(src_suffix) src/aufs rm -rf $@ tar xf src/linux.$(src_suffix) -C src mv src/raspberrypi-linux-* $@ $(MAKE) patch src_path=$@ src_name=aufs/aufs3-kbuild $(MAKE) patch src_path=$@ src_name=aufs/aufs3-base $(MAKE) patch src_path=$@ src_name=aufs/aufs3-mmap cp -r src/aufs/{Documentation,fs} $@ cp -r src/aufs/include/uapi/linux/aufs_type.h $@/include/uapi/linux src/linux.$(src_suffix): $(MAKE) -f ../Makefile.getfile file=$@ url="$(src_url)" src/linux-$(version)/.config: src/linux.config cp src/linux.config $@; \ sed "s/CONFIG_LOCALVERSION=\".*\"/CONFIG_LOCALVERSION=\"$(version_suffix)\"/" -i $@ cd $(@D); yes "" | $(MAKE) oldconfig src/aufs: src/aufs-$(version_base) ln -fns $(^F) $@ src/aufs-$(version_base): src/aufs-standalone.tgz rm -rf $@* mkdir -p $@-src tar xf $^ -C $@-src mv $@-src/* $@ rm -r $@-src touch $@ cd $@; patch -p1 -i ../aufs_create.patch cd $@; patch -p1 -i ../aufs_cpup.patch sed 's/#define AUFS_VERSION.*/#define AUFS_VERSION "3.x-rcN"/' -i $@/include/uapi/linux/aufs_type.h src/aufs-standalone.tgz: $(MAKE) -f ../Makefile.getfile version=$(version_base) file=$@ rule=src/aufs-HEAD src/aufs-HEAD: git clone git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git $@ # cd $@; git checkout origin/aufs3.x-rcN cd $@; git checkout 8e9c589e2184bf5622a3abd4c7654636c9f08f97 tar -caf $(file) -C $(@D) $(@F) rm -rf $@