4 LIBS=-lm libmatrix.so libexponentialsum.so libextend.so libmeasurepauli.so libinnerproduct.so
6 strongsim_relerr: strongsim_relerr.c matrix exponentialsum shrink shrinkstar extend measurepauli innerproduct randomstabilizerstate
7 $(CC) -o $@ strongsim_relerr.c $(CFLAGS) $(LIBS) libshrink.so libshrinkstar.so librandomstabilizerstate.so
9 strongsim: strongsim.c matrix exponentialsum shrink extend measurepauli innerproduct
10 $(CC) -o $@ strongsim.c $(CFLAGS) $(LIBS) libshrink.so
12 matrix: matrix.h matrix.c
13 $(CC) -c -Werror -Wall -fpic matrix.c
14 $(CC) -shared -o libmatrix.so matrix.o
16 exponentialsum: exponentialsum.h exponentialsum.c
17 $(CC) -c -Wall -fpic exponentialsum.c
18 $(CC) -shared -o libexponentialsum.so exponentialsum.o -lm libmatrix.so
20 shrink: shrink.h shrink.c
21 $(CC) -c -Wall -fpic shrink.c
22 $(CC) -shared -o libshrink.so shrink.o -lm libmatrix.so
24 extend: extend.h extend.c
25 $(CC) -c -Werror -Wall -fpic extend.c
26 $(CC) -shared -o libextend.so extend.o -lm libmatrix.so
28 measurepauli: measurepauli.h measurepauli.c
29 $(CC) -c -Wall -fpic measurepauli.c
30 $(CC) -shared -o libmeasurepauli.so measurepauli.o -lm libextend.so libshrink.so libmatrix.so
32 innerproduct: innerproduct.h innerproduct.c
33 $(CC) -c -Wall -fpic innerproduct.c
34 $(CC) -shared -o libinnerproduct.so innerproduct.o -lm libextend.so libshrink.so libexponentialsum.so libmatrix.so
36 innerproductintersection: innerproductintersection.h innerproductintersection.c
37 $(CC) -c -Wall -fpic innerproductintersection.c
38 $(CC) -shared -o libinnerproductintersection.so innerproductintersection.o -lm libextend.so libshrink.so libexponentialsum.so libmatrix.so
40 shrinkstar: shrinkstar.h shrinkstar.c
41 $(CC) -c -Wall -fpic shrinkstar.c
42 $(CC) -shared -o libshrinkstar.so shrinkstar.o -lm libmatrix.so
44 randomstabilizerstate: randomstabilizerstate.h randomstabilizerstate.c
45 $(CC) -c -Wall -fpic randomstabilizerstate.c
46 $(CC) -shared -o librandomstabilizerstate.so randomstabilizerstate.o -lm libmatrix.so libshrinkstar.so -llapacke
48 randominputcommutingHermitianPauli: randominputcommutingHermitianPauli.c
49 $(CC) -o randominputcommutingHermitianPauli randominputcommutingHermitianPauli.c
51 randominputPauli: randominputPauli.c
52 $(CC) -o randominputPauli randominputPauli.c
54 multipauli: multipauli.c
55 $(CC) -o multipauli multipauli.c -lm
60 rm ./strongsim ./matrix.o ./libmatrix.so ./exponentialsum.o ./libexponentialsum.so ./shrink.o ./libshrink.so ./extend.o ./libextend.so ./measurepauli.o ./libmeasurepauli.so ./libinnerproduct.so
62 # you might want to update LD_LIBRARY_PATH to see the library:
63 # export LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH
64 # or if you have root privileges put the library /usr/local/lib or whatever library directory in your path
65 # Then, use ldconfig to write the path in the config file:
66 # sudo echo "/usr/local/lib" >> /etc/ld.so.conf