 VIS_PATH=/dsk/l1/misc/TOOLS
 LIB_VIS=$(VIS_PATH)/lib
 LIB_OPT= -lMonvis   -lcu -lglu -lm -lbsd  -lreadline -ltermcap -lfl
 GCC_OPT =  -g -O6 -mcpu=pentiumpro -malign-double
 D_OPT = -DBDDcu
 INCLUDE=  -I$(VIS_PATH)/include
 LIB_GLU = $(VIS_PATH)/lib
 VIS_OBJ_PATH=$(VIS_PATH)/vis-2.3/obj
 
 VIS_OBJ= $(VIS_OBJ_PATH)/ctlpRead.o $(VIS_OBJ_PATH)/ctlspRead.o\
 $(VIS_OBJ_PATH)/ioYacc.o $(VIS_OBJ_PATH)/absCatalog.o $(VIS_OBJ_PATH)/absCmd.o\
 $(VIS_OBJ_PATH)/absEvaluate.o $(VIS_OBJ_PATH)/absInternal.o $(VIS_OBJ_PATH)/absRefine.o \
 $(VIS_OBJ_PATH)/absTranslate.o $(VIS_OBJ_PATH)/absUtil.o $(VIS_OBJ_PATH)/amcBlock.o \
 $(VIS_OBJ_PATH)/amcCmd.o $(VIS_OBJ_PATH)/amcAmc.o $(VIS_OBJ_PATH)/baigCmd.o\
 $(VIS_OBJ_PATH)/baigNode.o $(VIS_OBJ_PATH)/baigBddSweep.o\
 $(VIS_OBJ_PATH)/baigTimeframe.o $(VIS_OBJ_PATH)/baigAllSat.o $(VIS_OBJ_PATH)/bmcUtil.o\
 $(VIS_OBJ_PATH)/bmcCmd.o $(VIS_OBJ_PATH)/bmcBmc.o\
 $(VIS_OBJ_PATH)/bmcCirCUsUtil.o $(VIS_OBJ_PATH)/bmcCirCUs.o $(VIS_OBJ_PATH)/bmcAutSat.o $(VIS_OBJ_PATH)/bmcAutUtil.o\
 $(VIS_OBJ_PATH)/cmdCmd.o $(VIS_OBJ_PATH)/cmdFile.o $(VIS_OBJ_PATH)/cmdMisc.o\
 $(VIS_OBJ_PATH)/ctlpCmd.o $(VIS_OBJ_PATH)/ctlpUtil.o\
 $(VIS_OBJ_PATH)/ctlspCmd.o $(VIS_OBJ_PATH)/ctlspUtil.o \
 $(VIS_OBJ_PATH)/eqvCmd.o $(VIS_OBJ_PATH)/eqvMisc.o\
 $(VIS_OBJ_PATH)/eqvVerify.o\
 $(VIS_OBJ_PATH)/fsmCmd.o $(VIS_OBJ_PATH)/fsmFair.o \
 $(VIS_OBJ_PATH)/fsmFsm.o $(VIS_OBJ_PATH)/fsmReach.o $(VIS_OBJ_PATH)/fsmHD.o\
 $(VIS_OBJ_PATH)/fsmArdc.o  $(VIS_OBJ_PATH)/grabUtil.o\
 $(VIS_OBJ_PATH)/grabBMC.o $(VIS_OBJ_PATH)/grabGrab.o $(VIS_OBJ_PATH)/grab.o\
 $(VIS_OBJ_PATH)/hrcCmd.o $(VIS_OBJ_PATH)/hrcHierarchy.o\
 $(VIS_OBJ_PATH)/hrcInOut.o $(VIS_OBJ_PATH)/hrcMemUtil.o\
 $(VIS_OBJ_PATH)/hrcMisc.o\
 $(VIS_OBJ_PATH)/hrcModify.o $(VIS_OBJ_PATH)/imcCmd.o $(VIS_OBJ_PATH)/imcImc.o\
 $(VIS_OBJ_PATH)/imgLinear.o $(VIS_OBJ_PATH)/imgHybrid.o \
 $(VIS_OBJ_PATH)/imgIwls95.o $(VIS_OBJ_PATH)/imgMlp.o\
 $(VIS_OBJ_PATH)/imgMonolithic.o $(VIS_OBJ_PATH)/imgTfm.o \
 $(VIS_OBJ_PATH)/imgTfmBwd.o $(VIS_OBJ_PATH)/imgTfmCache.o\
 $(VIS_OBJ_PATH)/imgTfmFwd.o $(VIS_OBJ_PATH)/imgTfmUtil.o \
 $(VIS_OBJ_PATH)/imgUtil.o $(VIS_OBJ_PATH)/ioCheck.o $(VIS_OBJ_PATH)/ioCmd.o\
 $(VIS_OBJ_PATH)/ioParse.o $(VIS_OBJ_PATH)/ioReadBlifMv.o $(VIS_OBJ_PATH)/ioTable.o\
 $(VIS_OBJ_PATH)/ioWriteBlif.o $(VIS_OBJ_PATH)/ioWriteBlifUtil.o\
 $(VIS_OBJ_PATH)/ioWriteBlifIo.o $(VIS_OBJ_PATH)/ioWriteBlifMv.o \
 $(VIS_OBJ_PATH)/ioWriteSmv.o $(VIS_OBJ_PATH)/ltl.o $(VIS_OBJ_PATH)/ltlSet.o\
 $(VIS_OBJ_PATH)/ltlTableau.o $(VIS_OBJ_PATH)/ltlAutomaton.o\
 $(VIS_OBJ_PATH)/ltlMinimize.o $(VIS_OBJ_PATH)/ltlCompose.o \
 $(VIS_OBJ_PATH)/ltlUtil.o $(VIS_OBJ_PATH)/maigUtil.o\
 $(VIS_OBJ_PATH)/mark.o $(VIS_OBJ_PATH)/markFPSolve.o\
 $(VIS_OBJ_PATH)/markGetScc.o $(VIS_OBJ_PATH)/markInProb.o\
 $(VIS_OBJ_PATH)/mcCmd.o $(VIS_OBJ_PATH)/mcCover.o $(VIS_OBJ_PATH)/mcDbg.o \
 $(VIS_OBJ_PATH)/mcDnC.o $(VIS_OBJ_PATH)/mcGFP.o $(VIS_OBJ_PATH)/mcMc.o\
 $(VIS_OBJ_PATH)/mcSCC.o $(VIS_OBJ_PATH)/mcUtil.o $(VIS_OBJ_PATH)/mcVacuum.o\
 $(VIS_OBJ_PATH)/mvfMvf.o $(VIS_OBJ_PATH)/mvfaigUtil.o $(VIS_OBJ_PATH)/ntkCmd.o\
 $(VIS_OBJ_PATH)/ntkFlt.o $(VIS_OBJ_PATH)/ntkGraph.o $(VIS_OBJ_PATH)/ntkNode.o\
 $(VIS_OBJ_PATH)/ntkNtk.o $(VIS_OBJ_PATH)/ntkSweep.o $(VIS_OBJ_PATH)/ntm.o\
 $(VIS_OBJ_PATH)/ntmaig.o $(VIS_OBJ_PATH)/ntmaigCmd.o $(VIS_OBJ_PATH)/ordCmd.o\
