include  $(EPICSTOP)/site.config


EXTHDRS	      = $(COSMOSINC)/Zcmuint.h \
		$(COSMOSINC)/Zcode.h \
		$(COSMOSINC)/Zcondc.h \
		$(COSMOSINC)/Zcoord.h \
		$(COSMOSINC)/Zelemagp.h \
		$(COSMOSINC)/Zevhnp.h \
		$(COSMOSINC)/Zevhnv.h \
		$(COSMOSINC)/Zglobalc.h \
		$(COSMOSINC)/Zheavyp.h \
		$(COSMOSINC)/Zmagfield.h \
		$(COSMOSINC)/Zmanagerp.h \
		$(COSMOSINC)/Zmass.h \
		$(COSMOSINC)/Zmaxdef.h \
		$(COSMOSINC)/Zpos.h \
		$(COSMOSINC)/Zptcl.h \
		$(COSMOSINC)/ZsaveStruc.h \
		$(COSMOSINC)/ZsubstRec.h \
		$(COSMOSINC)/Ztrack.h \
		$(COSMOSINC)/Ztrackp.h \
		$(COSMOSINC)/Ztrackv.h \
		$(COSMOSINC)/Zunionmap.h \
		$(EPICSINC)/ZbpPE.h \
		$(EPICSINC)/ZbpSample.h \
		$(EPICSINC)/ZbpTbl.h \
		$(EPICSINC)/Zcnfig.h \
		$(EPICSINC)/Zcnfig2.h \
		$(EPICSINC)/Zelement.h \
		$(EPICSINC)/Zep3Vec.h \
		$(EPICSINC)/ZepDirec.h \
		$(EPICSINC)/ZepManager.h \
		$(EPICSINC)/ZepMaxdef.h \
		$(EPICSINC)/ZepPos.h \
		$(EPICSINC)/ZepTrack.h \
		$(EPICSINC)/ZepTrackp.h \
		$(EPICSINC)/ZepTrackv.h \
		$(EPICSINC)/Zepdebug.h \
		$(EPICSINC)/Zepi2cos.h \
		$(EPICSINC)/Zmedia.h \
		$(EPICSINC)/Zmove.h \
		$(EPICSINC)/Zmubpn.h \
		$(EPICSINC)/Zstern.h \
		$(EPICSINC)/Zurban.h

HDRS	      =


MAKEFILE      = Makefile

OBJS	      = ep3p2plane.o \
		epNewVolume.o \
		epOutCnf.o \
		ep_cap.o \
		ep_cone.o \
		ep_ecyl.o \
		ep_simpleb.o \
		epaux.o \
		epbndry.o \
		epcosIntF.o \
		epdeflection.o \
		epenvlpAll.o \
		epgen.o \
		epixsec.o \
		epparaphrase.o \
		epparm.o \
		eppos2cn.o \
		eprcnf.o \
		eptransVect.o \
		eptransVectZx.o 
#		epprocID.o 

PRINT	      = pr

SHELL	      = /bin/sh

SRCS	      = ep3p2plane.f \
		epNewVolume.f \
		epOutCnf.f \
		ep_cap.f \
		ep_cone.f \
		ep_ecyl.f \
		ep_simpleb.f \
		epaux.f \
		epbndry.f \
		epcosIntF.f \
		epdeflection.f \
		epenvlpAll.f \
		epgen.f \
		epixsec.f \
		epparaphrase.f \
		epparm.f \
		eppos2cn.f \
		eprcnf.f \
		eptransVect.f \
		eptransVectZx.f 
#		epprocID.f \

SYSHDRS	      =

all:
	make	Checkdir $(LIBRARY) SeeSubDir "TARGET=$@"

clean:
	@rm -f $(OBJS) core  *~ a.out 
	make SeeSubDir "TARGET=$@"

veryclean:
	@rm -f $(OBJS) core  *~ a.out temp*.f
	make SeeSubDir "TARGET=$@"

clobber:
	@rm -f $(OBJS) $(LIBRARY) core tags
	make SeeSubDir "TARGET=$@"

depend:
	@mkmf -f $(MAKEFILE) ROOT=$(ROOT)
	make SeeSubDir "TARGET=$@"

