1 2inc_HEADERS += \ 3 p11-kit/deprecated.h \ 4 p11-kit/iter.h \ 5 p11-kit/p11-kit.h \ 6 p11-kit/pin.h \ 7 p11-kit/remote.h \ 8 p11-kit/uri.h \ 9 $(NULL) 10 11COMMON_SRCS = \ 12 p11-kit/util.c \ 13 p11-kit/conf.c p11-kit/conf.h \ 14 p11-kit/iter.c \ 15 p11-kit/log.c p11-kit/log.h \ 16 p11-kit/filter.c p11-kit/filter.h \ 17 p11-kit/modules.c p11-kit/modules.h \ 18 p11-kit/pkcs11.h \ 19 p11-kit/pin.c \ 20 p11-kit/pkcs11.h \ 21 p11-kit/private.h \ 22 p11-kit/messages.c \ 23 p11-kit/rpc-transport.c p11-kit/rpc.h \ 24 p11-kit/rpc-message.c p11-kit/rpc-message.h \ 25 p11-kit/rpc-client.c \ 26 p11-kit/uri.c \ 27 p11-kit/virtual.c p11-kit/virtual.h \ 28 p11-kit/virtual-fixed.h \ 29 $(inc_HEADERS) 30 31BUILT_SOURCES += \ 32 p11-kit/virtual-fixed-generated.h \ 33 $(NULL) 34 35p11-kit/virtual.c: p11-kit/virtual-fixed-generated.h 36 37CLEANFILES += \ 38 p11-kit/virtual-fixed-generated.h \ 39 $(NULL) 40 41p11-kit/virtual-fixed-generated.h: Makefile 42 $(AM_V_GEN)rm -f $@-t $@ && \ 43 { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ 44 echo; \ 45 counter=0; \ 46 while test $$counter -lt $(closures); do \ 47 echo "P11_VIRTUAL_FIXED_FUNCTIONS($$counter)"; \ 48 counter=`expr $$counter + 1`; \ 49 done; \ 50 echo; \ 51 echo "CK_FUNCTION_LIST p11_virtual_fixed[P11_VIRTUAL_MAX_FIXED] = {"; \ 52 counter=0; \ 53 while test $$counter -lt $(closures); do \ 54 echo " P11_VIRTUAL_FIXED_INITIALIZER($$counter),"; \ 55 counter=`expr $$counter + 1`; \ 56 done; \ 57 echo '};'; \ 58 echo; \ 59 counter=0; \ 60 while test $$counter -lt $(closures); do \ 61 echo "P11_VIRTUAL_FIXED_GET_FUNCTION_LIST($$counter)"; \ 62 counter=`expr $$counter + 1`; \ 63 done; \ 64 } > $@-t && \ 65 mv -f $@-t $@ 66 67lib_LTLIBRARIES += \ 68 libp11-kit.la 69 70COMMON_CFLAGS = \ 71 -DP11_SYSTEM_CONFIG_FILE=\""$(p11_system_config_file)"\" \ 72 -DP11_SYSTEM_CONFIG_MODULES=\""$(p11_system_config_modules)"\" \ 73 -DP11_PACKAGE_CONFIG_MODULES=\""$(p11_package_config_modules)"\" \ 74 -DP11_USER_CONFIG_FILE=\""$(p11_user_config_file)"\" \ 75 -DP11_USER_CONFIG_MODULES=\""$(p11_user_config_modules)"\" \ 76 -DP11_MODULE_PATH=\""$(p11_module_path)"\" \ 77 $(LIBFFI_CFLAGS) \ 78 $(NULL) 79 80COMMON_LIBS = \ 81 libp11-common.la \ 82 libp11-library.la \ 83 $(LIBFFI_LIBS) \ 84 $(LTLIBINTL) \ 85 $(NULL) 86 87libp11_kit_la_CFLAGS = $(COMMON_CFLAGS) 88 89libp11_kit_la_LDFLAGS = \ 90 -no-undefined \ 91 -version-info $(P11KIT_LT_RELEASE) 92 93if HAVE_LD_VERSION_SCRIPT 94libp11_kit_la_LDFLAGS += -Wl,--version-script=$(srcdir)/p11-kit/libp11-kit.map 95else 96libp11_kit_la_LDFLAGS += -export-symbols-regex '^C_GetFunctionList|^p11_kit_' 97endif 98 99libp11_kit_la_SOURCES = \ 100 p11-kit/proxy.c p11-kit/proxy.h p11-kit/proxy-init.c \ 101 p11-kit/rpc-server.c \ 102 $(NULL) 103 104libp11_kit_la_LIBADD = \ 105 libp11-kit-internal.la \ 106 $(COMMON_LIBS) \ 107 $(NULL) 108 109noinst_LTLIBRARIES += \ 110 libp11-kit-internal.la \ 111 $(NULL) 112 113check_LTLIBRARIES += \ 114 libp11-kit-testable.la \ 115 libp11-kit-pkcs11-gnu.la \ 116 $(NULL) 117 118libp11_kit_internal_la_LDFLAGS = -no-undefined 119libp11_kit_internal_la_CFLAGS = $(COMMON_CFLAGS) 120libp11_kit_internal_la_SOURCES = $(COMMON_SRCS) 121 122libp11_kit_testable_la_LDFLAGS = -no-undefined 123libp11_kit_testable_la_SOURCES = \ 124 $(libp11_kit_internal_la_SOURCES) \ 125 $(libp11_kit_la_SOURCES) \ 126 $(NULL) 127libp11_kit_testable_la_LIBADD = $(COMMON_LIBS) 128 129pkcs11_gnu_sources = \ 130 p11-kit/uri.gnu.c \ 131 p11-kit/iter.gnu.c \ 132 p11-kit/pin.gnu.c \ 133 $(NULL) 134 135BUILT_SOURCES += $(pkcs11_gnu_sources) 136CLEANFILES += $(pkcs11_gnu_sources) 137 138p11-kit/uri.gnu.c: p11-kit/uri.h 139p11-kit/iter.gnu.c: p11-kit/iter.h 140p11-kit/pin.gnu.c: p11-kit/pin.h 141 142SUFFIXES += .h .gnu.c 143.h.gnu.c: 144 $(AM_V_GEN) src=$<; dst=$@; rm -f $@-t $@ && \ 145 { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ 146 echo; \ 147 echo '#include <stdlib.h>'; \ 148 echo '#include "p11-kit/p11-kit.h"'; \ 149 cat $$src; \ 150 echo "void *$${dst}_funcs[] = {" | sed 's/[^][ *a-z0-9_={]/_/g'; \ 151 sed -n -e '/^typedef/d' -e 's/.* \(p11_kit_[^ ]*\) *(.*/ \1,/p' $<; \ 152 echo '};'; \ 153 } > $@-t && \ 154 mv -f $@-t $@ 155 156libp11_kit_pkcs11_gnu_la_LDFLAGS = -no-undefined 157libp11_kit_pkcs11_gnu_la_SOURCES = $(pkcs11_gnu_sources) 158libp11_kit_pkcs11_gnu_la_CFLAGS = -DCRYPTOKI_GNU=1 -DP11_KIT_FUTURE_UNSTABLE_API=1 159 160if OS_WIN32 161 162libp11_kit_testable_la_CFLAGS = \ 163 -DP11_SYSTEM_CONFIG_FILE=\""$(abs_top_srcdir)/p11-kit/fixtures/system-pkcs11.conf"\" \ 164 -DP11_SYSTEM_CONFIG_MODULES=\""$(abs_top_srcdir)/p11-kit/fixtures/system-modules/win32"\" \ 165 -DP11_PACKAGE_CONFIG_MODULES=\""$(abs_top_srcdir)/p11-kit/fixtures/package-modules/win32"\" \ 166 -DP11_USER_CONFIG_FILE=\""$(abs_top_srcdir)/p11-kit/fixtures/user-pkcs11.conf"\" \ 167 -DP11_USER_CONFIG_MODULES=\""$(abs_top_srcdir)/p11-kit/fixtures/user-modules/win32"\" \ 168 -DP11_MODULE_PATH=\""$(abs_top_builddir)/.libs"\" \ 169 $(LIBFFI_CFLAGS) \ 170 $(NULL) 171 172else 173 174libp11_kit_testable_la_CFLAGS = \ 175 -DP11_SYSTEM_CONFIG_FILE=\""$(abs_top_srcdir)/p11-kit/fixtures/system-pkcs11.conf"\" \ 176 -DP11_SYSTEM_CONFIG_MODULES=\""$(abs_top_srcdir)/p11-kit/fixtures/system-modules"\" \ 177 -DP11_PACKAGE_CONFIG_MODULES=\""$(abs_top_srcdir)/p11-kit/fixtures/package-modules"\" \ 178 -DP11_USER_CONFIG_FILE=\""$(abs_top_srcdir)/p11-kit/fixtures/user-pkcs11.conf"\" \ 179 -DP11_USER_CONFIG_MODULES=\""$(abs_top_srcdir)/p11-kit/fixtures/user-modules"\" \ 180 -DP11_MODULE_PATH=\""$(abs_top_builddir)/.libs"\" \ 181 $(LIBFFI_CFLAGS) \ 182 $(NULL) 183 184# Proxy module is actually same as library, so install a link 185install-exec-hook: 186 for i in so dylib; do \ 187 test -f $(DESTDIR)$(libdir)/libp11-kit.$$i && \ 188 $(LN_S) -f `readlink $(DESTDIR)$(libdir)/libp11-kit.$$i` $(DESTDIR)$(libdir)/p11-kit-proxy.$$i || true; \ 189 done 190 $(MKDIR_P) $(DESTDIR)$(p11_package_config_modules) 191 192uninstall-local: 193 for i in so dylib; do \ 194 rm -f $(DESTDIR)$(libdir)/p11-kit-proxy.$$i; \ 195 done 196 197endif 198 199if !OS_WIN32 200module_LTLIBRARIES += \ 201 p11-kit-client.la 202 203p11_kit_client_la_LDFLAGS = \ 204 -no-undefined -module -avoid-version \ 205 -version-info $(P11KIT_LT_RELEASE) \ 206 -export-symbols-regex '^C_GetFunctionList' \ 207 $(NULL) 208 209p11_kit_client_la_CFLAGS = $(COMMON_CFLAGS) 210 211p11_kit_client_la_SOURCES = \ 212 p11-kit/client.c p11-kit/client.h p11-kit/client-init.c \ 213 $(NULL) 214 215p11_kit_client_la_LIBADD = $(libp11_kit_la_LIBADD) 216endif 217 218pkgconfigdir = $(libdir)/pkgconfig 219pkgconfig_DATA = p11-kit/p11-kit-1.pc 220 221exampledir = $(p11_system_config) 222example_DATA = p11-kit/pkcs11.conf.example 223 224EXTRA_DIST += \ 225 p11-kit/docs.h \ 226 p11-kit/gen-pkcs11-gnu.sh \ 227 p11-kit/gen-virtual-fixed.sh \ 228 p11-kit/meson.build \ 229 p11-kit/meson_post_install.sh \ 230 p11-kit/libp11-kit.map \ 231 p11-kit/libp11-kit-0.dll.def \ 232 p11-kit/p11-module.map \ 233 p11-kit/p11-module.def \ 234 p11-kit/pkcs11-gnu.c \ 235 $(NULL) 236 237bin_PROGRAMS += p11-kit/p11-kit 238 239p11_kit_p11_kit_SOURCES = \ 240 p11-kit/lists.c \ 241 p11-kit/p11-kit.c \ 242 $(NULL) 243 244p11_kit_p11_kit_LDADD = \ 245 libp11-kit.la \ 246 libp11-tool.la \ 247 libp11-common.la \ 248 $(LTLIBINTL) \ 249 $(NULL) 250 251if WITH_BASH_COMPLETION 252bashcomp_DATA += bash-completion/p11-kit 253endif 254 255private_PROGRAMS += p11-kit/p11-kit-remote 256 257p11_kit_p11_kit_remote_SOURCES = \ 258 p11-kit/remote.c \ 259 $(NULL) 260 261p11_kit_p11_kit_remote_LDADD = \ 262 libp11-tool.la \ 263 libp11-common.la \ 264 libp11-kit.la \ 265 $(NULL) 266 267check_PROGRAMS += p11-kit/p11-kit-remote-testable 268p11_kit_p11_kit_remote_testable_SOURCES = $(p11_kit_p11_kit_remote_SOURCES) 269 270p11_kit_p11_kit_remote_testable_LDADD = \ 271 libp11-tool.la \ 272 libp11-common.la \ 273 libp11-kit-testable.la \ 274 $(NULL) 275 276private_PROGRAMS += p11-kit/p11-kit-server 277 278p11_kit_p11_kit_server_SOURCES = \ 279 p11-kit/server.c \ 280 $(NULL) 281 282p11_kit_p11_kit_server_LDADD = \ 283 libp11-tool.la \ 284 libp11-common.la \ 285 libp11-kit.la \ 286 $(LIBSYSTEMD_LIBS) \ 287 $(NULL) 288 289p11_kit_p11_kit_server_CFLAGS = \ 290 -DP11_KIT_REMOTE=\"p11-kit-remote\" \ 291 $(COMMON_CFLAGS) \ 292 $(LIBSYSTEMD_CFLAGS) \ 293 $(NULL) 294 295check_PROGRAMS += p11-kit/p11-kit-server-testable 296p11_kit_p11_kit_server_testable_SOURCES = $(p11_kit_p11_kit_server_SOURCES) 297 298p11_kit_p11_kit_server_testable_LDADD = \ 299 libp11-tool.la \ 300 libp11-common.la \ 301 libp11-kit-testable.la \ 302 $(LIBSYSTEMD_LIBS) \ 303 $(NULL) 304 305p11_kit_p11_kit_server_testable_CFLAGS = \ 306 -DP11_KIT_REMOTE=\"p11-kit-remote-testable\" \ 307 $(COMMON_CFLAGS) \ 308 $(LIBSYSTEMD_CFLAGS) \ 309 $(NULL) 310 311if WITH_SYSTEMD 312p11-kit/p11-kit-server.service: p11-kit/p11-kit-server.service.in 313 $(AM_V_GEN)rm -f $@-t $@ && \ 314 sed 's|@bindir[@]|$(bindir)|g' $< > $@-t && \ 315 mv -f $@-t $@ 316 317CLEANFILES += p11-kit/p11-kit-server.service 318 319systemduserunit_DATA = \ 320 p11-kit/p11-kit-server.socket \ 321 p11-kit/p11-kit-server.service \ 322 $(NULL) 323endif 324 325EXTRA_DIST += p11-kit/p11-kit-server.socket p11-kit/p11-kit-server.service.in 326 327# Tests ---------------------------------------------------------------- 328 329p11_kit_LIBS = \ 330 libp11-kit-testable.la \ 331 libp11-test.la \ 332 libp11-common.la \ 333 $(LTLIBINTL) 334 335c_tests += \ 336 test-progname \ 337 test-util \ 338 test-conf \ 339 test-uri \ 340 test-pin \ 341 test-init \ 342 test-modules \ 343 test-deprecated \ 344 test-proxy \ 345 test-iter \ 346 test-rpc \ 347 $(NULL) 348 349if !OS_WIN32 350c_tests += test-server 351sh_tests += p11-kit/test-server.sh 352endif 353 354test_conf_SOURCES = p11-kit/test-conf.c 355test_conf_LDADD = $(p11_kit_LIBS) 356 357test_deprecated_SOURCES = p11-kit/test-deprecated.c 358test_deprecated_LDADD = $(p11_kit_LIBS) 359test_deprecated_CFLAGS = $(AM_CPPFLAGS) $(libp11_kit_testable_la_CFLAGS) 360 361test_init_SOURCES = p11-kit/test-init.c 362test_init_LDADD = $(p11_kit_LIBS) 363test_init_CFLAGS = $(AM_CPPFLAGS) $(libp11_kit_testable_la_CFLAGS) 364 365test_iter_SOURCES = p11-kit/test-iter.c 366test_iter_LDADD = $(p11_kit_LIBS) 367 368test_modules_SOURCES = p11-kit/test-modules.c 369test_modules_LDADD = $(p11_kit_LIBS) 370 371test_pin_SOURCES = p11-kit/test-pin.c 372test_pin_LDADD = $(p11_kit_LIBS) 373 374test_progname_SOURCES = p11-kit/test-progname.c 375test_progname_LDADD = $(p11_kit_LIBS) 376 377test_proxy_SOURCES = p11-kit/test-proxy.c 378test_proxy_LDADD = $(p11_kit_LIBS) 379 380test_rpc_SOURCES = p11-kit/test-rpc.c 381test_rpc_LDADD = $(p11_kit_LIBS) 382 383test_server_SOURCES = p11-kit/test-server.c 384test_server_LDADD = $(p11_kit_LIBS) 385test_server_CFLAGS = $(AM_CPPFLAGS) $(libp11_kit_testable_la_CFLAGS) 386 387test_uri_SOURCES = p11-kit/test-uri.c 388test_uri_LDADD = $(p11_kit_LIBS) 389 390test_util_SOURCES = p11-kit/test-util.c 391test_util_LDADD = $(p11_kit_LIBS) 392 393check_PROGRAMS += \ 394 p11-kit/print-messages \ 395 p11-kit/frob-setuid 396 397p11_kit_print_messages_SOURCES = p11-kit/print-messages.c 398p11_kit_print_messages_LDADD = $(p11_kit_LIBS) 399 400sh_tests += p11-kit/test-messages.sh 401 402p11_kit_frob_setuid_SOURCES = p11-kit/frob-setuid.c 403p11_kit_frob_setuid_LDADD = $(p11_kit_LIBS) 404 405c_tests += \ 406 test-virtual \ 407 test-managed \ 408 test-log \ 409 test-filter \ 410 test-transport \ 411 $(NULL) 412 413test_log_SOURCES = p11-kit/test-log.c 414test_log_LDADD = $(p11_kit_LIBS) 415 416test_filter_SOURCES = p11-kit/test-filter.c 417test_filter_LDADD = $(p11_kit_LIBS) 418 419test_managed_SOURCES = p11-kit/test-managed.c 420test_managed_LDADD = $(p11_kit_LIBS) 421 422test_transport_SOURCES = p11-kit/test-transport.c 423test_transport_LDADD = $(p11_kit_LIBS) 424test_transport_CFLAGS = $(AM_CPPFLAGS) $(libp11_kit_testable_la_CFLAGS) 425 426test_virtual_SOURCES = p11-kit/test-virtual.c 427test_virtual_LDADD = $(p11_kit_LIBS) 428 429check_LTLIBRARIES += \ 430 mock-one.la \ 431 mock-two.la \ 432 mock-three.la \ 433 mock-four.la \ 434 mock-five.la \ 435 mock-seven.la \ 436 mock-eight.la \ 437 mock-nine.la \ 438 mock-ten.la 439 440mock_one_la_SOURCES = p11-kit/mock-module-ep.c 441mock_one_la_LIBADD = libp11-test.la libp11-common.la 442mock_one_la_LDFLAGS = \ 443 -module -avoid-version -rpath /nowhere \ 444 -no-undefined -export-symbols-regex 'C_GetFunctionList' 445 446mock_two_la_SOURCES = p11-kit/mock-module-ep2.c 447mock_two_la_LDFLAGS = $(mock_one_la_LDFLAGS) 448mock_two_la_LIBADD = $(mock_one_la_LIBADD) 449 450mock_three_la_SOURCES = $(mock_one_la_SOURCES) 451mock_three_la_LDFLAGS = $(mock_one_la_LDFLAGS) 452mock_three_la_LIBADD = $(mock_one_la_LIBADD) 453 454mock_four_la_SOURCES = $(mock_one_la_SOURCES) 455mock_four_la_LDFLAGS = $(mock_one_la_LDFLAGS) 456mock_four_la_LIBADD = $(mock_one_la_LIBADD) 457 458mock_five_la_SOURCES = p11-kit/mock-module-ep3.c 459mock_five_la_LDFLAGS = $(mock_one_la_LDFLAGS) 460mock_five_la_LIBADD = $(mock_one_la_LIBADD) 461 462if !OS_WIN32 463check_LTLIBRARIES += mock-six.la 464mock_six_la_SOURCES = p11-kit/mock-module-ep4.c 465mock_six_la_LDFLAGS = $(mock_one_la_LDFLAGS) 466mock_six_la_LIBADD = $(mock_one_la_LIBADD) 467endif 468 469mock_seven_la_SOURCES = p11-kit/mock-module-ep5.c 470mock_seven_la_LDFLAGS = $(mock_one_la_LDFLAGS) 471mock_seven_la_LIBADD = $(mock_one_la_LIBADD) 472 473mock_eight_la_SOURCES = p11-kit/mock-module-ep6.c 474mock_eight_la_LDFLAGS = $(mock_one_la_LDFLAGS) 475mock_eight_la_LIBADD = $(mock_one_la_LIBADD) 476 477mock_nine_la_SOURCES = p11-kit/mock-module-ep7.c 478mock_nine_la_LDFLAGS = $(mock_one_la_LDFLAGS) 479mock_nine_la_LIBADD = $(mock_one_la_LIBADD) 480 481mock_ten_la_SOURCES = p11-kit/mock-module-ep8.c 482mock_ten_la_LDFLAGS = $(mock_one_la_LDFLAGS) 483mock_ten_la_LIBADD = $(mock_one_la_LIBADD) 484 485EXTRA_DIST += \ 486 p11-kit/fixtures \ 487 p11-kit/test-mock.c \ 488 p11-kit/test-messages.sh \ 489 p11-kit/test-server.sh \ 490 $(NULL) 491