##################################################################
#
# makefile
#
# @file        makefile 
# @title       Simulation of the camera and trigger logic
# @author      J C Gonz\'alez
# @email       gonzalez@mppmu.mpg.de
# @date        Fri Mar 12 11:51:11 MET 1999
#
#_______________________________________________________________
#
# Created: Fri Mar 12 11:51:11 MET 1999
# Author:  Jose Carlos Gonzalez
# Purpose: Makefile for the compilation of the camera program
# Notes:   
#    
#---------------------------------------------------------------
#
# $RCSfile: Makefile,v $
# $Revision: 1.1.1.1 $
# $Author: harald $ 
# $Date: 2000-02-08 15:13:44 $
#
##################################################################
# @maintitle

# @code

INCLUDEMK = config.mk.${OSTYPE}
include ${INCLUDEMK}

# @endcode

# @code 

# common flags
INCLUDES = -I${INCLUDE}      \
		   -I${INCLUDE_COR}  \
		   -I${INCLUDE_MC}   \
		   -I${INCLUDE_EVITA}   \
		   -I${INCLUDE_TRIGGER}   \
		   -I${INCLUDE_FADC}   \
		   -I${INCLUDE_REFL} \
                   -I${INCLUDE_ROOT} \
	           -I${INCLUDE_CPLUS}

RANLIB  = -L${RANLIBDIR} -lranlib

# what is needed for ROOT is inside the config.mk... file


# special flags

osf_FORLIBS = -lUfor -lfor -lutil -lots -lm 
#linux_FORLIBS =  -lf2c -lm /usr/lib/libc.a
linux_FORLIBS =  -lm -ldl 
#linux_FORLIBS =  -lm -ldl -rdynamic
generic_FORLIBS = -lm 

FORLIBS = ${${SYSTEM}_FORLIBS}

# compilation and linking flags

CXXFLAGS  = -D__${SYSTEM}__ ${INCLUDES} ${OPTIM} ${DEBUG}
CFLAGS    = ${CXXFLAGS}
FFLAGS    = ${CXXFLAGS}
LIBS      = ${RANLIB} ${ROOTLIBS} ${ROOTGLIBS} ${GLIBS}

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

#.SILENT:

.SUFFIXES: .c .cxx .C .c++ .h .hxx .H .h++ .o .so .f

SRCS = \
	${INCLUDE_MC}/MCEventHeader.cxx \
	${INCLUDE_MC}/MCCphoton.cxx \
	${INCLUDE_TRIGGER}/MTrigger.cxx \
	${INCLUDE_TRIGGER}/MGTriggerSignal.cxx \
	${INCLUDE_EVITA}/MRawPixel.cxx \
	${INCLUDE_EVITA}/MRawEvt.cxx \
	${INCLUDE_EVITA}/MMcEvt.cxx \
	${INCLUDE_EVITA}/MMcTrig.cxx \
	MCamCint.cxx \
	creadparam.cxx \
	timecam.cxx   

HEADERS = \
	MCEventHeader.hxx \
	MCCphoton.hxx \
	MTRigger.hxx \
	MGTriggerSignal.hxx \
	MRawPixel.h \
	MRawEvt.h \
	MMcEvt.h \
	MMcTrig.hxx \
	lagrange.h \
	atm.h \
	creadparam.h \
	timecam.h

OBJS = \
	${INCLUDE_MC}/MCEventHeader.o \
	${INCLUDE_MC}/MCCphoton.o \
	${INCLUDE_TRIGGER}/MTrigger.o \
	${INCLUDE_TRIGGER}/MGTriggerSignal.o \
	${INCLUDE_EVITA}/MRawPixel.o \
	${INCLUDE_EVITA}/MRawEvt.o \
	${INCLUDE_EVITA}/MMcEvt.o \
	${INCLUDE_EVITA}/MMcTrig.o \
	MCamCint.o \
	creadparam.o \
	timecam.o      

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

all: ${PROGRAM}

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

doc: camera-doc

camera-doc: 
	@echo "Generating documentation for camera . . . "
	$(DOCUM) -latex -o camera.tex \
	camera.cxx camera.h \
	creadparam.cxx creadparam.h \
	moments.cxx moments.h
	latex "\nonstopmode\input{camera.tex}" && \
	makeindex camera && \
	latex "\nonstopmode\input{camera.tex}" && \
	latex "\nonstopmode\input{camera.tex}"
	@echo "Files camera.tex and camera.dvi generated."

