##/*-------------------------------------------------------------------
##		Created by REALTEK  
##--------------------------------------------------------------------*/


ifeq ($(16B),1)
EXTRA_CFLAGS =
else
EXTRA_CFLAGS = -DMEMORY_32_BIT_MODE
endif

ifeq ($(RTL8186),1)
EXTRA_CFLAGS += -DRTL8186=1
endif

bootload:	bootload.c start.S gunzip.c piggy.S
	sync;sync;sync
	mips-linux-gcc -g  -I../boot/include -fno-pic -mno-abicalls -O2 -fomit-frame-pointer -D__KERNEL__ $(EXTRA_CFLAGS) -c piggy.S -o piggy.o 
	mips-linux-gcc  -mips1 -g  -fomit-frame-pointer -nostdinc -fno-pic -mno-abicalls  -D__KERNEL__ $(EXTRA_CFLAGS)  -c bootload.c -o bootload.o

	mips-linux-gcc -g  -I../boot/include -fno-pic -mno-abicalls -O2 -fomit-frame-pointer -D__KERNEL__ $(EXTRA_CFLAGS) -c gunzip.c -o gunzip.o
	cat boot.img | gzip -9 > boot.img.gz
	mips-linux-objcopy --add-section .initrd=boot.img.gz piggy.o
	
	mips-linux-ld  -X -nostdlib -Tpiggy.script  --static piggy.o bootload.o gunzip.o -o piggy.elf
	mips-linux-objcopy  -Obinary piggy.elf piggy.bin


	mips-linux-gcc -I../boot/include -fno-pic -mno-abicalls -O2 -fomit-frame-pointer -D__KERNEL__ $(EXTRA_CFLAGS) -c start.S -o start.o 
	mips-linux-objcopy --add-section .initrd=piggy.bin start.o
	mips-linux-ld -X -nostdlib -Tld.script start.o -o boot.elf
	mips-linux-objcopy -Obinary boot.elf boot 
	mips-linux-objdump -h -S   boot.elf > boot.elf.txt 
	mips-linux-nm boot.elf  | sort > system.map
	./cvimg boot boot boot.bin 0 0

clean:
	rm -f boot boot.elf boot.elf.txt system.map piggy.bin piggy.elf piggy.o
	rm -f bootload.o start.o boot.bin  gunzip.o boot.img.gz
	 
