
# $Id: Makefile,v 1.1 2002/05/06 23:14:09 swahl Exp $

CFLAGS += -I. -O2 -Wall -g

DIRS = checkfs

# TARGETS = ftl_format erase eraseall nftldump nanddump doc_loadbios \
# nftl_format mkfs.jffs ftl_check nandtest nandwrite mkfs.jffs2 lock unlock \
# einfo mtd_debug fcp jffs2reader

TARGETS = mkfs.jffs2

SYMLINKS = crc32.h crc32.c compr_rtime.c compr_rubin.c compr.c pushpull.h histo_mips.h compr_rubin.h pushpull.c

all: $(TARGETS) $(DIRS)

$(DIRS)::
	$(MAKE) $(MFLAGS) -C $@ || exit 1

#$(TARGETS): % : %.o
#	$(LD) $(LDFLAGS) -o $@ $(LIBS) $< $(LDADD)

clean:
	rm -f *.o $(TARGETS) $(SYMLINKS) *.elf *.gdb
	for i in $(DIRS) ; do $(MAKE) $(MFLAGS) -C $$i clean || exit 1 ; done

mkfs.jffs2.o crc32.o: crc32.h
compr_rubin.o: pushpull.h histo_mips.h compr_rubin.h


$(SYMLINKS):
	ln -sf ../../linux/fs/jffs2/$@ $@

mkfs.jffs2: crc32.o compr_rtime.o compr.o mkfs.jffs2.o compr_zlib.o zlib.o compr_rubin.o pushpull.o
	$(CC) -o $@ $^

compr.o: compr.c
	$(CC) $(CFLAGS) -Dprintk=printf -DKERN_NOTICE= -DKERN_WARNING= -c -o $@ $<

compr_zlib.o: compr_zlib.c
	$(CC) $(CFLAGS) -Djffs2_zlib_decompress=zlib_decompress \
	-Djffs2_zlib_compress=zlib_compress -c -o $@ $<

zlib.o:  zlib.c zlib.h
	$(CC) $(CFLAGS) -UNO_ZCFUNCS -c -o $@ $<

jffs2reader: jffs2reader.c zlib.o
	$(CC) $(CFLAGS) jffs2reader.c -o jffs2reader

checkfs.img: $(DIRS) mkfs.jffs2
	rm -rf checkfs-dir
	mkdir checkfs-dir
	(cd checkfs-dir ; ../checkfs/makefiles -e)
	mkfs.jffs2 -d checkfs-dir -o checkfs.img -b -q -p
	rm -rf checkfs-dir


#------------------------------
install: $(TARGETS)
	$(CP) $(TARGETS) $(DESTSBIN)
	for i in $(DIRS) ; do $(MAKE) $(MFLAGS) -C $$i install || exit 1 ; done
