]> gitweb.ps.run Git - matrix_esp_thesis/blob - ext/olm/lib/curve25519-donna/contrib/make-snippets
add dependencies to repo
[matrix_esp_thesis] / ext / olm / lib / curve25519-donna / contrib / make-snippets
1 CFLAGS=-Wmissing-prototypes -Wdeclaration-after-statement -O2 -Wall
2 CC=clang
3
4
5 targets: curve25519-donna.a curve25519-donna-c64.a
6
7 test: test-donna test-donna-c64
8
9
10 clean:
11         rm -f java-src/*.class java-src/*.jnilib *.dylib *.o *.a *.pp test-curve25519-donna test-curve25519-donna-c64 speed-curve25519-donna speed-curve25519-donna-c64
12
13 curve25519-donna.a: curve25519-donna.o
14         ar -rc curve25519-donna.a curve25519-donna.o
15         ranlib curve25519-donna.a
16
17
18 ##### OSX dynamic library (32- & 64-bit)
19
20 curve25519donna.dylib: curve25519-donna.a curve25519-donna-c64.a
21         $(CC) -m32 -fpic -shared -Wl,-all_load curve25519-donna.a -Wl,-all_load -o libcurve25519donna.dylib
22         $(CC) -fpic -shared -Wl,-all_load curve25519-donna-c64.a -Wl,-all_load -o libcurve25519donna_64.dylib
23
24 ##### OSX/Java section hence
25
26 # Java JNI - compiled for OSX (32- & 64-bit)
27 Curve25519Donna.class:
28         cd java-src; javah -jni Curve25519Donna; cd ..
29         cd java-src; javac Curve25519Donna.java; cd ..
30
31 Curve25519Donna.jnilib: curve25519-donna.a curve25519-donna-c64.a Curve25519Donna.class
32         @echo "Building 32-bit..."
33         clang -o java-src/libCurve25519Donna.jnilib $(CFLAGS) -lc -shared -m32 -I /System/Library/Frameworks/JavaVM.framework/Headers curve25519-donna.o java-src/Curve25519Donna.c
34         @echo "Building 64-bit..."
35         clang -o java-src/libCurve25519Donna_64.jnilib $(CFLAGS) -lc -shared -I /System/Library/Frameworks/JavaVM.framework/Headers curve25519-donna-c64.o java-src/Curve25519Donna.c
36
37 ##### OSX/Java section end
38
39 curve25519-donna.o: curve25519-donna.c
40         $(CC) -c curve25519-donna.c $(CFLAGS) -m32
41
42 curve25519-donna-c64.a: curve25519-donna-c64.o
43         ar -rc curve25519-donna-c64.a curve25519-donna-c64.o
44         ranlib curve25519-donna-c64.a
45
46 curve25519-donna-c64.o: curve25519-donna-c64.c
47         $(CC) -c curve25519-donna-c64.c $(CFLAGS)
48
49 test-donna: test-curve25519-donna
50         ./test-curve25519-donna | head -123456 | tail -1
51
52 test-donna-c64: test-curve25519-donna-c64
53         ./test-curve25519-donna-c64 | head -123456 | tail -1
54
55 test-curve25519-donna: test-curve25519.c curve25519-donna.a
56         $(CC) -o test-curve25519-donna test-curve25519.c curve25519-donna.a $(CFLAGS) -m32
57
58 test-curve25519-donna-c64: test-curve25519.c curve25519-donna-c64.a
59         $(CC) -o test-curve25519-donna-c64 test-curve25519.c curve25519-donna-c64.a $(CFLAGS)
60
61 speed-curve25519-donna: speed-curve25519.c curve25519-donna.a
62         $(CC) -o speed-curve25519-donna speed-curve25519.c curve25519-donna.a $(CFLAGS) -m32
63
64 speed-curve25519-donna-c64: speed-curve25519.c curve25519-donna-c64.a
65         $(CC) -o speed-curve25519-donna-c64 speed-curve25519.c curve25519-donna-c64.a $(CFLAGS)
66
67 test-sc-curve25519-donna-c64: test-sc-curve25519.c curve25519-donna-c64.a
68         $(CC) -o test-sc-curve25519-donna-c64 -O test-sc-curve25519.c curve25519-donna-c64.a test-sc-curve25519.s $(CFLAGS)