# 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/proc; \
		mkdir root/tmp; \
		if [ "${_SQUASHFS_SUPPORT}" == "1" ];then \
			ln -s /tmp/var root/var;\
			ln -s /tmp/mnt root/mnt;\
			ln -s /tmp/share root/share;\
		else \
			mkdir root/var; \
			mkdir root/mnt; \
		fi;\
		if [ "${_FTP_SERVER}" == "1" ];then \
			mkdir root/usr;\
			ln -s /var/config/share root/usr/share;\
		fi;\
		if [ "${_USE_OLD_SAMBA}" != "1" ];then \
			rm root/etc/samba/codepage.tgz;\
		fi;\
		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; \
		if [ "${_SQUASHFS_SUPPORT}" == "1" ];then \
			rm -f root/etc/fstab; \
			rm -f root/etc/config/dhcpd.lease; \
			ln -s /var/config/fstab root/etc/fstab; \
			ln -s /var/config/dhcpd.lease root/etc/config/dhcpd.lease; \
			ln -s /var/config/hosts root/etc/hosts; \
			ln -s /var/config/group root/etc/group; \
			ln -s /var/config/passwd root/etc/passwd; \
			ln -s /var/config/TZ root/etc/TZ; \
			ln -s /var/config/mini-lpd root/etc/mini-lpd; \
			ln -s /var/log/log root/dev/log; \
			if [ "${_STORAGE}" == "1" ]; then \
				rm -rf root/etc/samba root/etc/vsftpd.conf;\
				ln -s /var/config/samba root/etc/samba; \
				ln -s /var/config/vsftpd.conf root/etc/vsftpd.conf;\
				if [ "${_DAAP_SERVER}" == 1 ]; then\
					ln -s /var/config/mt-daapd.conf root/etc/mt-daapd.conf; \
				fi;\
			fi;\
		fi;\
		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  ;\
		if [ "${_STORAGE}" == "1" -a "${_DAAP_SERVER}" == 1 ]; then\
			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 libpopt.so.0.0.0 root/lib/libpopt.so.0  ;\
			if [ "${_FTP_ICONV_SUPPORT}" == "1" -o "${_USE_OLD_SAMBA}" != "1" ]; then\
				ln -s libiconv.so.2.4.0 root/lib/libiconv.so.2  ;\
			fi;\
		fi; \
		if [ "${_QUOTA}" == "1" -o "${_DDNS}" == "1" ]; then\
			ln -s libintl.so.1.0.1 root/lib/libintl.so.1 ;\
		else \
			rm -f root/lib/libintl* ;\
		fi; \
		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 ; \
		ln -s ./smbd root/sbin/nmbd;\
	fi;
	@if [ "${_QUOTA}" == "1" ]; then \
		rmdir root/home; \
		ln -s quotaon root/bin/quotaoff; \
		ln -s /mnt/Private root/home; \
	fi;
	
	@echo "make ramdisk and build ext2 filesystem"
	#---rootؿܦramdisk file---
	@rm -f fs.img
	@if [ "${_SQUASHFS_SUPPORT}" == "1" ];then \
		../mksquashfs_lzma root fs.img -le ;\
		chmod 755 fs.img ;\
	else \
		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 -b 1024 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;\
	fi;
#-----------------------------------------------------------------------------
clean::
	@rm -f fs.img
	@rm -rf root
