4 #---------------------------
10 # Define EXE as .exe for MS-DOS and derivatives.
17 CFLAGS
= $(ICFLAGS
) $(MFLAG
) $(XCFLAGS
)
18 #DDDEBUG = -DDD_DEBUG -DDD_CACHE_PROFILE -DDD_VERBOSE -DDD_UNIQUE_PROFILE
21 LINTFLAGS
= -u
-n
-DDD_STATS
-DDD_CACHE_PROFILE
-DDD_VERBOSE
-DDD_DEBUG
-DDD_UNIQUE_PROFILE
23 # this is to create the lint library
28 INCLUDE
= $(WHERE
)/include
30 LIBS
= .
/libcudd.a
$(WHERE
)/mtr
/libmtr.a \
31 $(WHERE
)/st
/libst.a
$(WHERE
)/util
/libutil.a
$(WHERE
)/epd
/libepd.a
35 BLIBS
= -kL.
-klcudd
-kL
$(WHERE
)/mtr
-klmtr \
36 -kL
$(WHERE
)/st
-klst
-kL
$(WHERE
)/util
-klutil
-kL
$(WHERE
)/epd
-klepd
38 LINTLIBS
= .
/llib-lcudd.ln
$(WHERE
)/mtr
/llib-lmtr.ln \
39 $(WHERE
)/st
/llib-lst.ln
$(WHERE
)/util
/llib-lutil.ln \
40 $(WHERE
)/epd
/llib-lepd.ln
44 # files for the package
46 PSRC
= cuddAPI.c cuddAddAbs.c cuddAddApply.c cuddAddFind.c cuddAddIte.c \
47 cuddAddInv.c cuddAddNeg.c cuddAddWalsh.c cuddAndAbs.c \
48 cuddAnneal.c cuddApa.c cuddApprox.c cuddBddAbs.c cuddBddCorr.c \
49 cuddBddIte.c cuddBridge.c cuddCache.c cuddCheck.c cuddClip.c \
50 cuddCof.c cuddCompose.c cuddDecomp.c cuddEssent.c \
51 cuddExact.c cuddExport.c cuddGenCof.c cuddGenetic.c \
52 cuddGroup.c cuddHarwell.c cuddInit.c cuddInteract.c \
53 cuddLCache.c cuddLevelQ.c \
54 cuddLinear.c cuddLiteral.c cuddMatMult.c cuddPriority.c \
55 cuddRead.c cuddRef.c cuddReorder.c cuddSat.c cuddSign.c \
56 cuddSolve.c cuddSplit.c cuddSubsetHB.c cuddSubsetSP.c cuddSymmetry.c \
57 cuddTable.c cuddUtil.c cuddWindow.c cuddZddCount.c cuddZddFuncs.c \
58 cuddZddGroup.c cuddZddIsop.c cuddZddLin.c cuddZddMisc.c \
59 cuddZddPort.c cuddZddReord.c cuddZddSetop.c cuddZddSymm.c \
61 PHDR
= cudd.h cuddInt.h
64 TARGET
= test$(P
)$(EXE
)
67 # files for the test program
72 #------------------------------------------------------
75 gcc
--shared
-o
$@
$?
$(LIBS
)
82 $(CC
) -c
$< -I
$(INCLUDE
) $(CFLAGS
) $(DDDEBUG
)
84 optimize_dec
: lib
$(P
).b
91 cc -j
$< -I
$(INCLUDE
) $(XCFLAGS
)
93 # if the header files change, recompile
99 $(TARGET
): $(SRC
) $(OBJ
) $(HDR
) $(LIBS
) $(MNEMLIB
)
100 $(PURE
) $(CC
) $(CFLAGS
) $(LDFLAGS
) -o
$@
$(OBJ
) $(LIBS
) $(MNEMLIB
) -lm
102 # optimize (DECstations and Alphas only: uses u-code)
103 $(TARGETu
): $(SRC
) $(UBJ
) $(HDR
) $(LIBS
:.a
=.b
)
104 $(CC
) -O3
-Olimit
1000 $(XCFLAGS
) $(LDFLAGS
) -o
$@
$(UBJ
) $(BLIBS
) -lm
108 llib-l
$(P
).ln
: $(PSRC
) $(PHDR
)
109 lint
$(LINTFLAGS
) $(LINTSWITCH
)$(P
) -I
$(INCLUDE
) $(PSRC
)
112 lint
$(LINTFLAGS
) -I
$(INCLUDE
) $(SRC
) $(LINTLIBS
)
114 tags: $(PSRC
) $(PHDR
)
115 ctags
$(PSRC
) $(PHDR
)
117 all: lib
$(P
).a lib
$(P
).so lib
$(P
).b llib-l
$(P
).ln
tags
119 programs
: $(TARGET
) $(TARGETu
) lintpgm
122 rm -f
*.o
*.u mon.out gmon.out
*.pixie
*.Addrs
*.Counts mnem.
* \
123 .pure core
*.warnings
126 rm -f
$(TARGET
) $(TARGETu
) lib
*.a lib
$(P
).b llib-l
$(P
).ln \
127 *.bak
*~
tags .gdb_history
*.qv
*.qx