${PROGRAM}: $(OBJS) 
	@echo "Linking..." 
	echo `ls -m $(OBJS)|sed 's/,/ +/g' `" + libraries => " $@
	$(CXX) $(CXXFLAGS) $(OBJS) $(LIBS) -o $@
	@echo "done."


MCamCint.cxx: 	${INCLUDE_EVITA}/MRawPixel.h \
		${INCLUDE_EVITA}/MRawEvt.h \
		${INCLUDE_EVITA}/MMcEvt.h \
		${INCLUDE_EVITA}/MMcTrig.hxx \
		${INCLUDE_EVITA}/Mdefine.h

		@echo
		@echo "Generating dictionary ..."
		@echo

		@$(ROOTSYS)/bin/rootcint -f  \
		MCamCint.cxx -c \
		${INCLUDE_EVITA}/MRawPixel.h \
		${INCLUDE_EVITA}/MRawEvt.h \
		${INCLUDE_EVITA}/MMcEvt.h \
		${INCLUDE_EVITA}/MMcTrig.hxx \
		${INCLUDE_EVITA}/Mdefine.h \
		${INCLUDE_EVITA}/LinkDef.h

		@echo
		@echo "Dictionary done"
		@echo

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

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

lclean:
	@echo "Cleanning..."
	@rm -f *.o core 

clean:
	@echo "Cleanning..."
	@rm -f $(OBJS) core 
	@rm -f MCamCint.cxx MCamCint.h 

mrproper: clean
	@echo "Mr.Proper in action . . ."
	@rm -f $(PROGRAM)

ctags:
	@echo "Creating CTAGS file . . ."
	@ctags -txw $(SRCS) $(HEADERS) > CTAGS

etags:
	@echo "Creating TAGS file . . ."
	@etags -C $(SRCS) $(HEADERS)

listsrc:
	@ls -m $(SRCS) $(HEADERS) | sed 's/,//g'

redo: clean all

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

# @endcode

# DO NOT DELETE THIS LINE -- make depend depends on it.

