noinst_LTLIBRARIES = check_LTLIBRARIES = pkglib_LTLIBRARIES = noinst_HEADERS = check_PROGRAMS = pkglibexec_PROGRAMS = EXTRA_DIST = check_vlc_modules_list.sh CLEANFILES = SUBDIRS = TESTS = check_vlc_modules_list.sh dist_noinst_SCRIPTS = module.rc.in EXTRA_LTLIBRARIES = if HAVE_RUST LIBTOOL_CARGO_EXE = $(abs_srcdir)/libtool_cargo.sh CARGO_BUILD_ARGS = --target=@RUST_TARGET@ --release \ --crate-type=staticlib RUSTFLAGS = -C panic=abort -C opt-level=z if !HAVE_DYNAMIC_PLUGINS RUSTFLAGS += --cfg vlc_static_plugins endif LIBTOOL_CARGO = \ TARGET_CC=$(CC) TARGET_AR=$(AR) \ TARGET_CFLAGS="$(CFLAGS)" \ RUSTTARGET="@RUST_TARGET@" \ RUSTFLAGS="${RUSTFLAGS}" \ CARGO_TARGET_DIR="target-rust" \ LIBTOOL="$(LIBTOOL)" \ $(LIBTOOL_CARGO_EXE) $(CARGO) $(CARGO_BUILD_STD) rustc $(CARGO_BUILD_ARGS) CARGO_PLUGINS_INV = ${LTLIBRARIES:%rs_plugin.la=%rs_plugin} CARGO_PLUGINS_CUT = ${CARGO_PLUGINS_INV:%.la=} CARGO_PLUGINS = ${CARGO_PLUGINS_CUT:%=%.la} CARGO_DEPS = ${CARGO_PLUGINS:%_plugin.la=${top_builddir}/modules/.libs/%.d} -include $(CARGO_DEPS) # Clean the targets generated by cargo. mostlyclean-local: mostlyclean-local-rust .PHONY: mostlyclean-local-rust # We don't use CLEANFILES here so that mostlyclean-local-rust # works correctly when called directly. Otherwise, dependencies # are leading to target being referenced but they cannot be built. mostlyclean-local-rust: rm -rf $(CARGO_DEPS) ${CARGO_PLUGINS:%_plugin.la=%.la} $(CARGO) clean \ --manifest-path "${srcdir}/Cargo.toml" \ --target "@RUST_TARGET@" \ --target-dir "target-rust" endif include common.am include access/Makefile.am include access/http/Makefile.am include access/rtp/Makefile.am include access/rtp/test/Makefile.am include audio_filter/Makefile.am include audio_mixer/Makefile.am include audio_output/Makefile.am include codec/Makefile.am include control/Makefile.am include demux/Makefile.am include gui/Makefile.am include hw/nvdec/Makefile.am include hw/d3d9/Makefile.am include hw/d3d11/Makefile.am include hw/vaapi/Makefile.am include hw/vdpau/Makefile.am include hw/mmal/Makefile.am include isa/aarch64/Makefile.am include isa/arm/Makefile.am include isa/riscv/Makefile.am include keystore/Makefile.am include logger/Makefile.am include lua/Makefile.am include meta_engine/Makefile.am include misc/Makefile.am include notify/Makefile.am include packetizer/Makefile.am include services_discovery/Makefile.am include spu/Makefile.am include stream_filter/Makefile.am include stream_extractor/Makefile.am include text_renderer/Makefile.am include video_chroma/Makefile.am include video_filter/Makefile.am include video_splitter/Makefile.am include video_output/Makefile.am include visualization/Makefile.am if ENABLE_SOUT include access_output/Makefile.am include mux/Makefile.am include stream_out/Makefile.am endif if HAVE_WIN32 BUILT_SOURCES += module.rc.lo CLEANFILES += module.rc #noinst_DATA = module.rc.lo module.rc: module.rc.in $(top_builddir)/config.status $(AM_V_GEN) cd "$(top_builddir)" && $(SHELL) ./config.status --file="modules/$@" module.rc.lo: module.rc $(AM_V_GEN) $(LIBTOOL) --tag=RC --mode=compile $(WINDRES) \ --include-dir $(top_srcdir)/share \ --include-dir $(top_srcdir)/extras/package/win32 \ -i $< -o $@ endif # Wayland SUFFIXES += -client-protocol.h -protocol.c .xml .xml-client-protocol.h: $(AM_V_GEN)$(WAYLAND_SCANNER) client-header < "$^" > "$@.tmp" $(AM_V_at)mv -f -- "$@.tmp" "$@" .xml-protocol.c: $(AM_V_GEN)$(WAYLAND_SCANNER) private-code < "$^" > "$@.tmp" $(AM_V_at)mv -f -- "$@.tmp" "$@" # Generate vlc_modules_list (local plugins + SUBDIRS) include modulelist.mk SUBDIRS += .