source: icGREP/icgrep-devel/cudd-2.5.1/obj/Makefile @ 6055

Last change on this file since 6055 was 4597, checked in by nmedfort, 4 years ago

Upload of the CUDD library.

File size: 2.5 KB
Line 
1# $Id: Makefile,v 1.3 2001/03/19 07:34:37 fabio Exp fabio $
2#
3# obj: CUDD's C++ interface
4#---------------------------------------------------------------------------
5.SUFFIXES: .o .cc .u
6
7CXX     = g++
8RANLIB  = ranlib
9# Define EXE as .exe for MS-DOS and derivatives.
10PURE    =
11EXE     =
12#EXE    = .exe
13
14MFLAG   =
15ICFLAGS = -g
16XCFLAGS =
17CXXFLAGS =
18CFLAGS  = $(ICFLAGS) $(MFLAG) $(XCFLAGS) $(CXXFLAGS)
19DDDEBUG =
20
21LINTFLAGS = -u -n -DDD_STATS -DDD_CACHE_PROFILE -DDD_VERBOSE -DDD_DEBUG -DDD_UNIQUE_PROFILE
22
23# this is to create the lint library
24LINTSWITCH = -o
25
26WHERE   = ..
27
28INCLUDE = $(WHERE)/include
29
30LIBS    = ./libobj.a $(WHERE)/cudd/libcudd.a $(WHERE)/mtr/libmtr.a \
31        $(WHERE)/st/libst.a $(WHERE)/util/libutil.a $(WHERE)/epd/libepd.a
32
33MNEMLIB =
34
35BLIBS   = -kL. -klobj -kL$(WHERE)/cudd -klcudd -kL$(WHERE)/mtr -klmtr \
36        -kL$(WHERE)/st -klst -kL$(WHERE)/util -klutil -kL$(WHERE)/epd -klepd
37
38LINTLIBS = ./llib-lobj.ln $(WHERE)/cudd/llib-lcudd.ln \
39        $(WHERE)/mtr/llib-lmtr.ln $(WHERE)/st/llib-lst.ln \
40        $(WHERE)/util/llib-lutil.ln $(WHERE)/epd/llib-lepd.ln
41
42LDFLAGS =
43
44# files for the package
45P       = obj
46PSRC    = cuddObj.cc
47PHDR    = cuddObj.hh $(INCLUDE)/cudd.h
48POBJ    = $(PSRC:.cc=.o)
49PUBJ    = $(PSRC:.cc=.u)
50TARGET  = test$(P)$(EXE)
51TARGETu = test$(P)-u
52
53# files for the test program
54SRC     = test$(P).cc
55OBJ     = $(SRC:.cc=.o)
56UBJ     = $(SRC:.cc=.u)
57
58#------------------------------------------------------
59
60lib$(P).a: $(POBJ)
61        ar rv $@ $?
62        $(RANLIB) $@
63
64.cc.o: $(PHDR)
65        $(CXX) -c $< -I$(INCLUDE) $(CFLAGS) $(DDDEBUG)
66
67optimize_dec: lib$(P).b
68
69lib$(P).b: $(PUBJ)
70        ar rv $@ $?
71        $(RANLIB) $@
72
73.cc.u: $(PHDR)
74        cxx -j $< -I$(INCLUDE) $(CFLAGS)
75
76# if the header files change, recompile
77$(POBJ): $(PHDR)
78$(PUBJ): $(PHDR)
79$(OBJ): $(PHDR)
80$(UBJ): $(PHDR)
81
82$(TARGET): $(SRC) $(OBJ) $(HDR) $(LIBS) $(MNEMLIB)
83        $(PURE) $(CXX) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBS) $(MNEMLIB) -lm
84
85# optimize (DECstations and Alphas only: uses u-code)
86$(TARGETu): $(SRC) $(UBJ) $(HDR) $(LIBS:.a=.b)
87        cxx -O3 -Olimit 1000 $(XCFLAGS) $(LDFLAGS) -o $@ $(UBJ) $(BLIBS) -lm
88
89lint: llib-l$(P).ln
90
91llib-l$(P).ln: $(PSRC) $(PHDR)
92        lint $(LINTFLAGS) $(LINTSWITCH)$(P) -I$(INCLUDE) $(PSRC)
93
94lintpgm: lint
95        lint $(LINTFLAGS) -I$(INCLUDE) $(SRC) $(LINTLIBS)
96
97tags: $(PSRC) $(PHDR)
98        ctags $(PSRC) $(PHDR)
99
100all: lib$(P).a lib$(P).b llib-l$(P).ln tags
101
102programs: $(TARGET) $(TARGETu) lintpgm
103
104clean:
105        rm -f *.o *.u mon.out gmon.out *.pixie *.Addrs *.Counts mnem.* \
106        .pure core *.warnings
107
108distclean: clean
109        rm -f $(TARGET) $(TARGETu) lib*.a lib$(P).b llib-l$(P).ln \
110        *.bak *~ tags .gdb_history *.qv *.qx
Note: See TracBrowser for help on using the repository browser.