AM_CPPFLAGS = -I$(top_srcdir)/libusb LDADD = ../libusb/libusb-1.0.la AM_LDFLAGS = -static stress_SOURCES = stress.c testlib.c stress_mt_SOURCES = stress_mt.c set_option_SOURCES = set_option.c testlib.c init_context_SOURCES = init_context.c testlib.c macos_SOURCES = macos.c testlib.c stress_mt_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS) stress_mt_LDADD = $(LDADD) $(THREAD_LIBS) stress_mt_LDFLAGS = $(AM_LDFLAGS) if OS_EMSCRIPTEN # On the Web you can't block the main thread as this blocks the event loop itself, # causing deadlocks when trying to use async APIs like WebUSB. # We use the PROXY_TO_PTHREAD Emscripten's feature to move the main app to a separate thread # where it can block safely. stress_mt_LDFLAGS += ${AM_LDFLAGS} -s PROXY_TO_PTHREAD -s EXIT_RUNTIME endif noinst_HEADERS = libusb_testlib.h noinst_PROGRAMS = stress stress_mt set_option init_context if OS_DARWIN noinst_PROGRAMS += macos endif if BUILD_UMOCKDEV_TEST # NOTE: We add libumockdev-preload.so so that we can run tests in-process # We also use -Wl,-lxxx as the compiler doesn't need it and libtool # would reorder the flags otherwise. umockdev_CPPFLAGS = ${UMOCKDEV_CFLAGS} -I$(top_srcdir)/libusb umockdev_LDFLAGS = -Wl,--push-state,--no-as-needed -Wl,-lumockdev-preload -Wl,--pop-state ${UMOCKDEV_LIBS} umockdev_SOURCES = umockdev.c noinst_PROGRAMS += umockdev endif TESTS=$(noinst_PROGRAMS)