# Makefile for the boot monitor package.

SYS=	../..

CC=	cc
CC86=	cc -mi86
CFLAGS=	-I$(SYS) $(OPT)
LD=	$(CC) -.o
LD86=	$(CC86) -.o
BIN=	/usr/sbin
MDEC=	/usr/mdec
MAN=	/usr/man

all:	bootblock boot dosboot.com masterboot extboot installboot edparams

bootblock:	bootblock.ack.s
	$(LD86) -com -o $@ bootblock.ack.s

masterboot:	masterboot.ack.s
	$(LD86) -com -o $@ masterboot.ack.s

extboot:	extboot.ack.s
	$(LD86) -com -o $@ extboot.ack.s

boot.o:	boot.c
	$(CC86) $(CFLAGS) -c boot.c

bootimage.o:	bootimage.c
	$(CC86) $(CFLAGS) -c bootimage.c

rawfs86.o:	rawfs.c rawfs.o
	$(CC86) $(CFLAGS) -o $@ -c rawfs.c
	-cmp -s rawfs.o rawfs86.o && ln -f rawfs.o rawfs86.o

boot:	boothead.ack.s boot.o bootimage.o rawfs86.o
	$(LD86) -stack 12kb -o $@ \
		boothead.ack.s boot.o bootimage.o rawfs86.o

dosboot.o:	boot.c
	$(CC86) $(CFLAGS) -DDOS -o $@ -c boot.c

dosboot:	doshead.ack.s dosboot.o bootimage.o rawfs86.o
	$(LD86) -com -o $@ \
		doshead.ack.s dosboot.o bootimage.o rawfs86.o

dosboot.com:	dosboot
	./a.out2com dosboot dosboot.com

installboot:	installboot.o rawfs.o
	$(CC) -fnone -o installboot installboot.o rawfs.o

edparams:	edparams.c
	$(CC) -fnone $(CFLAGS) -o edparams edparams.c

installboot.o bootimage.o: image.h
boot.o bootimage.o: boot.h
rawfs.o rawfs86.o installboot.o boot.o bootimage.o: rawfs.h

install:	$(MDEC)/bootblock $(MDEC)/boot $(MDEC)/dosboot.com \
		$(MDEC)/masterboot $(MDEC)/extboot \
		$(BIN)/installboot $(BIN)/edparams \
		$(MAN)/man8/installboot.8 $(MAN)/man8/monitor.8

$(MDEC)/bootblock:	bootblock
	install -cs -m 644 $? $@

$(MDEC)/boot:		boot
	install -cs -m 644 $? $@

$(MDEC)/dosboot.com:	dosboot.com
	install -lc -m 644 $? $@

$(MDEC)/masterboot:	masterboot
	install -cs -m 644 $? $@

$(MDEC)/extboot:	extboot
	install -cs -m 644 $? $@

$(BIN)/installboot:	installboot
	install -lc $? $@

$(BIN)/edparams:	edparams
	install -lc $? $@

$(MAN)/man8/installboot.8:	installboot.8
	install -lc $? $@

$(MAN)/man8/monitor.8:	monitor.8
	install -lc $? $@

clean:
	rm -f *.bak *.o
	rm -f bootblock installboot boot dosboot dosboot.com \
		masterboot extboot edparams
