CFLAGS=-Imalloc $(CCFLAGS)
OBJ=bt.o mpr.o gmalloc.o mcheck.o
LIB=libmpr.a
EXE1=mpr mprfilter mprmap mprfl mprcc mprlk mprsz mprhi
EXE2=mprnm mprpc
EXE3=mprdem
EXE=$(EXE1) $(EXE2) $(EXE3)
LIBDIR=/usr/local/lib
BINDIR=/usr/local/bin

all: $(LIB) $(EXE3)

libmpr.a: $(OBJ)
	ar cr libmpr.a $(OBJ)
	-(ranlib libmpr.a; exit 0) >/dev/null 2>&1

mprdem:
	cd demangle; make
	ln -s demangle/mprdem mprdem

gmalloc.o: malloc/gmalloc.c
	$(CC) -c -DAUTOMCHECK -DAUTOMPR -DUSG $(CFLAGS) malloc/gmalloc.c

mcheck.o: malloc/mcheck.c
	$(CC) -c $(CFLAGS) malloc/mcheck.c

bt.c:
	@(echo "*** You forgot to run configure" >&2; exit 1)

$(EXE1): ;

$(EXE2): bt.c

install: libmpr.a $(EXE) uninstall
	for f in $(LIB); do cp $$f $(LIBDIR)/$$f; done
	for f in $(EXE); do cp $$f $(BINDIR)/$$f; done

uninstall:
	for f in $(LIB); do rm -f $(LIBDIR)/$$f; done
	for f in $(EXE); do rm -f $(BINDIR)/$$f; done

clean:
	rm -f *.o core bt.c $(EXE2) $(EXE3) $(LIB)
	cd demangle; make clean
	cd example; make clean