echo:
	@echo $(HDRS) $(SRCS)
	make SeeSubDir "TARGET=$@"

extract:
	@ar x $(LIBRARY)


index:
	@ctags -wx $(HDRS) $(SRCS)
	make SeeSubDir "TARGET=$@"

install:	$(LIBRARY)
		@echo "****" Installing $(LIBRARY) into $(DEST)
		$(INSTALL) -f  $(DEST) $(LIBRARY)
		@echo "****" Installing Template files into $(TEMPLATE)
		cp -r  $(EPICSTOP)/Data  $(EPICSTOP)/Util \
		 $(EPICSTOP)/UserHook  $(EPICSTOP)/Scrpt  \
		 $(EPICSTOP)/Doc        $(TEMPLATE)/
		cp $(EPICSTOP)/site.config $(TEMPLATE)/
		@echo "****" Installing header files into $(HEADER)
		cp -r $(EPICSTOP)/epics  $(HEADER)/
		@echo "****" Installation ended.
		@echo "****" Owner and group should be changed by hand

print:
	@$(PRINT) $(HDRS) $(SRCS)
	make SeeSubDir "TARGET=$@"

tags:           $(HDRS) $(SRCS)
	@ctags $(HDRS) $(SRCS)
	make SeeSubDir "TARGET=$@"


Checkdir:
	@( cd $(EPICSTOP)/lib; if [ ! -d  $(ARCH) ]; then  mkdir $(ARCH); fi)


SeeSubDir:
	@for i in  * \
	;do   \
		if [ -d  $$i ] ; then \
			(cd $$i; \
			if [ -f Makefile  -a  $$i != Test \
			-a $$i != Util -a $$i != UC  \
	                -a $$i != Data  -a $$i != epics \
	                -a $$i != Obso  -a $$i != TeX \
	                -a $$i != lib  -a $$i != UserHook \
	                -a $$i != Scrpt -a $$i != DistJob ] ; then \
		            $(MAKE) $(TARGET) \
			;fi) \
		; fi \
	done

###
$(LIBRARY)(ep3p2plane.o): $(EPICSINC)/ZepPos.h
$(LIBRARY)(epNewVolume.o): $(EPICSINC)/ZepPos.h \
	$(EPICSINC)/ZepDirec.h \
	$(EPICSINC)/Zep3Vec.h \
	$(EPICSINC)/Zcnfig.h \
	$(EPICSINC)/ZepMaxdef.h \
	$(EPICSINC)/Zcnfig2.h
$(LIBRARY)(epOutCnf.o): $(EPICSINC)/Zep3Vec.h \
	$(EPICSINC)/Zcnfig.h \
	$(EPICSINC)/ZepMaxdef.h \
	$(EPICSINC)/Zcnfig2.h
ep_cap.o: $(EPICSINC)/Zep3Vec.h \
	$(EPICSINC)/Zcnfig.h \
	$(EPICSINC)/ZepMaxdef.h \
	$(EPICSINC)/Zcnfig2.h \
	$(EPICSINC)/ZepPos.h \
	$(EPICSINC)/ZepDirec.h \
	$(EPICSINC)/Zepdebug.h
ep_cone.o: $(EPICSINC)/Zep3Vec.h \
	$(EPICSINC)/Zcnfig.h \
	$(EPICSINC)/ZepMaxdef.h \
	$(EPICSINC)/Zcnfig2.h \
	$(EPICSINC)/ZepTrackp.h \
	$(EPICSINC)/ZepPos.h \
	$(EPICSINC)/ZepDirec.h \
	$(EPICSINC)/Zepdebug.h
ep_ecyl.o: $(EPICSINC)/Zep3Vec.h \
	$(EPICSINC)/Zcnfig.h \
	$(EPICSINC)/ZepMaxdef.h \
	$(EPICSINC)/Zcnfig2.h \
	$(EPICSINC)/ZepManager.h \
	$(EPICSINC)/ZepPos.h \
	$(EPICSINC)/ZepDirec.h \
	$(EPICSINC)/Zepdebug.h
