
dummy: all

#
# standard CFLAGS
#

CFLAGS = -Wall

AS86	=as86 -0 -a
LD86	=ld86 -0
CPP	=$(CC) -E

EXT2OBJS = ext2boot0.o ext2boot1.o

.s.o:
	$(AS) -c -o $*.o $<

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

all: boothd bootfd ib

setup.s: setup.S fsboot.h /sys/include/linux/config.h
	$(CPP) -traditional $< -o $@

setup.o: setup.s
	$(AS86) -o $@ $<

boothd: ext2hd0.o ext2boot1.o setup.o
	$(LD86) -s ext2hd0.o ext2boot1.o setup.o
	(if [ -f $@ ] ; then mv $@ $@.old; fi)
	dd if=a.out of=$@ bs=32 skip=1
	rm a.out

bootfd: ext2fd0.o ext2boot1.o setup.o
	$(LD86) -s ext2fd0.o ext2boot1.o setup.o
	(if [ -f $@ ] ; then mv $@ $@.old; fi)
	dd if=a.out of=$@ bs=32 skip=1
	rm a.out

ext2fd0.o: ext2fd0.s
	$(AS86) -o $@ $<

ext2fd0.s: ext2boot0.S fsboot.h ext2boot.h /sys/include/linux/config.h
	$(CPP) -traditional -DFLOPPY_BOOT $< -o $@

ext2hd0.o: ext2hd0.s
	$(AS86) -o $@ $<

ext2hd0.s: ext2boot0.S fsboot.h ext2boot.h /sys/include/linux/config.h
	$(CPP) -traditional $< -o $@

ext2boot1.o: ext2boot1.s
	$(AS86) -o $@ $<

ext2boot1.s: ext2boot1.S fsboot.h ext2boot.h /sys/include/linux/config.h
	$(CPP) -traditional $< -o $@

w2: boothd ib
	cp $< /
	(PARAM=`ib /$<` && \
	A=`echo $$PARAM | awk -F: '{print $$1}'` && \
	echo $$A && \
	dd if=/$< of=$$A bs=1k count=1)

w2f: bootfd ib
	cp $< /mnt
	(PARAM=`ib /mnt/$<` && \
	A=`echo $$PARAM | awk -F: '{print $$1}'` && \
	echo $$A && \
	dd if=/mnt/$< of=$$A bs=1k count=1)

ib: ib.c
	$(CC) -o ib ib.c

tar:
	tar -cf ../fsboot-1.0.tar ../fsboot-1.0

clean:
	rm *.[os] ib boot?d
