############################################################################
#Makefile on the top folder

ROOTDIR  = $(shell pwd)
LINUXDIR = $(ROOTDIR)/linux-2.6.12
IMAGEDIR = $(ROOTDIR)/images
RAMDISK  = $(IMAGEDIR)/romdisk
KERNELZ  = $(IMAGEDIR)/uImage
ROMFSDIR = $(ROOTDIR)/ramdisk
MAKEARCH = make
TFTPDIR	 = /tftpboot
DIRS	 = source

include $(ROOTDIR)/$(DIRS)/diff.mk

IMAGEDIR = $(ROOTDIR)/images-levelone

COPY_TO_TFTP = n
	
.PHONY: source
source:
	$(MAKEARCH) -C source all
	
.PHONY: ramdisk
ramdisk:
	rm -fr $(ROMFSDIR)
	tar xvfz $(ROOTDIR)/ram-neu.tgz
	for dir in $(DIRS) ; do $(MAKEARCH) -C $$dir install || exit 1 ; done
	chown root.root $(ROOTDIR)/ramdisk -R
	chmod ug+s $(ROOTDIR)/ramdisk/bin/tinylogin
	rm -f $(ROOTDIR)/ramdisk/home/httpd/html/Thumbs.db
	rm -f $(ROOTDIR)/ramdisk/home/httpd/html/Management/Thumbs.db
	chmod 711 $(ROOTDIR)/ramdisk/home/httpd/html/Management/
#	chmod 711 $(ROOTDIR)/ramdisk/home/httpd/html/Management/help
	chmod 711 $(ROOTDIR)/ramdisk/home/httpd/html/Down 2>/dev/null
#	chmod 711 $(ROOTDIR)/ramdisk/home/httpd/html/Down/.help	2>/dev/null	
	chmod 711 $(ROOTDIR)/ramdisk/home/httpd/html/Files
#	chmod 711 $(ROOTDIR)/ramdisk/home/httpd/html/Files/.help
	chmod 711 $(ROOTDIR)/ramdisk/home/httpd/html/Photo
	chmod 711 $(ROOTDIR)/ramdisk/home/httpd/html/help
	chmod 711 $(ROOTDIR)/ramdisk/home/httpd/html/langs
	chmod 600 $(ROOTDIR)/ramdisk/usr/stunnel/stunnel.pem
.PHONY: image

image: ramdisk
	[ -d $(IMAGEDIR) ] || mkdir -p $(IMAGEDIR)
	./mksquashfs $(ROMFSDIR) $(RAMDISK) -le -noI -no-fragments -noappend -lzma 
	rm -fr $(ROMFSDIR)

	@echo "+----------------------------------------------------"
	@echo "| Build Complete "
	@echo "|"
	@if [ "$(COPY_TO_TFTP)" = "y" ]; \
	then \
		if [ -d $(TFTPDIR) ]; \
		then \
			cp $(KERNELZ) $(TFTPDIR) ; \
			chmod a+r $(RAMDISK); cp $(RAMDISK) $(TFTPDIR) ; \
		fi \
	else \
		echo "| Images are in $(IMAGEDIR) " ; \
		echo "|" ; \
		echo "| As root, copy the images to /tftpboot " ; \
	fi
	@echo "+-----------------------------------------------------"

gpl-image: ramdisk
	[ -d $(IMAGEDIR) ] || mkdir -p $(IMAGEDIR)
	./mksquashfs $(ROMFSDIR) $(RAMDISK) -le -noI -no-fragments -noappend -lzma 
	tar -cvzf ram-gpl.tgz ramdisk
	rm -rf $(ROMFSDIR)
	@echo "+----------------------------------------------------"
	@echo "| Build Complete "
	@echo "|"
	@if [ "$(COPY_TO_TFTP)" = "y" ]; \
	then \
		if [ -d $(TFTPDIR) ]; \
		then \
			cp $(KERNELZ) $(TFTPDIR) ; \
			chmod a+r $(RAMDISK); cp $(RAMDISK) $(TFTPDIR) ; \
		fi \
	else \
		echo "| Images are in $(IMAGEDIR) " ; \
		echo "|" ; \
		echo "| As root, copy the images to /tftpboot " ; \
	fi
	@echo "+-----------------------------------------------------"
.PHONY: linux
linux linux%_only:
	$(MAKEARCH) -C $(LINUXDIR) uImage || exit 1
	$(MAKEARCH) -C $(LINUXDIR) modules || exit 1
	cp -f $(LINUXDIR)/arch/arm/boot/uImage $(KERNELZ)
dep:
	@if [ ! -f $(LINUXDIR)/.config ] ; then \
		echo "ERROR: you need to do a 'make config' first" ; \
		exit 1 ; \
	fi
	$(MAKEARCH) -C $(LINUXDIR) dep
copy:
	sudo chmod a+r $(IMAGEDIR)/ramdisk
	cp $(IMAGEDIR)/uImage /tftpboot -a
	cp $(IMAGEDIR)/ramdisk /tftpboot -a

clean: 
	for dir in $(LINUXDIR) $(DIRS); do $(MAKEARCH) -C $$dir clean ; done
	rm -rf $(ROMFSDIR)/*
#End of Makefile