ep_simpleb.o: $(EPICSINC)/ZepTrackv.h \
	$(EPICSINC)/ZepMaxdef.h \
	$(EPICSINC)/Zmedia.h \
	$(EPICSINC)/Zelement.h \
	$(EPICSINC)/ZbpTbl.h \
	$(EPICSINC)/Zstern.h \
	$(EPICSINC)/ZbpSample.h \
	$(EPICSINC)/ZbpPE.h \
	$(EPICSINC)/Zurban.h \
	$(EPICSINC)/Zmubpn.h \
	$(EPICSINC)/ZepTrack.h \
	$(COSMOSINC)/Zptcl.h \
	$(COSMOSINC)/Zunionmap.h \
	$(EPICSINC)/ZepPos.h \
	$(EPICSINC)/ZepDirec.h \
	$(EPICSINC)/Zmove.h \
	$(EPICSINC)/Zep3Vec.h \
	$(EPICSINC)/Zcnfig.h \
	$(EPICSINC)/Zcnfig2.h
$(LIBRARY)(epaux.o): $(EPICSINC)/ZepTrackp.h \
	$(EPICSINC)/ZepPos.h \
	$(COSMOSINC)/Zptcl.h \
	$(COSMOSINC)/Zunionmap.h \
	$(COSMOSINC)/Zglobalc.h \
	$(EPICSINC)/ZepDirec.h \
	$(EPICSINC)/ZepManager.h \
	$(EPICSINC)/ZepMaxdef.h
$(LIBRARY)(epbndry.o): $(EPICSINC)/ZepTrackp.h \
	$(EPICSINC)/ZepTrackv.h \
	$(EPICSINC)/ZepMaxdef.h \
	$(EPICSINC)/Zmedia.h \
	$(EPICSINC)/Zelement.h \
	$(EPICSINC)/ZbpTbl.h \
	$(EPICSINC)/Zstern.h \
	$(EPICSINC)/ZbpSample.h \
	$(EPICSINC)/ZbpPE.h \
	$(EPICSINC)/Zurban.h \
	$(EPICSINC)/Zmubpn.h \
	$(EPICSINC)/ZepTrack.h \
	$(COSMOSINC)/Zptcl.h \
	$(COSMOSINC)/Zunionmap.h \
	$(EPICSINC)/ZepPos.h \
	$(EPICSINC)/ZepDirec.h \
	$(EPICSINC)/Zmove.h \
	$(EPICSINC)/Zep3Vec.h \
	$(EPICSINC)/Zcnfig.h \
	$(EPICSINC)/Zcnfig2.h
$(LIBRARY)(epcosIntF.o): $(COSMOSINC)/ZsubstRec.h \
	$(COSMOSINC)/Zunionmap.h \
	$(EPICSINC)/Zepi2cos.h \
	$(COSMOSINC)/Ztrack.h \
	$(COSMOSINC)/Zcondc.h \
	$(COSMOSINC)/Zptcl.h \
	$(COSMOSINC)/Zcoord.h \
	$(COSMOSINC)/Zpos.h \
	$(COSMOSINC)/Zmagfield.h \
	$(COSMOSINC)/Ztrackv.h \
	$(COSMOSINC)/Zmaxdef.h \
	$(COSMOSINC)/Zcode.h \
	$(EPICSINC)/ZepTrack.h \
	$(EPICSINC)/ZepPos.h \
	$(EPICSINC)/ZepDirec.h \
	$(COSMOSINC)/Zglobalc.h \
	$(COSMOSINC)/Ztrackp.h \
	$(COSMOSINC)/Zheavyp.h \
	$(COSMOSINC)/Zelemagp.h \
	$(COSMOSINC)/Zevhnp.h \
	$(COSMOSINC)/Zevhnv.h \
	$(COSMOSINC)/Zcmuint.h \
	$(EPICSINC)/Zmedia.h \
	$(EPICSINC)/ZepMaxdef.h \
	$(EPICSINC)/Zelement.h \
	$(EPICSINC)/ZbpTbl.h \
	$(EPICSINC)/Zstern.h \
	$(EPICSINC)/ZbpSample.h \
	$(EPICSINC)/ZbpPE.h \
	$(EPICSINC)/Zurban.h \
	$(EPICSINC)/Zmubpn.h
