#
# utils/Makefile - Makefile for kboot utilities
#
# Written 2005, 2007 by Werner Almesberger
#

CC=$(CROSS)gcc
CFLAGS=-Wall -g

include ../VERSIONS

EXT2_FS_H=../linux-$(KERNEL_VERSION)/include/linux/ext2_fs.h
EXT3_FS_H=../linux-$(KERNEL_VERSION)/include/linux/ext3_fs.h
MAGIC_H=../linux-$(KERNEL_VERSION)/include/linux/magic.h


.PHONY:	all clean spotless

all:	$(CROSS)readline $(CROSS)getctty $(CROSS)fsbyname

$(CROSS)readline: \
	  readline.c
	$(CC) $(CFLAGS) -o $@ $<

$(CROSS)getctty: \
	  getctty.c
	$(CC) $(CFLAGS) -o $@ $<

$(CROSS)fsbyname: \
	  fsbyname.c ext2_sb.h ext3_sb.h magic.h
	$(CC) $(CFLAGS) -I../linux-$(KERNEL_VERSION)/include -o $@ $<

ext2_sb.h: \
	  $(EXT2_FS_H)
	sed '/EXT2_SUPER_MAGIC/p;/^struct ext2_super_block {/,/^};/p;d' \
	  <$< >$@ || \
	  { rm -f $@; exit 1; }

ext3_sb.h: \
	  $(EXT3_FS_H)
	sed '/EXT3_SUPER_MAGIC/p;/^struct ext3_super_block {/,/^};/p;d' \
	  <$< >$@ || \
	  { rm -f $@; exit 1; }

ifeq ($(MAGIC_H),$(wildcard $(MAGIC_H)))
magic.h: $(MAGIC_H)
	cp $(MAGIC_H) $@
else
magic.h:
	touch $@
endif

clean:
	rm -f readline getctty fsbyname
	rm -f uclibc-readline uclibc-getctty uclibc-fsbyname
	rm -f ext2_sb.h ext3_sb.h

spotless: \
	clean
