##################################################################
#
#   makefile
# 
#   for the MARS software
#
##################################################################
# @maintitle

# @code

#
#  please change all system depend values in the 
#  config.mk.${OSTYPE} file 
#
#
INCLUDEMK = ../Makefile.conf.${OSTYPE}
include ${INCLUDEMK}

# @endcode 

# @code 

LIB   = libmbase.a

#
#  connect the include files defined in the config.mk file
#
INCLUDES = -I./

#
#  ----->>>   root libraries
#

ROOTLIBS   =  `root-config --libs`
ROOTGLIBS  =  `root-config --glibs`
ROOTCFLAGS =  `root-config --cflags`

#
#  compiler flags
#

CXXFLAGS  = $(ROOTCFLAGS) $(INCLUDES) $(OPTIM) $(DEBUG)
CFLAGS    = $(CXXFLAGS)
FFLAGS    = $(CXXFLAGS)

#------------------------------------------------------------------------------

#.SILENT:

.SUFFIXES: .c .cc .cxx .h .hxx .o 


SRCFILES = MTask.cc \
	   MTaskList.cc \
	   MParContainer.cc \
	   MParList.cc \
	   MParRead.cc \
	   MParWrite.cc \
           MTime.cc \
           MInputStreamID.cc \
	   MObjBuffer.cc \
           MFile.cc \
           MFileDescr.cc \
           MEvtLoop.cc

SRCS    = $(SRCFILES)
HEADERS = $(SRCFILES:.cc=.h)
OBJS    = $(SRCFILES:.cc=.o) 

############################################################

all: $(LIB)

depend:
	@makedepend $(SRCS) $(INCLUDES) $(ROOTCFLAGS) \
        -fMakefile.depend 2> kk.kk ; cat kk.kk

$(LIB): $(OBJS) BaseCint.o
	@echo "Building Library $(LIB) ... "
	@ar -r $(LIB) *.o

BaseCint.cc: $(HEADERS) 
	@echo 
	@echo "Generating dictionary BaseCint.cc ..."

	@$(ROOTSYS)/bin/rootcint -f BaseCint.cc \
	-c $(INCLUDES) $(HEADERS) BaseLinkDef.h

.cxx.o:	
	@echo "Compiling " $<
	$(CXX) $(CXXFLAGS) -c $< -o $@

.cc.o:	
	@echo "Compiling " $<
	$(CXX) $(CXXFLAGS) -c $< -o $@

.c.o:	
	@echo "Compiling " $<
	$(CC) $(CFLAGS) -c $< -o $@

#
# The cleaning facility
#

rmlib:	
	@echo "Removing libraries..."
	@rm -f lib*.a

rmcint:	
	@echo "Removing cint-stuff..."
	@rm -f BaseCint.*

rmobjs:	
	@echo "Removing object files..."
	@rm -f *.o

rmbin:	
	@echo "Removing binary files..."
	@rm -f core


clean:	rmlib rmcint rmobjs rmbin

mrproper:	clean
	@echo "Removing *~ kk.kk html/..."
	@rm -f *~ kk.kk

cflags: 
	@echo $(INCLUDES) $(CXXFLAGS)

# @endcode

