#Makefile for minixfs and friends

CFLAGS = -Wall -mshort -O2 -fomit-frame-pointer -I.

# Get the directories to install everything

include dirs

all: minit$(TTP) mfsconf$(TTP) mount$(TTP) minix.xfs fsck$(TTP) flist$(TTP) \
csize$(TTP)

install: minit$(TTP) mfsconf$(TTP) mount$(TTP) flist$(TTP)
	$(MAKE) -C fsck install
	$(MAKE) -C minixfs install
	$(INSTALL) minit$(TTP) mfsconf$(TTP) mount$(TTP) flist$(TTP) $(UTILDIR)

AUXOBJS= tinyxhdi.o hdio.o

minit$(TTP): minit.o $(AUXOBJS)
	$(CC) -s -o minit$(TTP) $(CFLAGS) minit.o $(AUXOBJS) -liio16

mfsconf$(TTP): mfsconf.c
	$(CC) -s -o mfsconf$(TTP) $(CFLAGS) mfsconf.c -liio16

csize$(TTP): csize.c
	$(CC) -s -o csize$(TTP) $(CFLAGS) csize.c -liio16

mount$(TTP): mount.c
	$(CC) -s -o mount$(TTP) $(CFLAGS) mount.c -liio16

flist$(TTP): flist.c
	$(CC) -s -o flist$(TTP) $(CFLAGS) flist.c -liio16

tinyxhdi.o: minixfs/tinyxhdi.c
	$(CC) $(CFLAGS) -DTINY_XHDI -c minixfs/tinyxhdi.c

hdio.o: minixfs/hdio.c
	$(CC) $(CFLAGS) -c minixfs/hdio.c

minix.xfs:
	$(MAKE) CC="$(CC)" -C minixfs

.PHONY: fsck$(TTP)
fsck$(TTP):
	$(MAKE) CC="$(CC)" -C fsck

clean: 
	$(MAKE) CC="$(CC)" -C minixfs clean
	$(MAKE) CC="$(CC)" -C fsck clean
	rm -f $(AUXOBJS) minit.o
clobber:
	$(MAKE) CC="$(CC)" -C minixfs clobber
	$(MAKE) CC="$(CC)" -C fsck clobber
	rm -f minit($TTP) mfsconf$(TTP) mount$(TTP) flist$(TTP) $(AUXOBJS) minit.o 
