Skip to content

Commit cad6b23

Browse files
authored
Merge pull request #5 from Zequan99/bddem-dt-exhaustive
Bddem dt exhaustive by Zequan
2 parents 94b1658 + e8f72df commit cad6b23

5 files changed

Lines changed: 589 additions & 610 deletions

File tree

Makefile.temp

Lines changed: 37 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,50 @@
1-
SHELL := /bin/bash
2-
LIBDIR=lib/$(SWIPL_ARCH)/
3-
CC=gcc
4-
INC1=cudd-3.0.0/cudd
5-
CURRDIR=$(shell pwd)
6-
INC2=${SWIPL_HOME_DIR}/include
7-
INCDIRS= -I$(INC1) -I$(SWIPL_INCLUDE_DIRS)
8-
CFLAGSBDDEM= $(CFLAGS) -fPIC -DBP_FREE -O3 -fomit-frame-pointer -Wall -g -O2 ${INCDIRS}
9-
LDFLAGS= $(LDSOFLAGS) -shared -Lcudd-3.0.0/cudd/.libs/ -lcudd -L$(SWIPL_LIBRARIES_DIR) $(SWIPL_LIB)
10-
SOEXT=$(SWIPL_MODULE_EXT)
11-
12-
all: bddem.$(SOEXT)
1+
SHELL := /bin/sh
132

14-
bddem.$(SOEXT): bddem.o
15-
@echo $(SOEXT)
16-
#swipl-ld -export-dynamic bddem.o $(LDFLAGS) -o bddem.$(SOEXT)
17-
if test $(SWIPL_ARCH) == x64-win64 -o $(SWIPL_ARCH) == i386-win32 ; then \
18-
$(CC) bddem.o -static-libgcc -static-libstdc++ $(LDFLAGS) -o bddem.$(SOEXT) ;\
19-
else \
20-
if [[ $(SWIPL_ARCH) == *darwin* ]] ; then \
21-
$(CC) bddem.o $(LDFLAGS) -o bddem.$(SOEXT) ;\
22-
else \
23-
$(CC) -export-dynamic bddem.o $(LDFLAGS) -o bddem.$(SOEXT) ;\
24-
fi \
25-
fi
26-
27-
bddem.o : bddem.c
28-
cd cudd-3.0.0 && $(MAKE) && cd ..
29-
$(CC) -c $(CFLAGSBDDEM) bddem.c -o bddem.o
3+
SWIPL ?= swipl
4+
SWIPL_BIN := $(shell command -v $(SWIPL))
5+
SWIPL_BINDIR := $(dir $(SWIPL_BIN))
6+
SWIPL_LD := $(SWIPL_BINDIR)swipl-ld
7+
CC ?= cc
8+
INSTALL ?= install
309

10+
PLBASE := $(shell $(SWIPL) --dump-runtime-variables | sed -n 's/^PLBASE="\(.*\)";/\1/p')
11+
PLARCH := $(shell $(SWIPL) --dump-runtime-variables | sed -n 's/^PLARCH="\(.*\)";/\1/p')
12+
SOEXT := $(shell $(SWIPL) --dump-runtime-variables | sed -n 's/^PLSOEXT="\(.*\)";/\1/p')
3113

32-
distclean: clean
33-
rm Makefile
34-
cd cudd-3.0.0 && $(MAKE) distclean && cd ..
14+
CUDD_DIR := cudd-3.0.0
15+
LIBDIR := lib/$(PLARCH)
16+
17+
INC1 := $(CUDD_DIR)/cudd
18+
INC2 := $(PLBASE)/include
19+
INC3 := $(CUDD_DIR)/st
20+
INCDIRS := -I$(INC1) -I$(INC2) -I$(INC3)
21+
22+
CFLAGSBDDEM := $(CFLAGS) -fPIC -DBP_FREE -O3 -fomit-frame-pointer -Wall -g -O2 $(INCDIRS)
23+
LDFLAGS := -shared -L$(CUDD_DIR)/cudd/.libs/ -lcudd
24+
25+
.PHONY: all clean distclean check install installcheck
26+
27+
all: bddem.$(SOEXT)
28+
29+
bddem.$(SOEXT): bddem.o
30+
$(SWIPL_LD) bddem.o $(LDFLAGS) -o $@
31+
32+
bddem.o: bddem.c
33+
$(MAKE) -C $(CUDD_DIR)
34+
$(CC) -c $(CFLAGSBDDEM) bddem.c -o $@
3535

3636
clean:
3737
rm -f *.o bddem.$(SOEXT)
3838

39+
distclean: clean
40+
$(MAKE) -C $(CUDD_DIR) distclean
41+
3942
check:
4043
@echo "no check"
4144

4245
install: all
43-
mkdir -p $(LIBDIR)
44-
@echo $(SOEXT)
45-
cp bddem.$(SOEXT) $(LIBDIR)
46+
$(INSTALL) -d $(LIBDIR)
47+
$(INSTALL) bddem.$(SOEXT) $(LIBDIR)/bddem.$(SOEXT)
4648

4749
installcheck:
48-
swipl -g test_bddem -t halt prolog/bddem_test.pl
50+
$(SWIPL) -g test -t halt prolog/bddem_test.pl

0 commit comments

Comments
 (0)