DEFAULT_JUMP=0x80500000
RTL8186_BOOTCODE=0
RTL865X_BOOTCODE=1

CROSS_KERNEL_COMPILE = $(CROSS_PATH)$(KRL_CROSS)
export MAKEARCH_KERNEL := $(MAKE) V=1 ARCH=$(KERNELARCH) CROSS_COMPILE=$(CROSS_KERNEL_COMPILE)

MAKE = make
ifeq ($(RTL8186_BOOTCODE),1)
	ARCH+=RTL8186=1 
endif
ifeq ($(RTL865X_BOOTCODE),1)
	ARCH+=RTL865X=1	
endif

include .config
include $(LINUX_CONFIG)

ifeq ($(CONFIG_DEFAULTS_REALTEK_RTL8196B),y)
	ARCH=RTL8196B=1
endif

all:
	make -C boot boot JUMP_ADDR=$(DEFAULT_JUMP) $(ARCH)
	make -C btcode $(ARCH)
	make -C boot wboot $(ARCH)

#32-bit 16M SDRAM
boot:
	make -C boot
32bit: 
	make -C boot boot JUMP_ADDR=$(DEFAULT_JUMP) $(ARCH)
	make -C btcode $(ARCH)

bk:
	make -C boot boot JUMP_ADDR=0x80300000 $(ARCH) BK=1
	make -C btcode $(ARCH) BK=1
gr:
	make -C boot boot JUMP_ADDR=$(DEFAULT_JUMP) $(ARCH) GR=1
	make -C btcode $(ARCH) GR=1
sc: 
	make -C boot boot JUMP_ADDR=$(DEFAULT_JUMP) $(ARCH) SC=1
	make -C btcode $(ARCH) SC=1	

#16-bit 8M SDRAM
16bit:	
	make -C boot boot JUMP_ADDR=$(DEFAULT_JUMP) $(ARCH)
	make -C btcode 16B=1  $(ARCH)

#32-bit 16M SDRAM for TR
tr:
	make -C boot boot JUMP_ADDR=$(DEFAULT_JUMP) $(ARCH) TR=1
	make -C btcode $(ARCH) TR=1	
clean:
	make -C boot clean
	make -C btcode clean
		
wboot16: clean
	make -C boot boot JUMP_ADDR=$(DEFAULT_JUMP) $(ARCH) 
	make -C btcode 16B=1 $(ARCH)
	make -C boot wboot $(ARCH)

wboot32: clean
	make -C boot boot JUMP_ADDR=$(DEFAULT_JUMP) $(ARCH)
	make -C btcode  $(ARCH)	
	make -C boot wboot $(ARCH)
	
test:
	make -C boot test	
.PHONY: config.tk config.in

config.in:
	config/mkconfig > config.in

config.tk: config.in
	$(MAKE) -C $(SCRIPTSDIR) tkparse
	ARCH=dummy $(SCRIPTSDIR)/tkparse < config.in > config.tmp
	@if [ -f /usr/local/bin/wish ]; then \
                echo '#!'"/usr/local/bin/wish -f" > config.tk; \
        else \
                echo '#!'"/usr/bin/wish -f" > config.tk; \
        fi
	cat $(SCRIPTSDIR)/header.tk >> ./config.tk
	cat config.tmp >> config.tk
	rm -f config.tmp
	echo "set defaults \"/dev/null\"" >> config.tk
	echo "set help_file \"config/Configure.help\"" >> config.tk
	cat $(SCRIPTSDIR)/tail.tk >> config.tk
	chmod 755 config.tk

.PHONY: menuconfig
menuconfig: config.in

	$(MAKE) -C $(SCRIPTSDIR)/lxdialog clean all
	@HELP_FILE=config/Configure.help \
	$(CONFIG_SHELL) $(SCRIPTSDIR)/Menuconfig config.in
	@if [ ! -f .config ]; then \
		echo; \
		echo "You have not saved your config, please re-run make config"; \
		echo; \
		exit 1; \
	fi
