Added License and bugfixes.
[ocl-icd] / Makefile
1 CC=gcc
2 RUBY=ruby
3 CCFLAGS=-O2 -Wall -Werror -Wno-cpp -Wno-deprecated-declarations -Wno-comment
4
5 all: library_database
6
7 library_database: 
8         $(RUBY) icd_generator.rb --database
9         $(CC) $(CCFLAGS) -fpic -c ocl_icd.c -o ocl_icd.o
10         $(CC) $(CCFLAGS) -fpic -c ocl_icd_lib.c -o ocl_icd_lib.o
11         $(CC) $(CCFLAGS) -fpic -shared -Wl,-Bsymbolic -Wl,-soname,liOpenCL.so -o libOpenCL.so.1.0 ocl_icd.o ocl_icd_lib.o
12         $(CC) $(CCFLAGS) -c ocl_icd_test.c -o ocl_icd_test.o 
13         $(CC) $(CCFLAGS) ocl_icd_test.o -lOpenCL -o ocl_icd_test
14
15 library: test_tools install
16         $(RUBY) icd_generator.rb --finalize
17         $(CC) $(CCFLAGS) -c ocl_icd.c -o ocl_icd.o -fpic
18         $(CC) $(CCFLAGS) -c ocl_icd_lib.c -o ocl_icd_lib.o -fpic
19         $(CC) $(CCFLAGS) -fpic -shared -Wl,-Bsymbolic -Wl,-soname,liOpenCL.so -o libOpenCL.so.1.0 ocl_icd.o ocl_icd_lib.o
20         $(CC) $(CCFLAGS) -c ocl_icd_test.c -o ocl_icd_test.o 
21         $(CC) $(CCFLAGS) ocl_icd_test.o -lOpenCL -o ocl_icd_test 
22
23 test_tools: libdummycl.so.1.0 ocl_icd_dummy_test
24
25 libdummycl.so.1.0: ocl_icd_dummy.o
26         $(CC) $(CCFLAGS) -fpic -shared -Wl,-Bsymbolic -Wl,-soname,libdummycl.so.1 -o libdummycl.so.1.0 ocl_icd_dummy.o
27
28 ocl_icd_dummy_test: ocl_icd_dummy_test.o
29         $(CC) $(CCFLAGS) -o ocl_icd_dummy_test ocl_icd_dummy_test.o -lOpenCL
30
31 ocl_icd_dummy_test.o: generator
32         $(CC) $(CCFLAGS) -c ocl_icd_dummy_test.c -o ocl_icd_dummy_test.o
33
34 ocl_icd_dummy.o: generator
35         $(CC) $(CCFLAGS) -fpic -c ocl_icd_dummy.c -o ocl_icd_dummy.o
36
37 generator: icd_generator.rb
38         $(RUBY) icd_generator.rb --generate
39
40
41 install: libdummycl.so.1.0
42         cp libdummycl.so.1.0 /usr/local/lib/
43         ln -sf /usr/local/lib/libdummycl.so.1.0 /usr/local/lib/libdummycl.so
44         ln -sf /usr/local/lib/libdummycl.so.1.0 /usr/local/lib/libdummycl.so.1
45         echo "/usr/local/lib/libdummycl.so" > /etc/OpenCL/vendors/dummycl.icd
46         ldconfig
47
48 uninstall:
49         rm -f /usr/local/lib/libdummycl.so /usr/local/lib/libdummycl.so.1 /etc/OpenCL/vendors/dummycl.icd
50
51 clean:
52         rm -f ocl_icd_dummy_test.o ocl_icd_dummy_test.c ocl_icd_dummy.o ocl_icd_dummy.c ocl_icd_dummy.h ocl_icd_bindings.c ocl_icd.h libdummycl.so.1.0 ocl_icd_lib.c ocl_icd_lib.o ocl_icd.o ocl_icd_test ocl_icd_dummy_test ocl_icd_test.o libOpenCL.so.1.0
53
54 partial-clean:
55         rm -f ocl_icd_dummy_test.o ocl_icd_dummy_test.c ocl_icd_dummy.o ocl_icd_dummy.c ocl_icd_dummy.h libdummycl.so.1.0