CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
	  else if [ -x /bin/bash ]; then echo /bin/bash; \
	  else if [ -x /usr/bin/bash ]; then echo /usr/bin/bash; \
	  else if [ -x /usr/local/bin/bash ]; then echo /usr/local/bin/bash; \
	  else echo sh; fi ; fi ; fi ; fi)
TOPDIR	:= $(shell /bin/pwd)

# HOSTCC  	= gcc
HOSTCC 	= unset GCC_EXEC_PREFIX; $(shell if [ -x /usr/bin/gcc ]; \
	then echo /usr/bin/gcc; \
	else if [ -x /usr/bin/cc ]; then echo /usr/bin/cc; \
	else echo gcc; fi ; fi)
HOSTCFLAGS	= -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer

# CROSS_COMPILE 	=
CROSS_COMPILE   = mips-


#
# Include the make variables (CC, etc...)
#

AS		= $(CROSS_COMPILE)as
LD		= $(CROSS_COMPILE)ld
CC		= $(CROSS_COMPILE)gcc
CPP		= $(CC) -E
AR		= $(CROSS_COMPILE)ar cr
NM		= $(CROSS_COMPILE)nm
STRIP		= $(CROSS_COMPILE)strip
OBJCOPY		= $(CROSS_COMPILE)objcopy
OBJDUMP		= $(CROSS_COMPILE)objdump
MAKEFILES	= $(TOPDIR)/.config
GENKSYMS	= /sbin/genksyms
DEPMOD		= /sbin/depmod
MODFLAGS	= -DMODULE
CFLAGS_KERNEL	=
PERL		= perl

export	VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION KERNELRELEASE ARCH \
	CONFIG_SHELL TOPDIR HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \
	CPP AR NM STRIP OBJCOPY OBJDUMP MAKE MAKEFILES GENKSYMS MODFLAGS PERL \
	CONFIG_UCLINUX 

all:	do-it-all

#
# standard CFLAGS
#

GENFLAGS := -mno-gpopt #-fno-pic -mno-abicalls
GENFLAGS += -fno-builtin -EB -G 0 -Os
# GENFLAGS += -D_MIPS_
GENFLAGS += -D__BIG_ENDIAN
GENFLAGS += -I$(TOPDIR)/include
GENFLAGS += -I$(TOPDIR)
GENFLAGS += -I$(shell cd ../../linux/include; pwd)

CFLAGS := $(GENFLAGS) -Wall -Wno-trigraphs -fno-strict-aliasing
# CFLAGS += -O1

# add by hook 20030602, for MSP2100 CPU
CFLAGS += -D_MSP2100
#CFLAGS += -D_Brecis_Demo_Board

ASFLAGS := $(GENFLAGS) -D__ASSEMBLY__ -DLANGUAGE_ASSEMBLY
ASFLAGS += -x assembler-with-cpp -traditional

export	GENFLAGS CFLAGS ASFLAGS

GUNZIPLDFLAGS := -N -M -T gunzip.lk -nostdlib

GUNZIPDEPLIBS = romcode/romcode.a
GUNZIPDEPLIBS += ramcode/ramcode.a
GUNZIPDEPLIBS += util/util.a

do-it-all: gunzip 

gunzip: gunzip-elf
	$(OBJCOPY) -O binary $< $@

gunzip-elf: $(GUNZIPDEPLIBS)
	$(LD) $(GUNZIPLDFLAGS) $(GUNZIPDEPLIBS) $(GUNZIPDEPLIBS) -o $@ > $@.map

FORCE:

clean: CMD = clean

clean:  $(GUNZIPDEPLIBS)
	rm -f gunzip-elf gunzip-elf.map gunzip

$(GUNZIPDEPLIBS) : FORCE
	cd $(@D);$(MAKE) $(CMD)

include $(TOPDIR)/rules.mk