$(VIS_OBJ_PATH)/ordIo.o $(VIS_OBJ_PATH)/ordMain.o $(VIS_OBJ_PATH)/ordNodes.o\
 $(VIS_OBJ_PATH)/ordPerm.o $(VIS_OBJ_PATH)/ordRoots.o $(VIS_OBJ_PATH)/partCmd.o\
 $(VIS_OBJ_PATH)/partCollapse.o $(VIS_OBJ_PATH)/partInOut.o $(VIS_OBJ_PATH)/partPart.o\
 $(VIS_OBJ_PATH)/partPartial.o $(VIS_OBJ_PATH)/partTotal.o $(VIS_OBJ_PATH)/partFrontier.o $(VIS_OBJ_PATH)/partBoundary.o $(VIS_OBJ_PATH)/partGroup.o $(VIS_OBJ_PATH)/partFine.o $(VIS_OBJ_PATH)/puresatUtil.o $(VIS_OBJ_PATH)/puresatBMC.o $(VIS_OBJ_PATH)/puresatRefine.o $(VIS_OBJ_PATH)/puresat.o $(VIS_OBJ_PATH)/puresatMain.o $(VIS_OBJ_PATH)/puresatIPAbRf.o $(VIS_OBJ_PATH)/puresatAig.o $(VIS_OBJ_PATH)/puresatArosat.o $(VIS_OBJ_PATH)/puresatIPUtil.o $(VIS_OBJ_PATH)/puresatIPRefine.o $(VIS_OBJ_PATH)/puresatTFrame.o $(VIS_OBJ_PATH)/puresatFlatIP.o $(VIS_OBJ_PATH)/rst.o $(VIS_OBJ_PATH)/rstGroup.o $(VIS_OBJ_PATH)/resLayer.o $(VIS_OBJ_PATH)/resCompose.o $(VIS_OBJ_PATH)/resSmartVarUse.o $(VIS_OBJ_PATH)/res.o $(VIS_OBJ_PATH)/resCmd.o $(VIS_OBJ_PATH)/resRes.o $(VIS_OBJ_PATH)/restrCProj.o $(VIS_OBJ_PATH)/restrCmd.o $(VIS_OBJ_PATH)/restrDebug.o $(VIS_OBJ_PATH)/restrFaninout.o $(VIS_OBJ_PATH)/restrHammingD.o $(VIS_OBJ_PATH)/restrRestructure.o $(VIS_OBJ_PATH)/restrUtil.o $(VIS_OBJ_PATH)/rtMain.o $(VIS_OBJ_PATH)/satConflict.o $(VIS_OBJ_PATH)/satImplication.o $(VIS_OBJ_PATH)/satMain.o $(VIS_OBJ_PATH)/satUtil.o $(VIS_OBJ_PATH)/satDecision.o $(VIS_OBJ_PATH)/satInc.o $(VIS_OBJ_PATH)/satDebug.o $(VIS_OBJ_PATH)/satInterface.o $(VIS_OBJ_PATH)/satBDD.o $(VIS_OBJ_PATH)/satCore.o $(VIS_OBJ_PATH)/simIo.o $(VIS_OBJ_PATH)/simMain.o $(VIS_OBJ_PATH)/simSim.o $(VIS_OBJ_PATH)/simUtil.o $(VIS_OBJ_PATH)/spfdAPI.o $(VIS_OBJ_PATH)/spfdClean.o $(VIS_OBJ_PATH)/spfdCmd.o $(VIS_OBJ_PATH)/spfdCommon.o $(VIS_OBJ_PATH)/spfdOpt.o $(VIS_OBJ_PATH)/spfdProg.o $(VIS_OBJ_PATH)/spfdReg.o $(VIS_OBJ_PATH)/spfdSpfd.o $(VIS_OBJ_PATH)/spfdUtil.o $(VIS_OBJ_PATH)/synth.o $(VIS_OBJ_PATH)/synthCount.o $(VIS_OBJ_PATH)/synthDiv.o $(VIS_OBJ_PATH)/synthFactor.o $(VIS_OBJ_PATH)/synthGen.o $(VIS_OBJ_PATH)/synthOpt.o $(VIS_OBJ_PATH)/synthSimple.o $(VIS_OBJ_PATH)/synthSynth.o $(VIS_OBJ_PATH)/synthUtil.o $(VIS_OBJ_PATH)/synthWrite.o $(VIS_OBJ_PATH)/tblEntryUtil.o $(VIS_OBJ_PATH)/tblTest.o $(VIS_OBJ_PATH)/tblUtil.o $(VIS_OBJ_PATH)/tblSweep.o $(VIS_OBJ_PATH)/tblAigUtil.o $(VIS_OBJ_PATH)/tblAigEntryUtil.o $(VIS_OBJ_PATH)/tblIdentity.o $(VIS_OBJ_PATH)/truesimCmd.o $(VIS_OBJ_PATH)/truesimMain.o $(VIS_OBJ_PATH)/truesimSim.o $(VIS_OBJ_PATH)/truesimUtil.o $(VIS_OBJ_PATH)/truesimZero.o $(VIS_OBJ_PATH)/tst.o $(VIS_OBJ_PATH)/varVariable.o $(VIS_OBJ_PATH)/vmInit.o $(VIS_OBJ_PATH)/vmVers.o
 
 
 all: exec
 
 # Create libMonVis
 libMonvis.a:
	rm -f $(LIB_VIS)/$@
	umask 2; ar cq $(LIB_VIS)/$@ $(VIS_OBJ)
	ranlib $(LIB_VIS)/$@
 
 							
 # exec
 
 exec: main.c
	gcc $(GCC_OPT) $(D_OPT) $(INCLUDE) -L$(LIB_GLU) -L$(LIB_VIS) main.c $(LIB_OPT)
     

