# /**
# @file	Makefile
# @brief	A 512-byte boot manager.for boot
# Copyright (c) kaworu
# $Id: Makefile,v 1.1.1.1 2003/10/12 18:01:01 kaworu Exp $
# @author	kaworu
# @date	since 2002/10/13 update: $Date: 2003/10/12 18:01:01 $
# @version	$Revision: 1.1.1.1 $
# */

.SUFFIXES: .c .s .o .out
TARGET=		boot.img
CC=		/usr/bin/gcc
CLEANFILES+=	*.c~ *.o
CFLAGS=		-Wall -O2				\
		-fno-common				\
		-finhibit-size-directive		\
		-fno-ident				\
		-fomit-frame-pointer -fcall-used-ebx	\
		-I ../include

BINMODE=	444
M4?=		m4

HEAD=		boot.h
SRCS=		boot.S
OBJSA=		$(SRCS:.S=.o)
OBJS=		$(OBJSA:.c=.o)
OUTS=		$(OBJS:.o=.out)

all: $(TARGET)

#CFLAGS=		-fno-common -Wall -O2 -c		\
#		-finhibit-size-directive -fno-ident	\
#		-fomit-frame-pointer -fcall-used-ebx

$(TARGET): $(OUTS) wake.out
#	$(CC)	$(CFLAGS) crt.S -o crt.o
# 	$(LD)	-N -e _start -Ttext 0 crt.o -o boot \
# 		-Map boot.map
#	objcopy	-S -O binary boot boot.out

	dd if=/dev/zero of=$(TARGET) bs=512 count=2880
	dd if=boot of=$(TARGET) conv=notrunc
	dd if=wake.out of=$(TARGET) conv=notrunc seek=1 bs=512
#	dd if=kernel of=$(TARGET) conv=notrunc seek=1 bs=512
	dd if=kernel of=$(TARGET) conv=notrunc seek=3 bs=512
	cp boot.img ..
#	dd if=$(TARGET) of=$(TARGET) conv=notrunc seek=1 bs=512

.o.out: $(OBJS)
	$(LD)	-N -e _start -Ttext 0 $< -o $@ \
		-Map $@.map
	objcopy	-S -O binary $@ $(@:.out=)

.c.o: $(HEAD)
	$(CC) -c $(CFLAGS) $<


#crt.o	: crt.S
#	$(CPP) crt.S crt.s
#	$(AS) crt.s $(AFLAGS) --defsym FLAGS=$(BOOT_BOOTO_FLAGS) \
#		--defsym TICKS=$(BOOT_BOOTO_TICKS)  -o crt.o

clean	:
	-rm -f *.c~ *.o *.s~ *.txt~ a.out Makefile~ *.h~ *.s~ *.S~ *.img *.map $(TARGET) $(TARGET).img crt.s
lint	:
	$(LINT)	-C libc -h -c -g -I./ $(CSRC)

#.include <bsd.prog.mk>