$(LIBRARY)(epdeflection.o): $(EPICSINC)/ZepTrackv.h \
	$(EPICSINC)/ZepMaxdef.h \
	$(EPICSINC)/Zmedia.h \
	$(EPICSINC)/Zelement.h \
	$(EPICSINC)/ZbpTbl.h \
	$(EPICSINC)/Zstern.h \
	$(EPICSINC)/ZbpSample.h \
	$(EPICSINC)/ZbpPE.h \
	$(EPICSINC)/Zurban.h \
	$(EPICSINC)/Zmubpn.h \
	$(EPICSINC)/ZepTrack.h \
	$(COSMOSINC)/Zptcl.h \
	$(COSMOSINC)/Zunionmap.h \
	$(EPICSINC)/ZepPos.h \
	$(EPICSINC)/ZepDirec.h \
	$(EPICSINC)/Zmove.h \
	$(EPICSINC)/Zep3Vec.h \
	$(EPICSINC)/ZepTrackp.h
$(LIBRARY)(epenvlpAll.o): $(COSMOSINC)/ZsaveStruc.h \
	$(EPICSINC)/Zep3Vec.h \
	$(EPICSINC)/Zcnfig.h \
	$(EPICSINC)/ZepMaxdef.h \
	$(EPICSINC)/Zcnfig2.h \
	$(EPICSINC)/ZepPos.h
$(LIBRARY)(epgen.o): $(COSMOSINC)/ZsubstRec.h \
	$(EPICSINC)/ZepTrackv.h \
	$(EPICSINC)/ZepMaxdef.h \
	$(EPICSINC)/Zmedia.h \
	$(EPICSINC)/Zelement.h \
	$(EPICSINC)/ZbpTbl.h \
	$(EPICSINC)/Zstern.h \
	$(EPICSINC)/ZbpSample.h \
	$(EPICSINC)/ZbpPE.h \
	$(EPICSINC)/Zurban.h \
	$(EPICSINC)/Zmubpn.h \
	$(EPICSINC)/ZepTrack.h \
	$(COSMOSINC)/Zptcl.h \
	$(COSMOSINC)/Zunionmap.h \
	$(EPICSINC)/ZepPos.h \
	$(EPICSINC)/ZepDirec.h \
	$(EPICSINC)/Zmove.h \
	$(EPICSINC)/Zep3Vec.h \
	$(EPICSINC)/Zcnfig.h \
	$(EPICSINC)/Zcnfig2.h \
	$(COSMOSINC)/Zmanagerp.h \
	$(COSMOSINC)/Zmaxdef.h \
	$(EPICSINC)/ZepManager.h \
	$(EPICSINC)/ZepTrackp.h \
	$(COSMOSINC)/Zcode.h \
	$(COSMOSINC)/Zmass.h \
	$(COSMOSINC)/Zglobalc.h
$(LIBRARY)(epixsec.o): $(EPICSINC)/Zmedia.h \
	$(EPICSINC)/ZepMaxdef.h \
	$(EPICSINC)/Zelement.h \
	$(EPICSINC)/ZbpTbl.h \
	$(EPICSINC)/Zstern.h \
	$(EPICSINC)/ZbpSample.h \
	$(EPICSINC)/ZbpPE.h \
	$(EPICSINC)/Zurban.h \
	$(EPICSINC)/Zmubpn.h \
	$(COSMOSINC)/Zptcl.h \
	$(COSMOSINC)/Zunionmap.h \
	$(COSMOSINC)/Zcode.h \
	$(EPICSINC)/ZepTrackp.h
$(LIBRARY)(epparaphrase.o): $(EPICSINC)/Zep3Vec.h \
	$(EPICSINC)/Zcnfig.h \
	$(EPICSINC)/ZepMaxdef.h \
	$(EPICSINC)/Zcnfig2.h
