# Kernel+Modules Makefile for Knoppix

KSRC = /usr/src/linux
MODULES = /usr/src/linux/../modules
DEB_DESTDIR = $(MODULES)

all: kernel modules fritz

kernel:
	@echo "[1mBuilding Kernel...[0m"
	cd /usr/src/linux/  && rm -f *stamp* && mkdir -p debian && ( sudo mount -v -t tmpfs -o size=1G tmpfs debian ; make include/asm ; nice -10 fakeroot make-kpkg --us --uc --rootcmd fakeroot kernel_image ) ; sudo umount -v debian
	@echo "[1mDone.[0m"

modules: build-modules


ndiswrapper:
	@echo "[1mBuilding ndiswrapper module...[0m"
	cd $(KSRC)/../modules/ndiswrapper-svn/ && fakeroot make KSRC=$(KSRC) DEB_DESTDIR=$(DEB_DESTDIR) -f debian/rules kdist_clean binary-modules 

madwifi:
	@echo "[1mBuilding madwifi module...[0m"
	cd $(KSRC)/../modules/madwifi-svn/ && fakeroot make KSRC=$(KSRC) DEB_DESTDIR=$(DEB_DESTDIR) -f debian/rules kdist_clean binary-modules 

build-modules: madwifi ndiswrapper
	@echo "[1mBuilding cloop module...[0m"
	cd $(KSRC)/../modules/cloop-*/  && fakeroot make KSRC=$(KSRC) -f debian/rules kdist_clean binary-modules 
	@echo "[1mBuilding aufs module...[0m"
	cd $(KSRC)/../modules/aufs-cvs/ && fakeroot make KSRC=$(KSRC) -f debian/rules kdist_clean binary-modules 
	@echo "[1mBuilding rt2x00 wifi module...[0m"
	cd $(KSRC)/../modules/rt2x00-cvs-*/ && fakeroot make KSRC=$(KSRC) -f debian/rules binary-modules 
	@echo "[1mBuilding loop-aes module...[0m"
	cd $(KSRC)/../modules/loop-aes/ && fakeroot make KSRC=$(KSRC) DEB_DESTDIR=$(DEB_DESTDIR) -f debian/rules kdist_clean binary-modules 

# Warning: This target installs all fritzcard modules without packages.
fritz:
	cd $(KSRC)/../modules/ && for i in fc* fx*; do test -d $$i || continue; (cd $$i ; make clean; make LIBDIR=/tmp/fritz && sudo make LIBDIR=/tmp/fritz install); done
