##--------------------------------------------------------------------------##
#
# VME Linux/m68k TFTP Boot Loader
#
# Makefile
#

# Possible options:
#
# BOOTINFO_COMPAT_1_0:
#   Include support for booting kernel with bootinfo version 1.0 (up to 2.0.x)
#
# DEFAULT_CONFIG_FILE_NAME:
#   The default name of the boot loader configuration file. It may include
#   one or more %C, %S, %G, %B or %M escape sequences that will be replaced
#   with the corresponding IP address in the form of n.n.n.n (see substip()).
#   With the BVME and MVME versions it is possible to override this default
#   by configuring the boot ROMs to pass a parameter string to "tftplilo"
#   which it uses as the configuration file name.
#
OPTIONS				=	-DBOOTINFO_COMPAT_1_0 \
						-DDEFAULT_CONFIG_FILE_NAME=\"tftplilo.conf\"

DESTDIR				=	
ifneq ($(shell uname -m),m68k)
 CROSS_COMPILE		=	m68k-linux-
else
 CROSS_COMPILE		=	
endif

AS					=	$(CROSS_COMPILE)as
LD					=	$(CROSS_COMPILE)ld
CC					=	$(CROSS_COMPILE)gcc
CFLAGS				=	-O2 -fomit-frame-pointer -Wall -m68060 $(OPTIONS)
INSTALL				=	install
MAKE				=	make

COMMON_FILES		=	head.o main.o misc.o config.o boot.o stream.o \
					 	memory_mod.o gunzip_mod.o
BVME_FILES			=	$(COMMON_FILES) bvme.o
MVME_FILES			=	$(COMMON_FILES) mvme.o

##--------------------------------------------------------------------------##
# Targets
#
all: tftplilo.bvme tftplilo.mvme

tftplilo.bvme:	$(BVME_FILES) bvme.ld
				$(LD) -T bvme.ld $(BVME_FILES) -o tftplilo.bvme \
					-oformat binary -M >tftplilo.bvme.map

tftplilo.mvme:	$(MVME_FILES) mvme.ld
				$(LD) -T mvme.ld $(MVME_FILES) -o tftplilo.mvme \
					-oformat binary -M >tftplilo.mvme.map

##--------------------------------------------------------------------------##
# Dependencies
#
gunzip_mod.o	: defs.h bootinfo.h stream.h inflate.c
$(COMMON_FILES) : defs.h bootinfo.h stream.h
bvme.o          : defs.h bootinfo.h bvmbug.h
mvme.o			: defs.h bootinfo.h mvmebug.h

##--------------------------------------------------------------------------##
# Installation
#

install:	tftplilo.bvme tftplilo.mvme
	$(INSTALL) -o root -g disk -m 2775 -d $(DESTDIR)/boot
	$(INSTALL) -o root -g root -m 0644 tftplilo.bvme $(DESTDIR)/boot/
	$(INSTALL) -o root -g root -m 0644 tftplilo.mvme $(DESTDIR)/boot/

##--------------------------------------------------------------------------##
# Clean up
#

clean:
		rm -f *.bvme *.mvme *.o *.map

dist:
		make clean
		make all
		rm -f *.o *.map
		tar -C .. -cvzf ../$$(basename $$(pwd)).tgz $$(basename $$(pwd))

##--------------------------------------------------------------------------##
# General rules
#

%.o:			%.c
				$(CC) $(CFLAGS) -c $< -o $*.o

##-----------------------------< end of file >------------------------------##
