diff -dur cudd-2.4.2.ORIG/cudd/doc/node3.html cudd-2.4.2/cudd/doc/node3.html
--- cudd-2.4.2.ORIG/cudd/doc/node3.html 2009-02-20 23:33:06.000000000 -0700
+++ cudd-2.4.2/cudd/doc/node3.html 2009-05-12 10:02:59.000000000 -0600
@@ -155,16 +155,18 @@
<P>
To build an application that uses the CUDD package, you should add
<PRE>
-#include "util.h"
-#include "cudd.h"
+#include <util.h>
+#include <cudd.h>
</PRE>
<A NAME="82"></A>
-to your source files, and should link
+to your source files, compile with <CODE>-I/usr/include/cudd</CODE>, and link
<code>libcudd.a</code><A NAME="83"></A>,
<code>libmtr.a</code><A NAME="84"></A>,
<code>libst.a</code><A NAME="85"></A>, and
<code>libutil.a</code><A NAME="86"></A> to your executable. (All these
-libraries are part of the distribution.) Some
+libraries are part of the distribution.) Note that shared library equivalents
+are also available, and are linked to one another appropriately; i.e., it is
+sufficient to add <CODE>-lcudd</CODE> to your link command. Some
platforms require specific compiler and linker flags. Refer to the
<TT>Makefile<A NAME="87"></A></TT> in the top level directory of the
distribution.
diff -dur cudd-2.4.2.ORIG/cudd/Makefile cudd-2.4.2/cudd/Makefile
--- cudd-2.4.2.ORIG/cudd/Makefile 1999-08-19 16:34:24.000000000 -0600
+++ cudd-2.4.2/cudd/Makefile 2009-05-12 10:02:59.000000000 -0600
@@ -27,6 +27,10 @@
INCLUDE = $(WHERE)/include
+SHLINK = -shared -Xlinker -soname -Xlinker lib$(P).so.2 \
+ -L$(WHERE)/mtr -L$(WHERE)/st -L$(WHERE)/util -L$(WHERE)/epd \
+ -lmtr -lcuddst -lcuddutil -lepd -lm
+
LIBS = ./libcudd.a $(WHERE)/mtr/libmtr.a \
$(WHERE)/st/libst.a $(WHERE)/util/libutil.a $(WHERE)/epd/libepd.a
@@ -71,6 +75,11 @@
#------------------------------------------------------
+lib$(P).so.2.4.2: $(POBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(POBJ) $(SHLINK)
+ ln -s lib$(P).so.2.4.2 lib$(P).so.2
+ ln -s lib$(P).so.2 lib$(P).so
+
lib$(P).a: $(POBJ)
ar rv $@ $?
$(RANLIB) $@
@@ -111,7 +120,9 @@
tags: $(PSRC) $(PHDR)
ctags $(PSRC) $(PHDR)
-all: lib$(P).a lib$(P).b llib-l$(P).ln tags
+all: lib$(P).so.2.4.2 lib$(P).b llib-l$(P).ln tags
+
+static: lib$(P).a
programs: $(TARGET) $(TARGETu) lintpgm
diff -dur cudd-2.4.2.ORIG/dddmp/Makefile cudd-2.4.2/dddmp/Makefile
--- cudd-2.4.2.ORIG/dddmp/Makefile 2004-02-20 09:13:24.000000000 -0700
+++ cudd-2.4.2/dddmp/Makefile 2009-05-12 10:02:59.000000000 -0600
@@ -170,6 +170,10 @@
LINTFLAGS = -u -n
LINTSWITCH = -o
+SHLINK = -shared -Xlinker -soname -Xlinker lib$(P).so.2 \
+ -L$(WHERE)/cudd -L$(WHERE)/mtr -L$(WHERE)/st -L$(WHERE)/util \
+ -L$(WHERE)/epd -lcudd -lcuddst -lcuddutil
+
LIBS = ./libdddmp.a $(WHERE)/cudd/libcudd.a $(WHERE)/mtr/libmtr.a \
$(WHERE)/st/libst.a $(WHERE)/util/libutil.a $(WHERE)/epd/libepd.a
@@ -182,6 +186,11 @@
$(WHERE)/mtr/llib-lmtr.ln $(WHERE)/st/llib-lst.ln \
$(WHERE)/util/llib-lutil.ln
+lib$(P).so.2.4.2: $(POBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(POBJ) $(SHLINK)
+ ln -s lib$(P).so.2.4.2 lib$(P).so.2
+ ln -s lib$(P).so.2 lib$(P).so
+
lib$(P).a: $(POBJ)
ar rv $@ $?
$(RANLIB) $@
@@ -222,7 +231,9 @@
tags: $(PSRC) $(PHDR)
ctags $(PSRC) $(PHDR)
-all: lib$(P).a lib$(P).b llib-l$(P).ln tags
+all: lib$(P).so.2.4.2 lib$(P).b llib-l$(P).ln tags
+
+static: lib$(P).a
programs: $(TARGET) $(TARGETu) lintpgm
diff -dur cudd-2.4.2.ORIG/epd/Makefile cudd-2.4.2/epd/Makefile
--- cudd-2.4.2.ORIG/epd/Makefile 2003-12-31 09:31:30.000000000 -0700
+++ cudd-2.4.2/epd/Makefile 2009-05-12 10:02:59.000000000 -0600
@@ -11,6 +11,9 @@
ICFLAGS = -g -O6 -Wall
CFLAGS = $(ICFLAGS) $(MFLAG) $(XCFLAGS)
+SHLINK = -shared -Xlinker -soname -Xlinker lib$(P).so.2 -L$(WHERE)/util \
+ -lcuddutil -lm
+
LINTFLAGS = -u -n
# this is to create the lint library
@@ -27,6 +30,11 @@
#---------------------------
+lib$(P).so.2.4.2: $(POBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(POBJ) $(SHLINK)
+ ln -s lib$(P).so.2.4.2 lib$(P).so.2
+ ln -s lib$(P).so.2 lib$(P).so
+
lib$(P).a: $(POBJ)
ar rv $@ $?
$(RANLIB) $@
@@ -55,7 +63,9 @@
tags: $(PSRC) $(PHDR)
ctags $(PSRC) $(PHDR)
-all: lib$(P).a lib$(P).b llib-l$(P).ln tags
+all: lib$(P).so.2.4.2 lib$(P).b llib-l$(P).ln tags
+
+static: lib$(P).a
clean:
rm -f *.o *.u .pure *.warnings
diff -dur cudd-2.4.2.ORIG/Makefile cudd-2.4.2/Makefile
--- cudd-2.4.2.ORIG/Makefile 2009-02-21 18:54:12.000000000 -0700
+++ cudd-2.4.2/Makefile 2009-05-12 10:03:36.000000000 -0600
@@ -199,7 +199,7 @@
IDIR = $(DDWDIR)/include
INCLUDE = -I$(IDIR)
-BDIRS = cudd dddmp mtr st util epd
+BDIRS = util epd mtr st cudd dddmp
DIRS = $(BDIRS) nanotrav
#------------------------------------------------------------------------
@@ -215,26 +215,32 @@
.PHONY : testmtr
.PHONY : lint
.PHONY : all
+.PHONY : static
.PHONY : clean
.PHONY : distclean
build:
sh ./setup.sh
- @for dir in $(DIRS); do \
+ @for dir in $(DIRS) obj; do \
(cd $$dir; \
echo Making $$dir ...; \
- make CC=$(CC) RANLIB=$(RANLIB) MFLAG= MNEMLIB= ICFLAGS="$(ICFLAGS)" XCFLAGS="$(XCFLAGS)" DDDEBUG="$(DDDEBUG)" MTRDEBUG="$(MTRDEBUG)" LDFLAGS="$(LDFLAGS)" PURE="$(PURE)" EXE="$(EXE)" )\
+ $(MAKE) CC=$(CC) RANLIB=$(RANLIB) MFLAG= MNEMLIB= ICFLAGS="$(ICFLAGS)" XCFLAGS="$(XCFLAGS)" DDDEBUG="$(DDDEBUG)" MTRDEBUG="$(MTRDEBUG)" LDFLAGS="$(LDFLAGS)" PURE="$(PURE)" EXE="$(EXE)" )\
done
-nanotrav: build
+cudd: mtr st util epd
+dddmp: cudd
+epd: util
+mtr: util
+nanotrav: dddmp
+st: util
check_leaks:
sh ./setup.sh
@for dir in mnemosyne $(DIRS); do \
(cd $$dir; \
echo Making $$dir ...; \
- make CC=$(CC) RANLIB=$(RANLIB) MFLAG=$(MFLAG) MNEMLIB=$(MNEMLIB) ICFLAGS="$(ICFLAGS)" XCFLAGS="$(XCFLAGS)" DDDEBUG="$(DDDEBUG)" MTRDEBUG="$(MTRDEBUG)" LDFLAGS="$(LDFLAGS)" EXE="$(EXE)" )\
+ $(MAKE) CC=$(CC) RANLIB=$(RANLIB) MFLAG=$(MFLAG) MNEMLIB=$(MNEMLIB) ICFLAGS="$(ICFLAGS)" XCFLAGS="$(XCFLAGS)" DDDEBUG="$(DDDEBUG)" MTRDEBUG="$(MTRDEBUG)" LDFLAGS="$(LDFLAGS)" EXE="$(EXE)" )\
done
optimize_dec:
@@ -242,7 +248,7 @@
@for dir in $(DIRS); do \
(cd $$dir; \
echo Making $$dir ...; \
- make CC=$(CC) RANLIB=$(RANLIB) XCFLAGS="$(XCFLAGS)" LDFLAGS="$(LDFLAGS)" optimize_dec )\
+ $(MAKE) CC=$(CC) RANLIB=$(RANLIB) XCFLAGS="$(XCFLAGS)" LDFLAGS="$(LDFLAGS)" optimize_dec )\
done
lint:
@@ -250,7 +256,7 @@
@for dir in $(DIRS) obj; do \
(cd $$dir; \
echo Making lint in $$dir ...; \
- make CC=$(CC) lint )\
+ $(MAKE) CC=$(CC) lint )\
done
tags:
@@ -258,15 +264,23 @@
@for dir in $(DIRS) obj; do \
(cd $$dir; \
echo Making tags in $$dir ...; \
- make CC=$(CC) tags )\
+ $(MAKE) CC=$(CC) tags )\
done
all:
sh ./setup.sh
- @for dir in $(DIRS); do \
+ @for dir in $(DIRS) obj; do \
(cd $$dir; \
echo Making all in $$dir ...; \
- make CC=$(CC) RANLIB=$(RANLIB) MFLAG= MNEMLIB= ICFLAGS="$(ICFLAGS)" XCFLAGS="$(XCFLAGS)" DDDEBUG="$(DDDEBUG)" MTRDEBUG="$(MTRDEBUG)" LDFLAGS="$(LDFLAGS)" PURE="$(PURE)" EXE="$(EXE)" all )\
+ $(MAKE) CC=$(CC) RANLIB=$(RANLIB) MFLAG= MNEMLIB= ICFLAGS="$(ICFLAGS)" XCFLAGS="$(XCFLAGS)" DDDEBUG="$(DDDEBUG)" MTRDEBUG="$(MTRDEBUG)" LDFLAGS="$(LDFLAGS)" PURE="$(PURE)" EXE="$(EXE)" all )\
+ done
+
+static:
+ sh ./setup.sh
+ @for dir in $(DIRS) obj; do \
+ (cd $$dir; \
+ echo Making static in $$dir ...; \
+ $(MAKE) CC=$(CC) RANLIB=$(RANLIB) MFLAG= MNEMLIB= ICFLAGS="$(ICFLAGS)" XCFLAGS="$(XCFLAGS)" DDDEBUG="$(DDDEBUG)" MTRDEBUG="$(MTRDEBUG)" LDFLAGS="$(LDFLAGS)" PURE="$(PURE)" EXE="$(EXE)" static )\
done
testcudd:
@@ -274,49 +288,49 @@
@for dir in util st mtr epd; do \
(cd $$dir; \
echo Making $$dir ...; \
- make CC=$(CC) RANLIB=$(RANLIB) MFLAG= MNEMLIB= ICFLAGS="$(ICFLAGS)" XCFLAGS="$(XCFLAGS)" DDDEBUG="$(DDDEBUG)" MTRDEBUG="$(MTRDEBUG)" LDFLAGS="$(LDFLAGS)" PURE="$(PURE)" EXE="$(EXE)" )\
+ $(MAKE) CC=$(CC) RANLIB=$(RANLIB) MFLAG= MNEMLIB= ICFLAGS="$(ICFLAGS)" XCFLAGS="$(XCFLAGS)" DDDEBUG="$(DDDEBUG)" MTRDEBUG="$(MTRDEBUG)" LDFLAGS="$(LDFLAGS)" PURE="$(PURE)" EXE="$(EXE)" )\
done
@(cd cudd; \
echo Making testcudd ...; \
- make CC=$(CC) RANLIB=$(RANLIB) MFLAG= MNEMLIB= ICFLAGS="$(ICFLAGS)" XCFLAGS="$(XCFLAGS)" DDDEBUG="$(DDDEBUG)" MTRDEBUG="$(MTRDEBUG)" LDFLAGS="$(LDFLAGS)" PURE="$(PURE)" EXE="$(EXE)" testcudd$(EXE) )
+ $(MAKE) CC=$(CC) RANLIB=$(RANLIB) MFLAG= MNEMLIB= ICFLAGS="$(ICFLAGS)" XCFLAGS="$(XCFLAGS)" DDDEBUG="$(DDDEBUG)" MTRDEBUG="$(MTRDEBUG)" LDFLAGS="$(LDFLAGS)" PURE="$(PURE)" EXE="$(EXE)" testcudd$(EXE) )
objlib:
sh ./setup.sh
@for dir in $(BDIRS); do \
(cd $$dir; \
echo Making $$dir ...; \
- make CC=$(CC) RANLIB=$(RANLIB) MFLAG= MNEMLIB= ICFLAGS="$(ICFLAGS)" XCFLAGS="$(XCFLAGS)" DDDEBUG="$(DDDEBUG)" MTRDEBUG="$(MTRDEBUG)" LDFLAGS="$(LDFLAGS)" PURE="$(PURE)" EXE="$(EXE)" )\
+ $(MAKE) CC=$(CC) RANLIB=$(RANLIB) MFLAG= MNEMLIB= ICFLAGS="$(ICFLAGS)" XCFLAGS="$(XCFLAGS)" DDDEBUG="$(DDDEBUG)" MTRDEBUG="$(MTRDEBUG)" LDFLAGS="$(LDFLAGS)" PURE="$(PURE)" EXE="$(EXE)" )\
done
@(cd obj; \
echo Making obj ...; \
- make CPP=$(CPP) CPPFLAGS=$(CPPFLAGS) RANLIB=$(RANLIB) MFLAG= MNEMLIB= ICFLAGS="$(ICFLAGS)" XCFLAGS="$(XCFLAGS)" DDDEBUG="$(DDDEBUG)" MTRDEBUG="$(MTRDEBUG)" LDFLAGS="$(LDFLAGS)" PURE="$(PURE)" EXE="$(EXE)" )
+ $(MAKE) CPP=$(CPP) CPPFLAGS=$(CPPFLAGS) RANLIB=$(RANLIB) MFLAG= MNEMLIB= ICFLAGS="$(ICFLAGS)" XCFLAGS="$(XCFLAGS)" DDDEBUG="$(DDDEBUG)" MTRDEBUG="$(MTRDEBUG)" LDFLAGS="$(LDFLAGS)" PURE="$(PURE)" EXE="$(EXE)" )
testobj: objlib
@(cd obj; \
echo Making testobj ...; \
- make CPP=$(CPP) CPPFLAGS=$(CPPFLAGS) RANLIB=$(RANLIB) MFLAG= MNEMLIB= ICFLAGS="$(ICFLAGS)" XCFLAGS="$(XCFLAGS)" DDDEBUG="$(DDDEBUG)" MTRDEBUG="$(MTRDEBUG)" LDFLAGS="$(LDFLAGS)" PURE="$(PURE)" EXE="$(EXE)" testobj$(EXE) )
+ $(MAKE) CPP=$(CPP) CPPFLAGS=$(CPPFLAGS) RANLIB=$(RANLIB) MFLAG= MNEMLIB= ICFLAGS="$(ICFLAGS)" XCFLAGS="$(XCFLAGS)" DDDEBUG="$(DDDEBUG)" MTRDEBUG="$(MTRDEBUG)" LDFLAGS="$(LDFLAGS)" PURE="$(PURE)" EXE="$(EXE)" testobj$(EXE) )
testdddmp: build
@(cd dddmp; \
echo Making testdddmp ...; \
- make CC=$(CC) RANLIB=$(RANLIB) MFLAG= MNEMLIB= ICFLAGS="$(ICFLAGS)" XCFLAGS="$(XCFLAGS)" DDDEBUG="$(DDDEBUG)" MTRDEBUG="$(MTRDEBUG)" LDFLAGS="$(LDFLAGS)" PURE="$(PURE)" EXE="$(EXE)" testdddmp$(EXE) )
+ $(MAKE) CC=$(CC) RANLIB=$(RANLIB) MFLAG= MNEMLIB= ICFLAGS="$(ICFLAGS)" XCFLAGS="$(XCFLAGS)" DDDEBUG="$(DDDEBUG)" MTRDEBUG="$(MTRDEBUG)" LDFLAGS="$(LDFLAGS)" PURE="$(PURE)" EXE="$(EXE)" testdddmp$(EXE) )
testmtr: build
@(cd mtr; \
echo Making testmtr ...; \
- make CC=$(CC) RANLIB=$(RANLIB) MFLAG= MNEMLIB= ICFLAGS="$(ICFLAGS)" XCFLAGS="$(XCFLAGS)" DDDEBUG="$(DDDEBUG)" MTRDEBUG="$(MTRDEBUG)" LDFLAGS="$(LDFLAGS)" PURE="$(PURE)" EXE="$(EXE)" testmtr$(EXE) )
+ $(MAKE) CC=$(CC) RANLIB=$(RANLIB) MFLAG= MNEMLIB= ICFLAGS="$(ICFLAGS)" XCFLAGS="$(XCFLAGS)" DDDEBUG="$(DDDEBUG)" MTRDEBUG="$(MTRDEBUG)" LDFLAGS="$(LDFLAGS)" PURE="$(PURE)" EXE="$(EXE)" testmtr$(EXE) )
clean:
@for dir in mnemosyne $(DIRS) obj; do \
(cd $$dir; \
echo Cleaning $$dir ...; \
- make -s clean ) \
+ $(MAKE) -s clean ) \
done
distclean:
@for dir in mnemosyne $(DIRS) obj; do \
(cd $$dir; \
echo Cleaning $$dir ...; \
- make -s EXE="$(EXE)" distclean ) \
+ $(MAKE) -s EXE="$(EXE)" distclean ) \
done
sh ./shutdown.sh
diff -dur cudd-2.4.2.ORIG/mnemosyne/Makefile cudd-2.4.2/mnemosyne/Makefile
--- cudd-2.4.2.ORIG/mnemosyne/Makefile 2009-02-19 23:39:23.000000000 -0700
+++ cudd-2.4.2/mnemosyne/Makefile 2009-05-12 10:02:59.000000000 -0600
@@ -19,14 +19,22 @@
#loader flags
LDFLGS =
+SHLINK = -shared -Xlinker -soname -Xlinker libmnem.so.2
HDRS = mnemosyne.h mnemconf.h
-all: mnemalyse libmnem.a
+all: mnemalyse libmnem.so.2.4.2
+
+static: libmnem.a
mnemalyse: mnemalyse.o
$(CC) $(LDFLGS) -o $@ mnemalyse.o
+libmnem.so.2.4.2: mnemosyne.o
+ $(CC) $(CFLAGS) $(LDFLAGS) $(SHLINK) -o $@ $<
+ ln -s libmnem.so.2.4.2 libmnem.so.2
+ ln -s libmnem.so.2 libmnem.so
+
libmnem.a: mnemosyne.o
ar rcv $@ mnemosyne.o
$(RANLIB) $@
diff -dur cudd-2.4.2.ORIG/mtr/Makefile cudd-2.4.2/mtr/Makefile
--- cudd-2.4.2.ORIG/mtr/Makefile 2004-01-01 11:47:16.000000000 -0700
+++ cudd-2.4.2/mtr/Makefile 2009-05-12 10:02:59.000000000 -0600
@@ -39,6 +39,9 @@
TARGET = test$(P)$(EXE)
TARGETu = test$(P)-u
+SHLINK = -shared -Xlinker -soname -Xlinker lib$(P).so.2 -L$(WHERE)/util \
+ -lcuddutil
+
LIBS = ./libmtr.a $(WHERE)/util/libutil.a
BLIBS = -kL. -klmtr -kL$(WHERE)/util -klutil
@@ -49,6 +52,11 @@
#---------------------------
+lib$(P).so.2.4.2: $(POBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(POBJ) $(SHLINK)
+ ln -s lib$(P).so.2.4.2 lib$(P).so.2
+ ln -s lib$(P).so.2 lib$(P).so
+
lib$(P).a: $(POBJ)
ar rv $@ $?
$(RANLIB) $@
@@ -79,7 +87,9 @@
tags: $(PSRC) $(PHDR)
ctags $(PSRC) $(PHDR)
-all: lib$(P).a lib$(P).b llib-l$(P).ln tags
+all: lib$(P).so.2.4.2 lib$(P).b llib-l$(P).ln tags
+
+static: lib$(P).a
$(TARGET): $(POBJ) $(OBJ) $(LIBS) $(MNEMLIB)
$(PURE) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBS) $(MNEMLIB) -lm
diff -dur cudd-2.4.2.ORIG/nanotrav/Makefile cudd-2.4.2/nanotrav/Makefile
--- cudd-2.4.2.ORIG/nanotrav/Makefile 1999-08-31 13:12:55.000000000 -0600
+++ cudd-2.4.2/nanotrav/Makefile 2009-05-12 10:02:59.000000000 -0600
@@ -19,6 +19,14 @@
INCLUDE = $(WHERE)/include
+SHLINK = -L$(WHERE)/dddmp -L$(WHERE)/cudd -L$(WHERE)/mtr -L$(WHERE)/st \
+ -L$(WHERE)/util -L$(WHERE)/epd -ldddmp -lcudd -lmtr -lcuddst \
+ -lcuddutil -lepd
+
+SHLIBS = $(WHERE)/dddmp/libdddmp.so.2.4.2 $(WHERE)/cudd/libcudd.so.2.4.2 \
+ $(WHERE)/mtr/libmtr.so.2.4.2 $(WHERE)/st/libcuddst.so.2.4.2 \
+ $(WHERE)/util/libcuddutil.so.2.4.2 $(WHERE)/epd/libepd.so.2.4.2
+
LIBS = $(WHERE)/dddmp/libdddmp.a $(WHERE)/cudd/libcudd.a \
$(WHERE)/mtr/libmtr.a $(WHERE)/st/libst.a $(WHERE)/util/libutil.a \
$(WHERE)/epd/libepd.a
@@ -60,8 +68,8 @@
#------------------------------------------------------
-$(TARGET): $(SRC) $(OBJ) $(HDR) $(LIBS) $(MNEMLIB)
- $(PURE) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBS) $(MNEMLIB) -lm
+$(TARGET): $(SRC) $(OBJ) $(HDR) $(SHLIBS) $(MNEMLIB)
+ $(PURE) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(SHLINK) $(MNEMLIB) -lm
.c.o: $(HDR)
$(CC) -c $< -I$(INCLUDE) $(CFLAGS) $(DDDEBUG)
@@ -87,6 +95,8 @@
all: $(TARGET) $(TARGETu) lint tags
+static:
+
pixie: $(TARGETu)
pixie $(TARGETu)
diff -dur cudd-2.4.2.ORIG/obj/Makefile cudd-2.4.2/obj/Makefile
--- cudd-2.4.2.ORIG/obj/Makefile 2001-03-19 00:35:09.000000000 -0700
+++ cudd-2.4.2/obj/Makefile 2009-05-12 10:06:13.000000000 -0600
@@ -27,6 +27,8 @@
INCLUDE = $(WHERE)/include
+SHLINK = -shared -Xlinker -soname -Xlinker lib$(PP).so.2
+
LIBS = ./libobj.a $(WHERE)/cudd/libcudd.a $(WHERE)/mtr/libmtr.a \
$(WHERE)/st/libst.a $(WHERE)/util/libutil.a $(WHERE)/epd/libepd.a
@@ -43,6 +45,7 @@
# files for the package
P = obj
+PP = cudd$(P)
PSRC = cuddObj.cc
PHDR = cuddObj.hh $(INCLUDE)/cudd.h
POBJ = $(PSRC:.cc=.o)
@@ -57,7 +60,12 @@
#------------------------------------------------------
-lib$(P).a: $(POBJ)
+lib$(PP).so.2.4.2: $(POBJ) $(WHERE)/cudd/libcudd.so
+ $(CPP) $(CFLAGS) $(LDFLAGS) -o $@ $(POBJ) $(SHLINK) -nodefaultlibs -lcudd -L$(WHERE)/cudd -lstdc++ -lgcc -lc
+ ln -s lib$(PP).so.2.4.2 lib$(PP).so.2
+ ln -s lib$(PP).so.2 lib$(PP).so
+
+lib$(PP).a: $(POBJ)
ar rv $@ $?
$(RANLIB) $@
@@ -66,7 +74,7 @@
optimize_dec: lib$(P).b
-lib$(P).b: $(PUBJ)
+lib$(PP).b: $(PUBJ)
ar rv $@ $?
$(RANLIB) $@
@@ -86,9 +94,9 @@
$(TARGETu): $(SRC) $(UBJ) $(HDR) $(LIBS:.a=.b)
cxx -O3 -Olimit 1000 $(XCFLAGS) $(LDFLAGS) -o $@ $(UBJ) $(BLIBS) -lm
-lint: llib-l$(P).ln
+lint: llib-l$(PP).ln
-llib-l$(P).ln: $(PSRC) $(PHDR)
+llib-l$(PP).ln: $(PSRC) $(PHDR)
lint $(LINTFLAGS) $(LINTSWITCH)$(P) -I$(INCLUDE) $(PSRC)
lintpgm: lint
@@ -97,7 +105,9 @@
tags: $(PSRC) $(PHDR)
ctags $(PSRC) $(PHDR)
-all: lib$(P).a lib$(P).b llib-l$(P).ln tags
+all: lib$(PP).so.2.4.2 lib$(PP).b llib-l$(PP).ln tags
+
+static: lib$(PP).a
programs: $(TARGET) $(TARGETu) lintpgm
diff -dur cudd-2.4.2.ORIG/st/Makefile cudd-2.4.2/st/Makefile
--- cudd-2.4.2.ORIG/st/Makefile 2004-01-01 09:53:24.000000000 -0700
+++ cudd-2.4.2/st/Makefile 2009-05-12 10:02:59.000000000 -0600
@@ -11,6 +11,9 @@
ICFLAGS = -g -O6 -Wall
CFLAGS = $(ICFLAGS) $(MFLAG) $(XCFLAGS)
+SHLINK = -shared -Xlinker -soname -Xlinker libcudd$(P).so.2 -L$(WHERE)/util \
+ -lcuddutil
+
LINTFLAGS = -u -n
# this is to create the lint library
@@ -27,6 +30,11 @@
#---------------------------
+libcudd$(P).so.2.4.2: $(POBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(POBJ) $(SHLINK)
+ ln -s libcudd$(P).so.2.4.2 libcudd$(P).so.2
+ ln -s libcudd$(P).so.2 libcudd$(P).so
+
lib$(P).a: $(POBJ)
ar rv $@ $?
$(RANLIB) $@
@@ -55,7 +63,9 @@
tags: $(PSRC) $(PHDR)
ctags $(PSRC) $(PHDR)
-all: lib$(P).a lib$(P).b llib-l$(P).ln tags
+all: libcudd$(P).so.2.4.2 lib$(P).b llib-l$(P).ln tags
+
+static: lib$(P).a
clean:
rm -f *.o *.u .pure *.warnings
diff -dur cudd-2.4.2.ORIG/util/Makefile cudd-2.4.2/util/Makefile
--- cudd-2.4.2.ORIG/util/Makefile 2004-01-03 10:15:30.000000000 -0700
+++ cudd-2.4.2/util/Makefile 2009-05-12 10:02:59.000000000 -0600
@@ -12,6 +12,8 @@
ICFLAGS = -g
CFLAGS = $(ICFLAGS) $(MFLAG) $(XCFLAGS)
+SHLINK = -shared -Xlinker -soname -Xlinker libcudd$(P).so.2
+
LINTFLAGS = -u -n
# this is to create the lint library
@@ -28,6 +30,11 @@
WHERE = ..
INCLUDE = $(WHERE)/include
+libcudd$(P).so.2.4.2: $(POBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(POBJ) $(SHLINK)
+ ln -s libcudd$(P).so.2.4.2 libcudd$(P).so.2
+ ln -s libcudd$(P).so.2 libcudd$(P).so
+
lib$(P).a: $(POBJ)
ar rv $@ $?
$(RANLIB) $@
@@ -56,7 +63,9 @@
tags: $(PSRC) $(PHDR)
ctags $(PSRC) $(PHDR)
-all: lib$(P).a lib$(P).b llib-l$(P).ln tags
+all: libcudd$(P).so.2.4.2 lib$(P).b llib-l$(P).ln tags
+
+static: lib$(P).a
clean:
rm -f *.o *.u core *.warnings