-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathdynlib.patch
More file actions
37 lines (30 loc) · 2.48 KB
/
dynlib.patch
File metadata and controls
37 lines (30 loc) · 2.48 KB
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
diff --git a/lib/makefile b/lib/makefile
index 37b686d..24c45d1 100644
--- a/lib/makefile
+++ b/lib/makefile
@@ -1,7 +1,8 @@
include config.mk
# CC += -g -fsanitize=address -fno-omit-frame-pointer # -fprofile-arcs -ftest-coverage
-CFLAGS := -O3 -ffast-math -Wall $(CFLAGS)
+CFLAGS := -fPIC -O3 -ffast-math -Wall $(CFLAGS)
+LDFLAGS := `cat .deps`
NVFLAGS := -O3 $(NVFLAGS)
.PHONY: all clean
@@ -9,16 +10,19 @@ NVFLAGS := -O3 $(NVFLAGS)
all: libccv.a ../samples/image-net-2012-vgg-d.sqlite3
clean:
- rm -f *.o 3rdparty/sha1/*.o 3rdparty/sfmt/*.o 3rdparty/kissfft/*.o 3rdparty/dsfmt/*.o 3rdparty/sqlite3/*.o cuda/*.o libccv.a
+ rm -f *.o 3rdparty/sha1/*.o 3rdparty/sfmt/*.o 3rdparty/kissfft/*.o 3rdparty/dsfmt/*.o 3rdparty/sqlite3/*.o cuda/*.o libccv.a libccv.so
libccv.a: ccv_cache.o ccv_memory.o 3rdparty/sha1/sha1.o 3rdparty/kissfft/kiss_fft.o 3rdparty/kissfft/kiss_fftnd.o 3rdparty/kissfft/kiss_fftr.o 3rdparty/kissfft/kiss_fftndr.o 3rdparty/kissfft/kissf_fft.o 3rdparty/kissfft/kissf_fftnd.o 3rdparty/kissfft/kissf_fftr.o 3rdparty/kissfft/kissf_fftndr.o 3rdparty/dsfmt/dSFMT.o 3rdparty/sfmt/SFMT.o 3rdparty/sqlite3/sqlite3.o ccv_io.o ccv_numeric.o ccv_algebra.o ccv_util.o ccv_basic.o ccv_image_processing.o ccv_resample.o ccv_transform.o ccv_classic.o ccv_daisy.o ccv_sift.o ccv_bbf.o ccv_mser.o ccv_swt.o ccv_dpm.o ccv_tld.o ccv_ferns.o ccv_icf.o ccv_scd.o ccv_convnet.o ccv_output.o $(CUDA_OBJS)
$(AR) rcs $@ $^
+libccv.so: ccv_cache.o ccv_memory.o 3rdparty/sha1/sha1.o 3rdparty/kissfft/kiss_fft.o 3rdparty/kissfft/kiss_fftnd.o 3rdparty/kissfft/kiss_fftr.o 3rdparty/kissfft/kiss_fftndr.o 3rdparty/kissfft/kissf_fft.o 3rdparty/kissfft/kissf_fftnd.o 3rdparty/kissfft/kissf_fftr.o 3rdparty/kissfft/kissf_fftndr.o 3rdparty/dsfmt/dSFMT.o 3rdparty/sfmt/SFMT.o 3rdparty/sqlite3/sqlite3.o ccv_io.o ccv_numeric.o ccv_algebra.o ccv_util.o ccv_basic.o ccv_image_processing.o ccv_resample.o ccv_transform.o ccv_classic.o ccv_daisy.o ccv_sift.o ccv_bbf.o ccv_mser.o ccv_swt.o ccv_dpm.o ccv_tld.o ccv_ferns.o ccv_icf.o ccv_scd.o ccv_convnet.o ccv_output.o $(CUDA_OBJS)
+ gcc -shared -o $@ $^ $(CFLAGS) $(LDFLAGS)
+
ccv_io.o: ccv_io.c ccv.h ccv_internal.h io/*.c
- $(CC) $< -o $@ -c $(CFLAGS)
+ $(CC) $< -o $@ -c $(CFLAGS) $(LDFLAGS)
3rdparty/sqlite3/sqlite3.o: 3rdparty/sqlite3/sqlite3.c
- $(CC) $< -o $@ -c -O3 -D SQLITE_THREADSAFE=0 -D SQLITE_OMIT_LOAD_EXTENSION
+ $(CC) $< -o $@ -c -O3 -D SQLITE_THREADSAFE=0 -D SQLITE_OMIT_LOAD_EXTENSION -fPIC
../samples/image-net-2012-vgg-d.sqlite3:
../samples/download-vgg-d-model.sh