# Generated automatically from Makefile.in by configure.
# Copyright 1995 Barbara Liskov

TOP = ../..
srcdir = /export/home/thor/thor/or/mm
VPATH = /export/home/thor/thor/or/mm

include $(TOP)/config/Makedefs

CCCINCS = -I. -I.. -I$(srcdir) -I$(TOP) -I$(srcdir)/$(TOP) $(TCLINC)
CCCSRCS = $(srcdir)/*.cc $(LMMSRCS)

ifeq ($(HOSTTYPE),alpha)
BASESRCS = \
    dformat.cc \
    disk.cc \
    handle.cc \
    itable.cc \
    log.cc \
    logrecord.cc \
    mm.cc \
    mm_stats.cc \
    scache.cc \
    segment.cc \
    segtable.cc\
    prim_send_message.cc\
    prim_recv_message.cc\
    back_recv_message.cc\
    back_send_message.cc
else
BASESRCS = \
    dformat.cc \
    disk.cc \
    handle.cc \
    itable.cc \
    log.cc \
    logrecord.cc \
    mm.cc \
    mm_stats.cc \
    scache.cc \
    segment.cc \
    segtable.cc\
    prim_send_message.cc\
    prim_recv_message.cc\
    back_recv_message.cc\
    back_send_message.cc\
    AsynchIO.cc
endif

BASEOBJS = $(BASESRCS:.cc=.o)

INPLACESRCS = inplace.cc
INPLACEOBJS = $(INPLACESRCS:.cc=.o) $(BASEOBJS)

LMM     = $(srcdir)/lmm
LMMSRCS = $(LMM)/frag.cc $(LMM)/finfo.cc $(LMM)/lmm.cc $(LMM)/cleaner.cc
LMMOBJS = frag.o finfo.o lmm.o cleaner.o

TARGETS = libmm.a liblmm.a
DOCFILES = $(srcdir)/README.tex $(srcdir)/*.h $(srcdir)/*.cc

all: libmm.a

libmm.a: $(INPLACEOBJS)
	$(RM) $@
	$(AR) cq $@ $(INPLACEOBJS)
	$(RANLIB) $@

liblmm.a: $(LMMOBJS) $(BASEOBJS)
	$(RM) $@
	$(AR) cq $@ $(LMMOBJS) $(BASEOBJS)
	$(RANLIB) $@

# Special rules for building object files for log-structured MM.
frag.o: $(LMM)/frag.cc
	$(CCC) $(CCCFLAGS) -c $(LMM)/frag.cc

finfo.o: $(LMM)/finfo.cc
	$(CCC) $(CCCFLAGS) -c $(LMM)/finfo.cc

lmm.o: $(LMM)/lmm.cc
	$(CCC) $(CCCFLAGS) -c $(LMM)/lmm.cc

cleaner.o: $(LMM)/cleaner.cc
	$(CCC) $(CCCFLAGS) -c $(LMM)/cleaner.cc

depend: $(GENERATED)