../include-MC/MCEventHeader.o: ../include-MC/MCEventHeader.hxx
../include-MC/MCEventHeader.o: ../include-GENERAL/Rtypes.h
../include-MC/MCEventHeader.o: /usr/include/g++/iostream.h
../include-MC/MCEventHeader.o: /usr/include/g++/streambuf.h
../include-MC/MCEventHeader.o: /usr/include/libio.h /usr/include/_G_config.h
../include-MC/MCEventHeader.o: /usr/include/bits/types.h
../include-MC/MCEventHeader.o: /usr/include/features.h
../include-MC/MCEventHeader.o: /usr/include/sys/cdefs.h
../include-MC/MCEventHeader.o: /usr/include/gnu/stubs.h
../include-MC/MCEventHeader.o: /usr/lib/gcc-lib/i486-linux/2.7.2.3/include/stddef.h
../include-MC/MCEventHeader.o: /usr/lib/gcc-lib/i486-linux/2.7.2.3/include/stdarg.h
../include-MC/MCEventHeader.o: /usr/include/g++/iomanip.h
../include-MC/MCEventHeader.o: /usr/include/g++/fstream.h
../include-MC/MCEventHeader.o: /usr/include/stdlib.h /usr/include/sys/types.h
../include-MC/MCEventHeader.o: /usr/include/time.h /usr/include/endian.h
../include-MC/MCEventHeader.o: /usr/include/bits/endian.h
../include-MC/MCEventHeader.o: /usr/include/sys/select.h
../include-MC/MCEventHeader.o: /usr/include/bits/select.h
../include-MC/MCEventHeader.o: /usr/include/bits/sigset.h
../include-MC/MCEventHeader.o: /usr/include/sys/sysmacros.h
../include-MC/MCEventHeader.o: /usr/include/alloca.h /usr/include/math.h
../include-MC/MCEventHeader.o: /usr/include/bits/huge_val.h
../include-MC/MCEventHeader.o: /usr/include/bits/mathdef.h
../include-MC/MCEventHeader.o: /usr/include/bits/mathcalls.h
../include-MC/MCEventHeader.o: /usr/lib/gcc-lib/i486-linux/2.7.2.3/include/float.h
../include-MC/MCEventHeader.o: ../include-CORSIKA/COREventHeader.hxx
../include-MC/MCCphoton.o: ../include-MC/MCCphoton.hxx
../include-MC/MCCphoton.o: ../include-GENERAL/Rtypes.h
../include-MC/MCCphoton.o: /usr/include/g++/iostream.h
../include-MC/MCCphoton.o: /usr/include/g++/streambuf.h /usr/include/libio.h
../include-MC/MCCphoton.o: /usr/include/_G_config.h /usr/include/bits/types.h
../include-MC/MCCphoton.o: /usr/include/features.h /usr/include/sys/cdefs.h
../include-MC/MCCphoton.o: /usr/include/gnu/stubs.h
../include-MC/MCCphoton.o: /usr/lib/gcc-lib/i486-linux/2.7.2.3/include/stddef.h
../include-MC/MCCphoton.o: /usr/lib/gcc-lib/i486-linux/2.7.2.3/include/stdarg.h
../include-MC/MCCphoton.o: /usr/include/g++/iomanip.h
../include-MC/MCCphoton.o: /usr/include/g++/fstream.h /usr/include/stdlib.h
../include-MC/MCCphoton.o: /usr/include/sys/types.h /usr/include/time.h
../include-MC/MCCphoton.o: /usr/include/endian.h /usr/include/bits/endian.h
../include-MC/MCCphoton.o: /usr/include/sys/select.h
../include-MC/MCCphoton.o: /usr/include/bits/select.h
../include-MC/MCCphoton.o: /usr/include/bits/sigset.h
../include-MC/MCCphoton.o: /usr/include/sys/sysmacros.h /usr/include/alloca.h
../include-MC/MCCphoton.o: /usr/include/string.h /usr/include/math.h
../include-MC/MCCphoton.o: /usr/include/bits/huge_val.h
../include-MC/MCCphoton.o: /usr/include/bits/mathdef.h
../include-MC/MCCphoton.o: /usr/include/bits/mathcalls.h
../include-MC/MCCphoton.o: /usr/lib/gcc-lib/i486-linux/2.7.2.3/include/float.h
../include-MC/MCCphoton.o: ../include-GENERAL/jcmacros.h
../include-MTrigger/MTrigger.o: ../include-MTrigger/MTrigger.hxx
../include-MTrigger/MTrigger.o: /usr/include/g++/iostream.h
../include-MTrigger/MTrigger.o: /usr/include/g++/streambuf.h
../include-MTrigger/MTrigger.o: /usr/include/libio.h /usr/include/_G_config.h
../include-MTrigger/MTrigger.o: /usr/include/bits/types.h
../include-MTrigger/MTrigger.o: /usr/include/features.h
../include-MTrigger/MTrigger.o: /usr/include/sys/cdefs.h
../include-MTrigger/MTrigger.o: /usr/include/gnu/stubs.h
../include-MTrigger/MTrigger.o: /usr/lib/gcc-lib/i486-linux/2.7.2.3/include/stddef.h
../include-MTrigger/MTrigger.o: /usr/lib/gcc-lib/i486-linux/2.7.2.3/include/stdarg.h
../include-MTrigger/MTrigger.o: /usr/include/math.h
../include-MTrigger/MTrigger.o: /usr/include/bits/huge_val.h
../include-MTrigger/MTrigger.o: /usr/include/bits/mathdef.h
../include-MTrigger/MTrigger.o: /usr/include/bits/mathcalls.h
../include-MTrigger/MTrigger.o: /usr/lib/gcc-lib/i486-linux/2.7.2.3/include/float.h
../include-MTrigger/MTrigger.o: /cern/root/include/TROOT.h
../include-MTrigger/MTrigger.o: /cern/root/include/TObject.h
../include-MTrigger/MTrigger.o: /cern/root/include/TRandom.h
../include-MTrigger/MTrigger.o: /cern/root/include/TH1.h
../include-MTrigger/MTrigger.o: ../../../include-Classes/Mdefine.h
../include-MTrigger/MTrigger.o: ../../../include-Classes/MMcEvt.h
../include-MTrigger/MTrigger.o: /usr/include/stdlib.h
../include-MTrigger/MTrigger.o: /usr/include/sys/types.h /usr/include/time.h
../include-MTrigger/MTrigger.o: /usr/include/endian.h
../include-MTrigger/MTrigger.o: /usr/include/bits/endian.h
../include-MTrigger/MTrigger.o: /usr/include/sys/select.h
../include-MTrigger/MTrigger.o: /usr/include/bits/select.h
../include-MTrigger/MTrigger.o: /usr/include/bits/sigset.h
../include-MTrigger/MTrigger.o: /usr/include/sys/sysmacros.h
../include-MTrigger/MTrigger.o: /usr/include/alloca.h /usr/include/stdio.h
../include-MTrigger/MTrigger.o: /usr/include/bits/stdio_lim.h
../include-MTrigger/MTrigger.o: /usr/include/string.h /usr/include/unistd.h
../include-MTrigger/MTrigger.o: /usr/include/bits/posix_opt.h
../include-MTrigger/MTrigger.o: /usr/include/bits/confname.h
../include-MTrigger/MTrigger.o: /usr/include/getopt.h /usr/include/fcntl.h
../include-MTrigger/MTrigger.o: /usr/include/bits/fcntl.h
../include-MTrigger/MTrigger.o: ../include-MTrigger/MTriggerDefine.h
../include-MTrigger/MTrigger.o: /cern/root/include/TFile.h
../include-MTrigger/MTrigger.o: /cern/root/include/TObjArray.h
../include-MTrigger/MTrigger.o: ../include-MTrigger/MGTriggerSignal.hxx
../include-MTrigger/MTrigger.o: /cern/root/include/TApplication.h
../include-MTrigger/MTrigger.o: /cern/root/include/TVirtualX.h
../include-MTrigger/MTrigger.o: /cern/root/include/TGListBox.h
../include-MTrigger/MTrigger.o: /cern/root/include/TGClient.h
../include-MTrigger/MTrigger.o: /cern/root/include/GuiTypes.h
../include-MTrigger/MTrigger.o: /cern/root/include/TGFrame.h
../include-MTrigger/MTrigger.o: /cern/root/include/TGIcon.h
../include-MTrigger/MTrigger.o: /cern/root/include/TGLabel.h
../include-MTrigger/MTrigger.o: /cern/root/include/TGButton.h
../include-MTrigger/MTrigger.o: /cern/root/include/TGTextEntry.h
../include-MTrigger/MTrigger.o: /cern/root/include/TGMsgBox.h
../include-MTrigger/MTrigger.o: /cern/root/include/TGMenu.h
../include-MTrigger/MTrigger.o: /cern/root/include/TGCanvas.h
../include-MTrigger/MTrigger.o: /cern/root/include/TGComboBox.h
../include-MTrigger/MTrigger.o: /cern/root/include/TGTab.h
../include-MTrigger/MTrigger.o: /cern/root/include/TGSlider.h
../include-MTrigger/MTrigger.o: /cern/root/include/TGDoubleSlider.h
../include-MTrigger/MTrigger.o: /cern/root/include/TGFileDialog.h
../include-MTrigger/MTrigger.o: /cern/root/include/TRootEmbeddedCanvas.h
../include-MTrigger/MTrigger.o: /cern/root/include/TCanvas.h
../include-MTrigger/MTrigger.o: /cern/root/include/TH2.h
../include-MTrigger/MTrigger.o: /cern/root/include/TSystem.h
../include-MTrigger/MTrigger.o: /cern/root/include/TEnv.h
../include-MTrigger/MGTriggerSignal.o: ../include-MTrigger/MGTriggerSignal.hxx
../include-MTrigger/MGTriggerSignal.o: /usr/include/stdlib.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/features.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/sys/cdefs.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/gnu/stubs.h
../include-MTrigger/MGTriggerSignal.o: /usr/lib/gcc-lib/i486-linux/2.7.2.3/include/stddef.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/sys/types.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/bits/types.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/time.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/endian.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/bits/endian.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/sys/select.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/bits/select.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/bits/sigset.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/sys/sysmacros.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/alloca.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/g++/iostream.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/g++/streambuf.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/libio.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/_G_config.h
../include-MTrigger/MGTriggerSignal.o: /usr/lib/gcc-lib/i486-linux/2.7.2.3/include/stdarg.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TROOT.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TApplication.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TVirtualX.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TGListBox.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TGClient.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/GuiTypes.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TGFrame.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TGIcon.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TGLabel.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TGButton.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TGTextEntry.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TGMsgBox.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TGMenu.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TGCanvas.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TGComboBox.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TGTab.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TGSlider.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TGDoubleSlider.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TGFileDialog.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TRootEmbeddedCanvas.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TCanvas.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TH1.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TH2.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TRandom.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TSystem.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/stdio.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/bits/stdio_lim.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TEnv.h
../include-MTrigger/MGTriggerSignal.o: ../../../include-Classes/MMcEvt.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/string.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/unistd.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/bits/posix_opt.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/bits/confname.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/getopt.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/fcntl.h
../include-MTrigger/MGTriggerSignal.o: /usr/include/bits/fcntl.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TObject.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TPavesText.h
../include-MTrigger/MGTriggerSignal.o: /cern/root/include/TObjArray.h