$(LIBRARY)(epparm.o): $(EPICSINC)/ZepTrackp.h \
	$(EPICSINC)/ZepManager.h \
	$(EPICSINC)/ZepMaxdef.h \
	$(EPICSINC)/ZepTrackv.h \
	$(EPICSINC)/Zmedia.h \
	$(EPICSINC)/Zelement.h \
	$(EPICSINC)/ZbpTbl.h \
	$(EPICSINC)/Zstern.h \
	$(EPICSINC)/ZbpSample.h \
	$(EPICSINC)/ZbpPE.h \
	$(EPICSINC)/Zurban.h \
	$(EPICSINC)/Zmubpn.h \
	$(EPICSINC)/ZepTrack.h \
	$(COSMOSINC)/Zptcl.h \
	$(COSMOSINC)/Zunionmap.h \
	$(EPICSINC)/ZepPos.h \
	$(EPICSINC)/ZepDirec.h \
	$(EPICSINC)/Zmove.h \
	$(EPICSINC)/Zep3Vec.h \
	$(COSMOSINC)/Zmass.h
$(LIBRARY)(eppos2cn.o): $(EPICSINC)/ZepTrack.h \
	$(COSMOSINC)/Zptcl.h \
	$(COSMOSINC)/Zunionmap.h \
	$(EPICSINC)/ZepPos.h \
	$(EPICSINC)/ZepDirec.h \
	$(EPICSINC)/Zep3Vec.h \
	$(EPICSINC)/Zcnfig.h \
	$(EPICSINC)/ZepMaxdef.h \
	$(EPICSINC)/Zcnfig2.h \
	$(EPICSINC)/ZepTrackv.h \
	$(EPICSINC)/Zmedia.h \
	$(EPICSINC)/Zelement.h \
	$(EPICSINC)/ZbpTbl.h \
	$(EPICSINC)/Zstern.h \
	$(EPICSINC)/ZbpSample.h \
	$(EPICSINC)/ZbpPE.h \
	$(EPICSINC)/Zurban.h \
	$(EPICSINC)/Zmubpn.h \
	$(EPICSINC)/Zmove.h

$(LIBRARY)(eprcnf.o): $(EPICSINC)/Zep3Vec.h \
	$(EPICSINC)/Zcnfig.h \
	$(EPICSINC)/ZepMaxdef.h \
	$(EPICSINC)/Zcnfig2.h \
	$(EPICSINC)/ZepManager.h \
	$(EPICSINC)/ZepTrackv.h \
	$(EPICSINC)/Zmedia.h \
	$(EPICSINC)/Zelement.h \
	$(EPICSINC)/ZbpTbl.h \
	$(EPICSINC)/Zstern.h \
	$(EPICSINC)/ZbpSample.h \
	$(EPICSINC)/ZbpPE.h \
	$(EPICSINC)/Zurban.h \
	$(EPICSINC)/Zmubpn.h \
	$(EPICSINC)/ZepTrack.h \
	$(COSMOSINC)/Zptcl.h \
	$(COSMOSINC)/Zunionmap.h \
	$(EPICSINC)/ZepPos.h \
	$(EPICSINC)/ZepDirec.h \
	$(EPICSINC)/Zmove.h \
	$(EPICSINC)/ZepTrackp.h
$(LIBRARY)(eptransVect.o): $(EPICSINC)/ZepDirec.h

$(LIBRARY)(eptransVectZx.o): $(EPICSINC)/ZepDirec.h

$(LIBRARY):         \
               $(LIBRARY)(ep3p2plane.o) \
               $(LIBRARY)(epNewVolume.o) \
               $(LIBRARY)(epOutCnf.o) \
               $(LIBRARY)(ep_cap.o) \
               $(LIBRARY)(ep_cone.o) \
               $(LIBRARY)(ep_ecyl.o) \
               $(LIBRARY)(ep_simpleb.o) \
               $(LIBRARY)(epaux.o) \
               $(LIBRARY)(epbndry.o) \
               $(LIBRARY)(epcosIntF.o) \
               $(LIBRARY)(epdeflection.o) \
               $(LIBRARY)(epenvlpAll.o) \
               $(LIBRARY)(epgen.o) \
               $(LIBRARY)(epixsec.o) \
               $(LIBRARY)(epparaphrase.o) \
               $(LIBRARY)(epparm.o) \
               $(LIBRARY)(eppos2cn.o) \
               $(LIBRARY)(eprcnf.o) \
               $(LIBRARY)(eptransVect.o) \
               $(LIBRARY)(eptransVectZx.o)  
#               $(LIBRARY)(epprocID.o)
