#
# Sample makefile for boot prom
#
# This makefile only works with GNU Make (gmake) 

vista	= /usr/proj/vista
libdir	= $(vista)/lib
VPATH	= $(vista)/include

CC	= sparc&&gcc -pipe
CFLAGS	= -I$(vista)/include
C++	= g++-2.2.2 -pipe
C++FLAGS= -O2 -I$(objdir) -I$(vista)/include
LD	= gld
LIBS	= $(libdir)/libc.a $(libdir)/libniusys.a

prom: $(libdir)/promstart.o prom.o $(LIBS)
	echo -n chksum of $@:\ 
	$(LD) -N -Ttext 0 -Tdata 001e0000 $^ -o $@
	strip $@
	sum32 < $@
	echo -n loading $@ ...\ 
	$(CC) $(CFLAGS) -DROM_CHECKSUM=`sum32 < $@` -c romchksum.c
	$(LD) -N -Ttext 0 -Tdata 001e0000 $^ romchksum.o -o $@
	echo done.
	rm -f prom.o romchksum.c
	echo Data Segment should contain only niu and edata
	nm prom | grep ' [Dd] '
	strip $@
	size $@
	echo chksum of $@: `sum32 < $@`

prom.srec: prom.hi.srec prom.lo.srec

%.hi.srec: %
	-strip $<
	dd skip=16 bs=2 conv=swab < $< 2> /dev/null | sieve | bin2hex $@

%.lo.srec: %
	-strip $<
	dd skip=17 bs=2 conv=swab < $< 2> /dev/null | sieve | bin2hex $@

