]> git.ipfire.org Git - people/ms/suricata.git/blob - rust/Makefile.am
http2: generic http2_header_blocks
[people/ms/suricata.git] / rust / Makefile.am
1 EXTRA_DIST = src derive \
2 .cargo/config.in \
3 cbindgen.toml \
4 dist/rust-bindings.h
5
6 if HAVE_CARGO_VENDOR
7 EXTRA_DIST += vendor
8 endif
9
10 if !DEBUG
11 RELEASE = --release
12 endif
13
14 if RUST_BUILD_STD
15 NIGHTLY_ARGS = -Z build-std
16 endif
17
18 if HAVE_LUA
19 RUST_FEATURES += lua $(LUA_INT8)
20 endif
21
22 if DEBUG
23 RUST_FEATURES += debug
24 endif
25
26 if DEBUG_VALIDATION
27 RUST_FEATURES += debug-validate
28 endif
29
30 if RUST_CROSS_COMPILE
31 RUST_TARGET = --target $(host_triplet)
32 endif
33
34 all-local: Cargo.toml
35 if HAVE_CYGPATH
36 @rustup_home@ \
37 CARGO_HOME="$(CARGO_HOME)" \
38 CARGO_TARGET_DIR="$(e_rustdir)/target" \
39 $(CARGO) build $(RELEASE) \
40 --features "$(RUST_FEATURES)" $(RUST_TARGET)
41 else
42 @rustup_home@ \
43 CARGO_HOME="$(CARGO_HOME)" \
44 CARGO_TARGET_DIR="$(abs_top_builddir)/rust/target" \
45 $(CARGO) build $(RELEASE) $(NIGHTLY_ARGS) \
46 --features "$(RUST_FEATURES)" $(RUST_TARGET)
47 endif
48 if test -e $(RUST_SURICATA_LIBDIR)/suricata_rust.lib; then \
49 cp $(RUST_SURICATA_LIBDIR)/suricata_rust.lib \
50 $(RUST_SURICATA_LIBDIR)/${RUST_SURICATA_LIBNAME}; \
51 fi
52 $(MAKE) gen/rust-bindings.h
53
54 install-library:
55 $(MKDIR_P) "$(DESTDIR)$(libdir)"
56 $(INSTALL_DATA) $(RUST_SURICATA_LIB) "$(DESTDIR)$(libdir)"
57
58 uninstall-local:
59 rm -f "$(DESTDIR)$(libdir)/$(RUST_SURICATA_LIBNAME)"
60
61 clean-local:
62 rm -rf target
63 if HAVE_CBINDGEN
64 rm -rf gen dist
65 endif
66
67 distclean-local:
68 rm -f Cargo.lock
69
70 maintainerclean-local:
71 rm -rf vendor gen
72
73 check:
74 CARGO_HOME="$(CARGO_HOME)" @rustup_home@ \
75 CARGO_TARGET_DIR="$(abs_top_builddir)/rust/target" \
76 $(CARGO) test --all $(RELEASE) --features "$(RUST_FEATURES)"
77
78 if HAVE_CARGO_VENDOR
79 vendor:
80 CARGO_HOME="$(CARGO_HOME)" @rustup_home@ $(CARGO) vendor > /dev/null
81 else
82 vendor:
83 endif
84
85 if HAVE_CBINDGEN
86 gen/rust-bindings.h: $(RUST_SURICATA_LIB)
87 rm -f gen/rust-bindings.h
88 cbindgen --config $(abs_top_srcdir)/rust/cbindgen.toml \
89 --quiet --output $(abs_top_builddir)/rust/gen/rust-bindings.h
90 else
91 gen/rust-bindings.h:
92 endif
93
94 doc:
95 CARGO_HOME=$(CARGO_HOME) $(CARGO) doc --all-features --no-deps
96
97 if HAVE_CBINDGEN
98 dist/rust-bindings.h:
99 cbindgen --config $(abs_top_srcdir)/rust/cbindgen.toml \
100 --quiet --output $(abs_top_builddir)/rust/dist/rust-bindings.h
101 else
102 dist/rust-bindings.h:
103 endif