-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathMakefile
75 lines (52 loc) · 3.65 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
CC = gcc
CFLAGS = -std=c11 -pedantic-errors -Wall -Werror -Wshadow -Wpedantic -g -fPIC
NUMPY_DIR_PY2 = /usr/lib/python2.7/dist-packages/numpy/core/include/numpy
NUMPY_DIR_PY3 = /usr/local/lib/python3.6/dist-packages/numpy/core/include/numpy
TOMMY = tommyds/tommyds/
all: alma.x shared python
alma.x: tommyarray.o tommyhashlin.o tommyhash.o tommylist.o mpc.o alma_parser.o alma_formula.o alma_clause.o alma_kb.o alma_unify.o alma_command.o alma_print.o alma_proc.o alma_fif.o alma_backsearch.o alma.o
$(CC) tommyarray.o tommyhashlin.o tommyhash.o tommylist.o mpc.o alma_parser.o alma_formula.o alma_clause.o alma_kb.o alma_unify.o alma_command.o alma_print.o alma_proc.o alma_fif.o alma_backsearch.o alma.o -o alma.x
tommyhashlin.o: $(TOMMY)tommyhash.c $(TOMMY)tommyhashlin.c $(TOMMY)tommytypes.h $(TOMMY)tommyhash.h $(TOMMY)tommylist.h $(TOMMY)tommyhashlin.h
$(CC) $(CFLAGS) -c $(TOMMY)tommyhashlin.c
tommyarray.o: $(TOMMY)tommyarray.c $(TOMMY)tommytypes.h $(TOMMY)tommyarray.h
$(CC) $(CFLAGS) -c $(TOMMY)tommyarray.c
tommylist.o: $(TOMMY)tommylist.c $(TOMMY)tommytypes.h $(TOMMY)tommychain.h $(TOMMY)tommylist.h
$(CC) $(CFLAGS) -c $(TOMMY)tommylist.c
tommyhash.o: $(TOMMY)tommyhash.c $(TOMMY)tommytypes.h $(TOMMY)tommyhash.h
$(CC) $(CFLAGS) -c $(TOMMY)tommyhash.c
tommy: $(TOMMY)tommytypes.h $(TOMMY)tommyhash.h $(TOMMY)tommylist.h $(TOMMY)tommyhashlin.h $(TOMMY)tommyarray.h $(TOMMY)tommychain.h
touch tommy.h
mpc.o: mpc/mpc.c mpc/mpc.h
$(CC) $(CFLAGS) -c mpc/mpc.c
alma.o: alma.c alma.h alma_command.h alma_print.h
$(CC) $(CFLAGS) -c alma.c
alma_command.o: alma_command.c alma_command.h alma.h alma_kb.h alma_formula.h alma_backsearch.h alma_fif.h alma_parser.h alma_print.h tommy.h
$(CC) $(CFLAGS) -c alma_command.c
alma_parser.o: alma_parser.c mpc/mpc.h alma_parser.h
$(CC) $(CFLAGS) -c alma_parser.c
alma_formula.o: alma_formula.c mpc/mpc.h alma_formula.h alma_parser.h alma_print.h alma_clause.h
$(CC) $(CFLAGS) -c alma_formula.c
alma_clause.o: alma_clause.c alma_clause.h alma_formula.h alma_print.h alma_unify.h alma_fif.h tommy.h
$(CC) $(CFLAGS) -c alma_clause.c
alma_kb.o: alma_kb.c alma_unify.h alma_formula.h alma_clause.h alma_print.h alma_kb.h alma_backsearch.h alma_fif.h tommy.h
$(CC) $(CFLAGS) -c alma_kb.c
alma_unify.o: alma_unify.c alma_unify.h alma_fif.h alma_formula.h alma_clause.h
$(CC) $(CFLAGS) -c alma_unify.c
alma_print.o: alma_print.c alma_print.h alma_formula.h alma_clause.h alma_unify.h alma_fif.h
$(CC) $(CFLAGS) -c alma_print.c
alma_proc.o: alma_proc.c alma_kb.h alma_formula.h alma_unify.h alma_print.h alma_fif.h alma_clause.h alma_proc.h tommy.h
$(CC) $(CFLAGS) -c alma_proc.c
alma_fif.o: alma_fif.c alma_kb.h alma_formula.h alma_unify.h alma_proc.h alma_clause.h alma_print.h alma_fif.h tommy.h
$(CC) $(CFLAGS) -c alma_fif.c
alma_backsearch.o: alma_backsearch.c alma_kb.h alma_formula.h alma_clause.h alma_unify.h alma_backsearch.h tommy.h
$(CC) $(CFLAGS) -c alma_backsearch.c
clean:
rm -f *.x *.o *.so build/lib.linux-x86_64-2.7/alma.so
shared: tommyarray.o tommyhashlin.o tommyhash.o tommylist.o mpc.o alma_parser.o alma_formula.o alma_clause.o alma_kb.o alma_unify.o alma_command.o alma_print.o alma_proc.o alma_fif.o alma_backsearch.o alma.o
$(CC) -shared -o libalma.so tommyarray.o tommyhashlin.o tommyhash.o tommylist.o mpc.o alma_parser.o alma_formula.o alma_clause.o alma_kb.o alma_unify.o alma_command.o alma_print.o alma_proc.o alma_fif.o alma_backsearch.o alma.o
sudo cp libalma.so /usr/local/lib/libalma.so
python:
sudo python2 setup.py install
echo "\n\nMake sure to add /usr/local/lib to your library linking path: e.g. adding \"export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib\" to ~/.bashrc file"
run:
./alma.x -f demo/fc-test.pl