# need to define CP for freeswan install
TOPDIR = $(shell cd ..;pwd)
include ${TOPDIR}/Makefile.Config

#-----------------------------------------------------------------------------
SYMBOLIC_LINKS = etc.big/dhcpc etc.big/resolv.conf etc.big/localtime
#-----------------------------------------------------------------------------
all:
	#---nϥγoӫO!!---
	@echo "make romdisk all"
	@echo "You should not use this command!"
	@echo "make clean:	clean all root image"
	@echo "make root:	rebuild root directory"
	@echo "make install:rebuild root image, but this command should be called after busybox installed!"
	exit 1
#-----------------------------------------------------------------------------
test:
	#---հ---
	echo DONOTCOPY=${DONOTCOPY}
	echo TAR=${TAR}
	echo TARX=${TARX}
#-----------------------------------------------------------------------------
root:
	@echo "make romdisk root"
	#---ˬdrootؿssb, Ysbh}, Ysb, ---
	@if [ -d root ]; then echo "root exist"; \
	else \
		echo "root dir not exist, Rebuild it"; \
		mkdir root; \
		mkdir root/root; \
		mkdir root/home; \
		mkdir root/mnt; \
		mkdir root/mnt/USB; \
		mkdir root/proc; \
		mkdir root/tmp; \
		mkdir root/var; \
		mkdir root/Configure; \
		mkdir root/etc; \
		tar cf - --exclude=.svn -C bak.etc . | tar xf - -C root/etc; \
		mkdir root/lib; \
		tar cf - --exclude=.svn -C bak.lib . | tar xf - -C root/lib; \
		mkdir root/dev; \
		mkdir root/libexec; \
		ln -s ld-uClibc-0.9.27.so root/lib/ld-uClibc.so.0 ;\
		ln -s libcrypt-0.9.27.so root/lib/libcrypt.so.0  ;\
		ln -s libdl-0.9.27.so root/lib/libdl.so.0  ;\
		ln -s libm-0.9.27.so root/lib/libm.so.0  ;\
		ln -s libnsl-0.9.27.so root/lib/libnsl.so.0 ;\
		ln -s libpthread-0.9.27.so root/lib/libpthread.so.0  ;\
		ln -s libresolv-0.9.27.so root/lib/libresolv.so.0  ;\
	    ln -s libuClibc-0.9.27.so root/lib/libc.so.0  ;\
		ln -s libgcc_s.so.1 root/lib/libgcc_s.so  ;\
		ln -s libgdbm.so.3.0.0 root/lib/libgdbm.so.3  ;\
		ln -s libid3tag.so.0.3.0 root/lib/libid3tag.so.0  ;\
		ln -s libz.so.1.2.2 root/lib/libz.so.1  ;\
		ln -s libintl.so.1.0.1 root/lib/libintl.so.1 ;\
		ln -s libpopt.so.0.0.0 root/lib/libpopt.so.0  ;\
		ln -s libiconv.so.2.4.0 root/lib/libiconv.so.2  ;\
		cp -r bak.dev/MAKEDEV root/dev; \
		cd root/dev; ./MAKEDEV;\
	fi

#-----------------------------------------------------------------------------
install:	root
	@echo "make romdisk install"
	#---rootؿӦcopyih---
	@echo "copy Needed file into root dir"
	@if [ -e BOOT.FILES.basic ]; then \
	   	for i in `cat BOOT.FILES.basic` ; do \
		  cp -f -d ../usr_src/$$i root/$$i ; \
	   	done ; \
	fi;
	@if [ "${_QUOTA}" == "1" ]; then \
			ln -s quotaon root/bin/quotaoff; \
		rmdir root/home; \
		ln -s /mnt/Private root/home; \
	fi;
	
	@echo "make ramdisk and build ext2 filesystem"
	#---rootؿܦramdisk file---
	@rm -rf tmp
	@rm -rf ext2img
	@rm -rf fs.img
	@mkdir tmp
	@dd if=/dev/zero of=ext2img bs=1k count=8192
	@/sbin/mke2fs -F -v -m0 ext2img
	@mount -o loop ext2img tmp
	@cp -av root/* tmp
	@umount tmp
	@if [ "${_LZMA_SUPPORT}" == "1" ];then \
		../lzma e -a0 ext2img fs.img;\
	else \
		gzip -9 < ext2img > fs.img; \
	fi;
	@rm ext2img
	@rm -rf tmp
#-----------------------------------------------------------------------------
clean::
	@rm -f fs.img
	@rm -rf root
