#
# Makefile for e2fsck
#

CC=		gcc
MK_CMDS=	../lib/ss/mk_cmds
CFLAGS=		$(PROF) $(OPT) $(MTRACE) $(MCHECK) -Wall -I../lib
LDFLAGS=	$(PROF) $(OPT)
PROGS=		e2fsck flushb
MANPAGES=	e2fsck.8 mke2fs.8 mklost+found.8
BINDIR=		/etc
ETCDIR=		/etc
MANDIR=		/usr/man/man8

LIBS= -L../lib -lss -lcom_err -lext2fs $(CHECKLIB)
DEPLIBS= ../lib/libss.a ../lib/libcom_err.a ../lib/libext2fs.a

#
# Optimization flags
#
#OPT=	-g -O
OPT=	-O2 -fomit-frame-pointer

#
# Flags for using Checker
#	Note: The optimization flags must include -g
#
#MCHECK=	-checker
#LIBS= -L../lib -lss -lcom_err -lext2fs $(CHECKLIB)
#DEPLIBS= ../lib/libss.a ../lib/libcom_err.a ../lib/libext2fs.a
#CHECKLIB= /usr/lib/libchecker.o

#
# Flags for doing mtrace --- uncomment to produce mtracing e2fsck
# 	Note:  The optimization flags must include -g
#
#MTRACE=	-DMTRACE
#MTRACE_OBJ= mtrace.o
#OPT= -g

#
# Flags for doing mcheck --- uncomment to produce mchecking e2fsck
# 	Note:  The optimization flags must include -g
#
#MCHECK= -DMCHECK

#
# Flags for profiling --- uncomment to produce profiling e2fsck
#
#PROF=		-pg
#LIBS= -L../lib -lss -lcom_err_p -lext2fs_p 
#DEPLIBS= ../lib/libss.a ../lib/libcom_err_p.a ../lib/libext2fs_p.a

OBJS= e2fsck.o pass1.o pass1b.o pass2.o pass3.o pass4.o pass5.o \
	util.o dirinfo.o $(MTRACE_OBJ)

all: $(PROGS)

e2fsck: $(OBJS)  $(DEPLIBS)
	cc $(LDFLAGS) -o e2fsck $(OBJS) $(LIBS) 

flushb: flushb.o
	cc $(LDFLAGS) -o flushb flushb.o $(CHECKLIB)

clean:
	rm -f $(PROGS) \#* *\# *.s *.o *.a *~ core

really-clean:
	rm -f .depend

dep depend:
	$(CPP) $(CFLAGS) -M *.c >.depend

include .depend
