|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
ACLOCAL_AMFLAGS = -I m4
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
SUBDIRS = . doc tests
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
RUBY=ruby
|
|
Packit Service |
e6cf14 |
AM_CPPFLAGS = -Wall @AM_CPPFLAGS@
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
pkgconfigdir = $(libdir)/pkgconfig
|
|
Packit Service |
e6cf14 |
pkgconfig_DATA= OpenCL.pc ocl-icd.pc
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
EXTRA_DIST=icd_generator.rb ocl_interface.yaml bootstrap \
|
|
Packit Service |
e6cf14 |
$(TESTFILES) khronos-headers
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
##################################################################
|
|
Packit Service |
e6cf14 |
# Main OpenCL ICD Loader library
|
|
Packit Service |
e6cf14 |
lib_LTLIBRARIES = libOpenCL.la
|
|
Packit Service |
e6cf14 |
nodist_include_HEADERS = ocl_icd.h
|
|
Packit Service |
e6cf14 |
pkgexampledir = $(docdir)/examples
|
|
Packit Service |
e6cf14 |
pkgexample_DATA = ocl_icd_bindings.c
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
FILES_FROM_DATABASE = ocl_icd.h ocl_icd_loader_gen.h \
|
|
Packit Service |
e6cf14 |
ocl_icd_loader_gen.c ocl_icd_bindings.c \
|
|
Packit Service |
e6cf14 |
ocl_icd_loader_gen.map
|
|
Packit Service |
e6cf14 |
BUILT_SOURCES = $(FILES_FROM_DATABASE)
|
|
Packit Service |
e6cf14 |
CLEANFILES = $(FILES_FROM_DATABASE) stamp-generator
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
if UPDATE_DATABASE
|
|
Packit Service |
e6cf14 |
use_system_headers=--system-headers
|
|
Packit Service |
e6cf14 |
else
|
|
Packit Service |
e6cf14 |
use_system_headers=
|
|
Packit Service |
e6cf14 |
endif
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
# Generate sources and headers from the database
|
|
Packit Service |
e6cf14 |
stamp-generator: ocl_interface.yaml
|
|
Packit Service |
e6cf14 |
$(FILES_FROM_DATABASE): stamp-generator
|
|
Packit Service |
e6cf14 |
stamp-generator: icd_generator.rb
|
|
Packit Service |
e6cf14 |
$(RUBY) $< --mode database --database $(srcdir)/ocl_interface.yaml \
|
|
Packit Service |
e6cf14 |
$(use_system_headers)
|
|
Packit Service |
e6cf14 |
echo "timestamp" > $@
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
# ignore the warning in OpenCL headers when using old interface
|
|
Packit Service |
e6cf14 |
libOpenCL_la_CFLAGS= $(NO_DEPRECATED_DECLARATIONS_FLAGS) \
|
|
Packit Service |
e6cf14 |
$(AM_CFLAGS) $(PTHREAD_CFLAGS) \
|
|
Packit Service |
e6cf14 |
-DETC_OPENCL_VENDORS=\"@OCL_ICD_VENDORDIR@\"
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
libOpenCL_la_SOURCES = ocl_icd_loader.c ocl_icd_loader.h ocl_icd_debug.h
|
|
Packit Service |
e6cf14 |
nodist_libOpenCL_la_SOURCES = ocl_icd_loader_gen.c ocl_icd.h
|
|
Packit Service |
e6cf14 |
libOpenCL_la_LDFLAGS = -version-info 1:0:0 $(PTHREAD_CFLAGS)
|
|
Packit Service |
e6cf14 |
libOpenCL_la_LIBADD = $(PTHREAD_LIBS)
|
|
Packit Service |
e6cf14 |
if USE_MAP
|
|
Packit Service |
e6cf14 |
libOpenCL_la_LDFLAGS += -Wl,--version-script,ocl_icd_loader_gen.map
|
|
Packit Service |
e6cf14 |
libOpenCL_la_DEPENDS = ocl_icd_loader_gen.map
|
|
Packit Service |
e6cf14 |
endif
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
####################################
|
|
Packit Service |
e6cf14 |
# A very small program test
|
|
Packit Service |
e6cf14 |
check_PROGRAMS=ocl_test ocl_test_icdl
|
|
Packit Service |
e6cf14 |
ocl_test_SOURCES = ocl_test.c
|
|
Packit Service |
e6cf14 |
ocl_test_LDADD = libOpenCL.la
|
|
Packit Service |
e6cf14 |
ocl_test_icdl_SOURCES = ocl_test_icdl.c
|
|
Packit Service |
e6cf14 |
ocl_test_icdl_LDADD = libOpenCL.la
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
check_DATA = vendors/dummycl.icd vendors/dummycl2.icd vendors/dummycl-noext.icd
|
|
Packit Service |
e6cf14 |
CLEANFILES += vendors/dummycl.icd vendors/dummycl2.icd vendors/dummycl-noext.icd
|
|
Packit Service |
e6cf14 |
vendors/dummycl.icd:
|
|
Packit Service |
e6cf14 |
$(mkdir_p) vendors
|
|
Packit Service |
e6cf14 |
echo "$(CURDIR)/.libs/libdummycl.so" > $@
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
vendors/dummycl2.icd:
|
|
Packit Service |
e6cf14 |
$(mkdir_p) vendors
|
|
Packit Service |
e6cf14 |
echo "$(CURDIR)/.libs/libdummycl2.so" > $@
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
vendors/dummycl-noext.icd:
|
|
Packit Service |
e6cf14 |
$(MKDIR_P) vendors
|
|
Packit Service |
e6cf14 |
echo "$(CURDIR)/.libs/libdummycl-noext.so" > $@
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
clean-local: mostlyclean-generic clean-generic
|
|
Packit Service |
e6cf14 |
-rmdir vendors
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
##################################################################
|
|
Packit Service |
e6cf14 |
# dummy OpenCL ICD
|
|
Packit Service |
e6cf14 |
FILES_FROM_GENERATOR = run_dummy_icd_gen.c run_dummy_icd_weak_gen.c \
|
|
Packit Service |
e6cf14 |
libdummy_icd_gen.c libdummy_icd_gen.h
|
|
Packit Service |
e6cf14 |
BUILT_SOURCES += $(FILES_FROM_GENERATOR)
|
|
Packit Service |
e6cf14 |
CLEANFILES += $(FILES_FROM_GENERATOR) stamp-generator-dummy
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
# Generate sources and headers from OpenCL installed headers
|
|
Packit Service |
e6cf14 |
$(FILES_FROM_GENERATOR): stamp-generator-dummy
|
|
Packit Service |
e6cf14 |
stamp-generator-dummy: icd_generator.rb
|
|
Packit Service |
e6cf14 |
stamp-generator-dummy: icd_generator.rb
|
|
Packit Service |
e6cf14 |
$(RUBY) $< --mode generate --database $(srcdir)/ocl_interface.yaml
|
|
Packit Service |
e6cf14 |
echo "timestamp" > $@
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
# noinst_LTLIBRARIES would be the correct thing but then libtool
|
|
Packit Service |
e6cf14 |
# only built non shared version :-( So, declaring the libs as
|
|
Packit Service |
e6cf14 |
# pkglib_LTLIBRARIES and using an install hook to remove them.
|
|
Packit Service |
e6cf14 |
pkglib_LTLIBRARIES = libdummycl.la libdummycl2.la libdummycl-noext.la
|
|
Packit Service |
e6cf14 |
install-exec-hook::
|
|
Packit Service |
e6cf14 |
$(RM) -r $(DESTDIR)$(pkglibdir)
|
|
Packit Service |
e6cf14 |
libdummycl_la_SOURCES = libdummy_icd.c libdummy_icd.h
|
|
Packit Service |
e6cf14 |
nodist_libdummycl_la_SOURCES = libdummy_icd_gen.c libdummy_icd_gen.h
|
|
Packit Service |
e6cf14 |
libdummycl_noext_la_SOURCES = $(libdummycl_la_SOURCES)
|
|
Packit Service |
e6cf14 |
nodist_libdummycl_noext_la_SOURCES = $(nodist_libdummycl_la_SOURCES)
|
|
Packit Service |
e6cf14 |
libdummycl_noext_la_CPPFLAGS = $(AM_CPPFLAGS) -DICD_WITHOUT_EXTENSION
|
|
Packit Service |
e6cf14 |
libdummycl2_la_SOURCES = $(libdummycl_la_SOURCES)
|
|
Packit Service |
e6cf14 |
nodist_libdummycl2_la_SOURCES = $(nodist_libdummycl_la_SOURCES)
|
|
Packit Service |
e6cf14 |
libdummycl2_la_CPPFLAGS = $(AM_CPPFLAGS) -DICD_SUFFIX=\"2\"
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
noinst_PROGRAMS=run_dummy_icd_through_our_ICDL
|
|
Packit Service |
e6cf14 |
run_dummy_icd_through_our_ICDL_SOURCES = run_dummy_icd.c
|
|
Packit Service |
e6cf14 |
nodist_run_dummy_icd_through_our_ICDL_SOURCES = \
|
|
Packit Service |
e6cf14 |
run_dummy_icd_gen.c run_dummy_icd_weak_gen.c
|
|
Packit Service |
e6cf14 |
# ignore the warning in OpenCL headers when using old interface
|
|
Packit Service |
e6cf14 |
run_dummy_icd_through_our_ICDL_CFLAGS= $(NO_DEPRECATED_DECLARATIONS_FLAGS) $(AM_CFLAGS)
|
|
Packit Service |
e6cf14 |
# we want to link to our implementation here
|
|
Packit Service |
e6cf14 |
run_dummy_icd_through_our_ICDL_LDADD = libOpenCL.la
|
|
Packit Service |
e6cf14 |
#
|
|
Packit Service |
e6cf14 |
run_dummy_icd_through_our_ICDL_CPPFLAGS = $(AM_CPPFLAGS) -DOCL_ICD_PRINT_EXPECTED
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
##################################################################
|
|
Packit Service |
e6cf14 |
# rules to update the database from an already installed ICD Loader
|
|
Packit Service |
e6cf14 |
if UPDATE_DATABASE
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
noinst_PROGRAMS += run_dummy_icd
|
|
Packit Service |
e6cf14 |
run_dummy_icd_SOURCES = \
|
|
Packit Service |
e6cf14 |
$(run_dummy_icd_through_our_ICDL_SOURCES)
|
|
Packit Service |
e6cf14 |
nodist_run_dummy_icd_SOURCES = \
|
|
Packit Service |
e6cf14 |
$(nodist_run_dummy_icd_through_our_ICDL_SOURCES)
|
|
Packit Service |
e6cf14 |
run_dummy_icd_CFLAGS= \
|
|
Packit Service |
e6cf14 |
$(run_dummy_icd_through_our_ICDL_CFLAGS)
|
|
Packit Service |
e6cf14 |
# we do not want to link to our implementation here
|
|
Packit Service |
e6cf14 |
run_dummy_icd_LDADD = -lOpenCL
|
|
Packit Service |
e6cf14 |
run_dummy_icd_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
# run the test program and update the database
|
|
Packit Service |
e6cf14 |
run_dummy_icd_output.yaml: run_dummy_icd install_test_lib libdummycl.la
|
|
Packit Service |
e6cf14 |
"$$(dirname $<)/$$(basename $<)" > $@
|
|
Packit Service |
e6cf14 |
@if grep -v -E '^(---|([0-9]* *: .*))$$' $@ ; then \
|
|
Packit Service |
e6cf14 |
echo "Invalid $@ file, trying to fix it" ; \
|
|
Packit Service |
e6cf14 |
grep -E '^(---|([0-9]* *: .*))$$' $@ > $@.fix ;\
|
|
Packit Service |
e6cf14 |
mv $@.fix $@ ;\
|
|
Packit Service |
e6cf14 |
fi
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
CLEANFILES += run_dummy_output.yaml
|
|
Packit Service |
e6cf14 |
.PHONY: update-database
|
|
Packit Service |
e6cf14 |
update-database: icd_generator.rb run_dummy_icd_output.yaml
|
|
Packit Service |
e6cf14 |
$(RUBY) $< --mode update-database \
|
|
Packit Service |
e6cf14 |
--database $(srcdir)/ocl_interface.yaml \
|
|
Packit Service |
e6cf14 |
--input run_dummy_icd_output.yaml
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
.PHONY: install_test_lib uninstall_test_lib
|
|
Packit Service |
e6cf14 |
install_test_lib:
|
|
Packit Service |
e6cf14 |
sudo bash -c 'echo "$(CURDIR)/.libs/libdummycl.so" > /etc/OpenCL/vendors/dummycl.icd'
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
uninstall_test_lib:
|
|
Packit Service |
e6cf14 |
sudo rm -f /etc/OpenCL/vendors/dummycl.icd
|
|
Packit Service |
e6cf14 |
|
|
Packit Service |
e6cf14 |
else
|
|
Packit Service |
e6cf14 |
.PHONY: update-database
|
|
Packit Service |
e6cf14 |
update-database:
|
|
Packit Service |
e6cf14 |
@echo You need to reconfigure this software with --enable-update-database
|
|
Packit Service |
e6cf14 |
@exit 1
|
|
Packit Service |
e6cf14 |
endif
|
|
Packit Service |
e6cf14 |
##################################################################
|