summaryrefslogtreecommitdiffstats
path: root/Makefile.am
blob: 67963ed32fcfa19572f514854f5a6f60fa4c4131 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# not a GNU package. You can remove this line, if
# have all needed files, that a GNU package needs
AUTOMAKE_OPTIONS = foreign 1.4
ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = ChangeLog COPYING LICENSE suricata.yaml.in \
             threshold.config SECURITY.md \
             $(SURICATA_UPDATE_DIR) \
	     lua \
	     acsite.m4 \
	     scripts/generate-images.sh
SUBDIRS = $(HTP_DIR) rust src qa rules doc contrib etc python ebpf \
          $(SURICATA_UPDATE_DIR)

CLEANFILES = stamp-h[0-9]*

install-data-am:
	@echo "Run 'make install-conf' if you want to install initial configuration files. Or 'make install-full' to install configuration and rules";

install-full:
	$(MAKE) install
	$(MAKE) install-conf
	$(MAKE) install-rules

install-conf:
	install -d "$(DESTDIR)$(e_sysconfdir)"
	@test -e "$(DESTDIR)$(e_sysconfdir)/suricata.yaml" || install -m 600 "$(top_srcdir)/suricata.yaml" "$(DESTDIR)$(e_sysconfdir)"
	@test -e "$(DESTDIR)$(e_sysconfdir)/classification.config" || install -m 600 "$(top_srcdir)/etc/classification.config" "$(DESTDIR)$(e_sysconfdir)"
	@test -e "$(DESTDIR)$(e_sysconfdir)/reference.config" || install -m 600 "$(top_srcdir)/etc/reference.config" "$(DESTDIR)$(e_sysconfdir)"
	@test -e "$(DESTDIR)$(e_sysconfdir)/threshold.config" || install -m 600 "$(top_srcdir)/threshold.config" "$(DESTDIR)$(e_sysconfdir)"
	install -d "$(DESTDIR)$(e_logfilesdir)"
	install -d "$(DESTDIR)$(e_logcertsdir)"
	install -d "$(DESTDIR)$(e_rundir)"
	install -m 770 -d "$(DESTDIR)$(e_localstatedir)"
	install -m 770 -d "$(DESTDIR)$(e_datadir)"

install-rules:
if INSTALL_SURICATA_UPDATE
	LD_LIBRARY_PATH=$(libdir) $(DESTDIR)$(bindir)/suricata-update \
		--suricata $(DESTDIR)$(bindir)/suricata \
		--suricata-conf $(DESTDIR)$(sysconfdir)/suricata/suricata.yaml \
		--no-test --no-reload
else
	@echo ""
	@echo "Warning: No rules will be downloaded as suricata-update"
	@echo "   is not available: ${install_suricata_update_reason}"
endif
	@echo ""
	@echo "You can now start suricata by running as root something like:"
	@echo "  $(DESTDIR)$(bindir)/suricata -c $(DESTDIR)$(e_sysconfdir)suricata.yaml -i eth0"
	@echo ""
	@echo "If a library like libhtp.so is not found, you can run suricata with:"
	@echo "  LD_LIBRARY_PATH="$(DESTDIR)$(prefix)/lib" "$(DESTDIR)$(bindir)/suricata" -c "$(DESTDIR)$(e_sysconfdir)suricata.yaml" -i eth0"
	@echo ""
	@echo "The Emerging Threats Open rules are now installed. Rules can be"
	@echo "updated and managed with the suricata-update tool."
	@echo ""
	@echo "For more information please see:"
	@echo "  https://docs.suricata.io/en/latest/rule-management/index.html"
	@echo ""

install-library:
	cd src && $(MAKE) $@
	cd rust && $(MAKE) $@
	$(INSTALL) libsuricata-config "$(DESTDIR)$(bindir)/libsuricata-config"

install-headers:
	cd src && $(MAKE) $@