TARGET	= gdb-stub
CSRCS	= gdb-stub.c gdb-stub-common.c serial.c lib.c debug.c
ASMSRCS	= startup.s
OBJS	= $(ASMSRCS:%.s=%.o) $(CSRCS:%.c=%.o)
LDSCRIPT	= memory.def
#CFLAGS	= -O -DSH2A -DDEBUG
CFLAGS	= -O

# for KPIT gcc
# Eclipse Environment PATH = c:\kpit-gcc\sh-elf\bin;C:\kpit-gcc\bin
#CC = c:/kpit-gcc/sh-elf/bin/sh-elf-gcc
#GCCVER = 4.5-GNUSH_v10.03
#LD = c:/kpit-gcc/sh-elf/bin/sh-elf-ld
#AS = c:/kpit-gcc/sh-elf/bin/sh-elf-as
#OBJCPY = c:/kpit-gcc/sh-elf/bin/sh-elf-objcopy
#OBJDUMP = c:/kpit-gcc/sh-elf/bin/sh-elf-objdump
#GCCLIB = c:/kpit-gcc/sh-elf/lib/gcc/sh-elf/$(GCCVER)/m2a
#STRIP = c:/kpit-gcc/sh-elf/bin/sh-elf-strip
#COPY = cp
#CFLAGS	+= -IC:/kpit-gcc/sh-elf/sh-elf/include
#CFLAGS	+= -IC:/kpit-gcc/sh-elf/sh-elf/optlibinc

# for gcc in Eclipse
# Eclipse Environment PATH = C:\MinGW\bin;C:\MinGW\msys\1.0\bin
CC = c:/cross-gcc/sh-tools/bin/sh-elf-gcc.exe
AS = c:/cross-gcc/sh-tools/bin/sh-elf-as.exe
LD = c:/cross-gcc/sh-tools/bin/sh-elf-ld.exe
OBJCPY = c:/cross-gcc/sh-tools/bin/sh-elf-objcopy.exe
OBJDUMP = c:/cross-gcc/sh-tools/bin/sh-elf-objdump.exe
COPY = c:/msys/1.0/bin/cp.exe
RM = c:/msys/1.0/bin/rm.exe

.SUFFIXES: .c .o
.SUFFIXES: .s .o

all : $(TARGET).elf

$(TARGET).elf :	$(OBJS) $(LDSCRIPT)
	$(LD) -Map $(TARGET).map -T $(LDSCRIPT) $(OBJS) -o $(TARGET).elf
	$(OBJCPY) -O ihex $(TARGET).elf $(TARGET).hex
	$(OBJCPY) -O srec $(TARGET).elf $(TARGET).mot
	$(OBJCPY) -O binary $(TARGET).elf $(TARGET).bin
	$(OBJDUMP) -D $(TARGET).elf > $(TARGET).txt

.c.o :
	$(CC) -c -g -m2a -DSH2A -DBIG_ENDIAN $(CFLAGS) $<

.s.o :
	$(AS) $< -g -o $@

.S.o :
	$(CC) -c -g -m2a -DSH2A -DBIG_ENDIAN $(CFLAGS) $<

clean:
	$(RM) -f $(OBJS) $(TARGET) $(TARGET).map $(TARGET).elf $(TARGET).mot $(TARGET).bin $(TARGET).hex $(TARGET).txt 
