VERSION_MAJOR = 1
VERSION_MINOR = 0
VERSION_MICRO = 0

all: params-itsy

AWK = awk

DEFS = -DVERSION_MAJOR=$(VERSION_MAJOR) -DVERSION_MINOR=$(VERSION_MINOR) -DVERSION_MICRO=$(VERSION_MICRO)

ASMFLAGS = -x assembler-with-cpp -c $(DEFS)
CFLAGS = $(CDEFS) $(DEFS) -O -fPIC
CLIBS = -L/skiff/local/lib/gcc-lib/arm-linux/2.95.2 -lgcc -lc
OSDEFS =   

CROSS_COMPILE = arm-linux-
ASM = gcc
CC = gcc
LD = ld
STRIP = strip
NM = nm
OBJCOPY = objcopy
OBJCOPYFLAGS = -R .comment -R .stabs -R .stabstr

CDEFS = -DBOOTLDR -DDATE=\"`date +%y-%m-%d_%H:%M`\" $(OSDEFS)

HDRS=ARMv4.h Itsy.h SA-1100.h bitfield.h cmptblty.h config.h cp15.h \
     io.h itsy_console.h kdev_t.h major.h monpar.h setup.h

LDFLAGS = -Ttext=0x00060000 -Tdata=0x0006d000 -Bstatic 

OBJS = params.o lnxstart.o


#
# patch the a.out header with a branch around itself.
# needs to be done for the first download of a new
# a.out bootldr.
# The a.out bootldr will patch the header iff it detects an ARM
# ZMAGIC magic number.
#

params-itsy: $(HDRS) $(OBJS)
	$(CROSS_COMPILE)$(LD) -v $(LDFLAGS) -o params-itsy-elf $(OBJS) $(CLIBS)
	$(CROSS_COMPILE)$(OBJCOPY) -O binary -S params-itsy-elf params-itsy $(OBJCOPYFLAGS)

bootldr.hex: bootldr
	hexdump -v -e '"0x%x\n"' bootldr > bootldr.hex

params.o: params.c $(HDRS)
	$(CROSS_COMPILE)$(CC) $(CFLAGS) -c params.c

lnxstart.o: lnxstart.c $(HDRS)
	$(CROSS_COMPILE)$(CC) $(CFLAGS) -c lnxstart.c

clean:
	rm -f $(OBJS) params-itsy params-itsy-elf

