
            BINDIR = /usr/bin
            MANDIR = /usr/man/man1
          LINUXSRC = /usr/src/linux

# -D_BSD_SOURCE is required in order to use scandir in lsattr.c

            WFLAGS = -Wall -Wshadow -Wpointer-arith -Wcast-align -Wstrict-prototypes
            #CFLAGS = -O2 -fomit-frame-pointer $(WFLAGS)
            CFLAGS = -g -O $(WFLAGS)
          CPPFLAGS = -D_BSD_SOURCE
           LDFLAGS = #-N -s

 all: e2ratio e2compress

 install: all
	 install -m 755 e2ratio      $(BINDIR)
	 install -m 755 e2compress   $(BINDIR)
	 #ln -f $(BINDIR)/e2compress $(BINDIR)/e2uncompress
	 install -m 644 e2ratio.1    $(MANDIR)
	 install -m 644 e2compress.1 $(MANDIR)

 chattr.install: chattr
	 install -m 755 chattr       $(BINDIR)

 clean:
	 find . -name '*.o' -exec rm -f {} \;
	 find . -name '*~'  -exec rm -f {} \;
	 rm -f chattr e2ratio e2compress
	 rm -rf zlib

 .EXPORT_ALL_VARIABLES:

	ZLIB_SUBDIR = zlib

 e2compress: zlib e2compress.o zlib/adler32.o zlib/lzv1.o zlib/gziputil.o zlib/deflate.o zlib/inflate.o zlib/lzrw3a.o zlib/none.o zlib/infblock.o zlib/infcodes.o zlib/inftrees.o zlib/trees.o zlib/infutil.o zlib/inffast.o
	 $(CC) -o e2compress e2compress.o zlib/adler32.o zlib/lzv1.o zlib/gziputil.o zlib/deflate.o zlib/inflate.o zlib/lzrw3a.o zlib/none.o zlib/infblock.o zlib/infcodes.o zlib/inftrees.o zlib/trees.o zlib/infutil.o zlib/inffast.o

# Handling of zlib could be made better.
.PHONY : zlib

ZSRC = 	 $(LINUXSRC)/fs/ext2/adler32.c \
	 $(LINUXSRC)/fs/ext2/lzv/lzv1.c \
	 $(LINUXSRC)/fs/ext2/lzrw/lzrw3a.c \
	 $(LINUXSRC)/fs/ext2/lzrw/lzrw.h \
	 $(LINUXSRC)/fs/ext2/none.c \
	$(LINUXSRC)/fs/ext2/gzip/deflate.c \
	$(LINUXSRC)/fs/ext2/gzip/deflate.h \
	$(LINUXSRC)/fs/ext2/gzip/gziputil.c \
	$(LINUXSRC)/fs/ext2/gzip/infblock.c \
	$(LINUXSRC)/fs/ext2/gzip/infblock.h \
	$(LINUXSRC)/fs/ext2/gzip/infcodes.c \
	$(LINUXSRC)/fs/ext2/gzip/infcodes.h \
	$(LINUXSRC)/fs/ext2/gzip/inffast.c \
	$(LINUXSRC)/fs/ext2/gzip/inffast.h \
	$(LINUXSRC)/fs/ext2/gzip/inflate.c \
	$(LINUXSRC)/fs/ext2/gzip/inftrees.c \
	$(LINUXSRC)/fs/ext2/gzip/inftrees.h \
	$(LINUXSRC)/fs/ext2/gzip/infutil.c \
	$(LINUXSRC)/fs/ext2/gzip/infutil.h \
	$(LINUXSRC)/fs/ext2/gzip/trees.c \
	$(LINUXSRC)/fs/ext2/gzip/zconf.h \
	$(LINUXSRC)/fs/ext2/gzip/zlib.h \
	$(LINUXSRC)/fs/ext2/gzip/zutil.h

 zlib:
	rm -rf zlib
	 mkdir zlib
#zlib/adler32.c zlib/lzv1.c zlib/gziputil.c zlib/deflate.c zlib/inflate.c zlib/lzrw3a.c zlib/none.c zlib/zlib.h zlib/zconf.h zlib/lzrw.h zlib/deflate.h zlib/inflate.h zlib/zutil.h
	 ln -s $(LINUXSRC)/fs/ext2/adler32.c zlib
	 ln -s $(LINUXSRC)/fs/ext2/lzv/lzv1.c zlib
	 ln -s $(LINUXSRC)/fs/ext2/lzrw/lzrw3a.c zlib
	 ln -s $(LINUXSRC)/fs/ext2/lzrw/lzrw.h zlib
	 ln -s $(LINUXSRC)/fs/ext2/gzip/*.[ch] zlib
	 ln -s $(LINUXSRC)/fs/ext2/none.c zlib

zlib.o: zlib dummy
	test ! -d $(ZLIB_SUBDIR) || \
	  set -e; $(MAKE) -C $(ZLIB_SUBDIR); cp $(ZLIB_SUBDIR)/zlib.o .

dep:
	$(CPP) -M *.c > .depend
	test ! -d $(ZLIB_SUBDIR) || $(MAKE) -C $(ZLIB_SUBDIR) dep

dummy:

#
# include a dependency file if one exists
#

ifeq (.depend,$(wildcard .depend))
include .depend
endif
