summaryrefslogtreecommitdiffstats
path: root/src/bdd/cudd/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/bdd/cudd/Makefile')
-rw-r--r--src/bdd/cudd/Makefile124
1 files changed, 124 insertions, 0 deletions
diff --git a/src/bdd/cudd/Makefile b/src/bdd/cudd/Makefile
new file mode 100644
index 00000000..d7695474
--- /dev/null
+++ b/src/bdd/cudd/Makefile
@@ -0,0 +1,124 @@
+# $Id$
+#
+# Cudd - DD package
+#---------------------------
+.SUFFIXES: .o .c .u
+
+CC = gcc
+RANLIB = ranlib
+PURE =
+# Define EXE as .exe for MS-DOS and derivatives.
+EXE =
+#EXE = .exe
+
+MFLAG =
+ICFLAGS = -g
+XCFLAGS = -DDD_STATS
+CFLAGS = $(ICFLAGS) $(MFLAG) $(XCFLAGS)
+#DDDEBUG = -DDD_DEBUG -DDD_CACHE_PROFILE -DDD_VERBOSE -DDD_UNIQUE_PROFILE
+DDDEBUG =
+
+LINTFLAGS = -u -n -DDD_STATS -DDD_CACHE_PROFILE -DDD_VERBOSE -DDD_DEBUG -DDD_UNIQUE_PROFILE
+
+# this is to create the lint library
+LINTSWITCH = -o
+
+WHERE = ..
+
+INCLUDE = $(WHERE)/include
+
+LIBS = ./libcudd.a $(WHERE)/mtr/libmtr.a \
+ $(WHERE)/st/libst.a $(WHERE)/util/libutil.a $(WHERE)/epd/libepd.a
+
+MNEMLIB =
+
+BLIBS = -kL. -klcudd -kL$(WHERE)/mtr -klmtr \
+ -kL$(WHERE)/st -klst -kL$(WHERE)/util -klutil -kL$(WHERE)/epd -klepd
+
+LINTLIBS = ./llib-lcudd.ln $(WHERE)/mtr/llib-lmtr.ln \
+ $(WHERE)/st/llib-lst.ln $(WHERE)/util/llib-lutil.ln \
+ $(WHERE)/epd/llib-lepd.ln
+
+LDFLAGS =
+
+# files for the package
+P = cudd
+PSRC = cuddAPI.c cuddAddAbs.c cuddAddApply.c cuddAddFind.c cuddAddIte.c \
+ cuddAddInv.c cuddAddNeg.c cuddAddWalsh.c cuddAndAbs.c \
+ cuddAnneal.c cuddApa.c cuddApprox.c cuddBddAbs.c cuddBddCorr.c \
+ cuddBddIte.c cuddBridge.c cuddCache.c cuddCheck.c cuddClip.c \
+ cuddCof.c cuddCompose.c cuddDecomp.c cuddEssent.c \
+ cuddExact.c cuddExport.c cuddGenCof.c cuddGenetic.c \
+ cuddGroup.c cuddHarwell.c cuddInit.c cuddInteract.c \
+ cuddLCache.c cuddLevelQ.c \
+ cuddLinear.c cuddLiteral.c cuddMatMult.c cuddPriority.c \
+ cuddRead.c cuddRef.c cuddReorder.c cuddSat.c cuddSign.c \
+ cuddSolve.c cuddSplit.c cuddSubsetHB.c cuddSubsetSP.c cuddSymmetry.c \
+ cuddTable.c cuddUtil.c cuddWindow.c cuddZddCount.c cuddZddFuncs.c \
+ cuddZddGroup.c cuddZddIsop.c cuddZddLin.c cuddZddMisc.c \
+ cuddZddPort.c cuddZddReord.c cuddZddSetop.c cuddZddSymm.c \
+ cuddZddUtil.c
+PHDR = cudd.h cuddInt.h
+POBJ = $(PSRC:.c=.o)
+PUBJ = $(PSRC:.c=.u)
+TARGET = test$(P)$(EXE)
+TARGETu = test$(P)-u
+
+# files for the test program
+SRC = test$(P).c
+OBJ = $(SRC:.c=.o)
+UBJ = $(SRC:.c=.u)
+
+#------------------------------------------------------
+
+lib$(P).a: $(POBJ)
+ ar rv $@ $?
+ $(RANLIB) $@
+
+.c.o: $(PSRC) $(PHDR)
+ $(CC) -c $< -I$(INCLUDE) $(CFLAGS) $(DDDEBUG)
+
+optimize_dec: lib$(P).b
+
+lib$(P).b: $(PUBJ)
+ ar rv $@ $?
+ $(RANLIB) $@
+
+.c.u: $(PSRC) $(PHDR)
+ cc -j $< -I$(INCLUDE) $(XCFLAGS)
+
+# if the header files change, recompile
+$(POBJ): $(PHDR)
+$(PUBJ): $(PHDR)
+$(OBJ): $(PHDR)
+$(UBJ): $(PHDR)
+
+$(TARGET): $(SRC) $(OBJ) $(HDR) $(LIBS) $(MNEMLIB)
+ $(PURE) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBS) $(MNEMLIB) -lm
+
+# optimize (DECstations and Alphas only: uses u-code)
+$(TARGETu): $(SRC) $(UBJ) $(HDR) $(LIBS:.a=.b)
+ $(CC) -O3 -Olimit 1000 $(XCFLAGS) $(LDFLAGS) -o $@ $(UBJ) $(BLIBS) -lm
+
+lint: llib-l$(P).ln
+
+llib-l$(P).ln: $(PSRC) $(PHDR)
+ lint $(LINTFLAGS) $(LINTSWITCH)$(P) -I$(INCLUDE) $(PSRC)
+
+lintpgm: lint
+ lint $(LINTFLAGS) -I$(INCLUDE) $(SRC) $(LINTLIBS)
+
+tags: $(PSRC) $(PHDR)
+ ctags $(PSRC) $(PHDR)
+
+all: lib$(P).a lib$(P).b llib-l$(P).ln tags
+
+programs: $(TARGET) $(TARGETu) lintpgm
+
+clean:
+ rm -f *.o *.u mon.out gmon.out *.pixie *.Addrs *.Counts mnem.* \
+ .pure core *.warnings
+
+distclean: clean
+ rm -f $(TARGET) $(TARGETu) lib*.a lib$(P).b llib-l$(P).ln \
+ *.bak *~ tags .gdb_history *.qv *.qx