mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
167 lines
6.3 KiB
Makefile
167 lines
6.3 KiB
Makefile
## Process this file with automake to produce Makefile.in
|
|
|
|
bro_bin = ${prefix}/bin
|
|
bro_logs = ${prefix}/logs
|
|
bro_etc = ${prefix}/etc
|
|
bro_site = ${prefix}/site
|
|
bro_scripts = ${prefix}/scripts
|
|
bro_reports = ${prefix}/reports
|
|
bro_perlmods = ${prefix}/perl
|
|
|
|
# where to download signatures from.
|
|
SIGHOST=www.bro-ids.org
|
|
|
|
# whats our name ..
|
|
brohost = @BROHOST@
|
|
|
|
SUBDIRS = s2b
|
|
|
|
# these files need to be in the distribution
|
|
EXTRA_DIST = bro.cfg.example bro_config.in alert_scores bro.rc.in \
|
|
bro.rc-hooks.sh bro_log_compress.sh install_cron.sh \
|
|
local.site.bro.default localnetMAC.pl.in \
|
|
mail_notice.sh mail_reports.sh \
|
|
make-ftp-safe-vocabulary.awk IP4.pm signature_scores \
|
|
perl local.lite.bro \
|
|
alert_scores signature_scores \
|
|
bro_log_compress.sh \
|
|
frontend-mail-reports.sh frontend-site-report.sh push_logs.sh mail_notice.sh
|
|
|
|
# this cleans up some genereated files
|
|
MOSTLYCLEAN = bro.rc bro.cfg bro_config intern.bro bro_user_id bro_user_id.bak \
|
|
localnetMAC.pl local.site.bro
|
|
|
|
scoredir=$(prefix)/etc
|
|
scriptsdir=$(prefix)/scripts
|
|
|
|
# just update dist files, not the site file
|
|
# and ask me no questions, I'll tell you no ..
|
|
update:
|
|
$(MAKE) install_default_files
|
|
|
|
# install brolite
|
|
install-brolite:
|
|
- $(INSTALL) -d /usr/local/etc/rc.d/
|
|
$(MAKE) create_dirs
|
|
|
|
$(INSTALL) $(srcdir)/alert_scores $(scoredir)/alert_scores
|
|
$(INSTALL) $(srcdir)/signature_scores $(scoredir)/signature_scores
|
|
$(INSTALL) $(srcdir)/bro_log_compress.sh $(bro_scripts)/bro_log_compress.sh
|
|
$(INSTALL) $(srcdir)/frontend-mail-reports.sh $(bro_scripts)/frontend-mail-reports.sh
|
|
$(INSTALL) $(srcdir)/frontend-site-report.sh $(bro_scripts)/frontend-site-report.sh
|
|
$(INSTALL) $(srcdir)/push_logs.sh $(bro_scripts)/push_logs.sh
|
|
$(INSTALL) $(srcdir)/mail_notice.sh $(bro_scripts)/mail_notice.sh
|
|
$(INSTALL) $(srcdir)/s2b/example_bro_files/signatures.sig $(prefix)/site
|
|
$(INSTALL) $(srcdir)/s2b/bro-include/sig-addendum.sig $(datadir)/bro
|
|
$(INSTALL) $(srcdir)/s2b/bro-include/sig-functions.bro $(datadir)/bro
|
|
$(INSTALL) $(srcdir)/s2b/example_bro_files/sig-action.bro $(datadir)/bro
|
|
|
|
# install perl libraries and executables
|
|
install_perl_scripts:
|
|
@if ! ${PERL} -e 'exit ($] >= 5.006001)' > /dev/null 2>&1; then \
|
|
(cd perl && $(PERL) Makefile.PL INSTALLSCRIPT=$(bro_scripts) BROCONFIG=$(prefix)/etc/bro.cfg PREFIX=$(bro_perlmods); $(MAKE) ; $(MAKE) install) ; \
|
|
else \
|
|
echo "*************************************************" ; \
|
|
echo "* Need newer version of perl to install reports *" ; \
|
|
echo "* and other supporting perl based tools. *" ; \
|
|
echo "*************************************************" ; \
|
|
fi
|
|
# clean up the mess we made
|
|
uninstall-local:
|
|
rm -f $(bro_scripts)/mail_reports.sh
|
|
rm -f $(bro_scripts)/bro_log_compress.sh
|
|
rm -f $(bro_scripts)/bro_config
|
|
rm -f $(bro_etc)/bro.rc
|
|
rm -f $(bro_etc)/bro.cfg
|
|
rm -f $(bro_etc)/bro.cfg.example
|
|
rm -f $(prefix)/etc/bro.rc-hooks.sh
|
|
rm -f $(prefix)/site/local.site.bro
|
|
rm -f $(prefix)/site/${brohost}.bro
|
|
$(srcdir)/install_cron.sh uninstall
|
|
-rm -f $(prefix)/etc/bro.rc-hooks.sh.new
|
|
-rm -f /usr/local/etc/rc.d/bro.sh
|
|
|
|
|
|
# install the stuff to do reports
|
|
reports:
|
|
$(INSTALL) -d $(bro_scripts)
|
|
$(INSTALL) -d $(bro_etc)
|
|
(cd s2b && $(MAKE) all)
|
|
(cd s2b && $(MAKE) install)
|
|
@./bro_config
|
|
$(INSTALL_DATA) bro.cfg $(bro_etc)/bro.cfg
|
|
$(INSTALL) $(srcdir)/mail_reports.sh $(bro_scripts)/mail_reports.sh
|
|
$(INSTALL) $(srcdir)/bro_log_compress.sh $(bro_scripts)/bro_log_compress.sh
|
|
$(INSTALL) $(srcdir)/frontend-mail-reports.sh $(bro_scripts)/frontend-mail-reports.sh
|
|
$(INSTALL) $(srcdir)/frontend-site-report.sh $(bro_scripts)/frontend-site-report.sh
|
|
$(INSTALL) $(srcdir)/push_logs.sh $(bro_scripts)/push_logs.sh
|
|
$(MAKE) install_perl_scripts
|
|
|
|
# update the signature file in $BROHOME/site, don't clobber it!
|
|
update-sigs:
|
|
@echo "Getting signature file from $(SIGHOST)"
|
|
- wget http://$(SIGHOST)/download/signatures.sig -O signatures.sig.new -o /dev/null
|
|
@if [ ! -s signatures.sig.new ] ; then \
|
|
echo "Error in download. Try again later." ; \
|
|
else \
|
|
if [ ! -f $(prefix)/site/signatures.sig ] ; then \
|
|
echo "No previous version, installing new version." ; \
|
|
cp signatures.sig.new $(prefix)/site/signatures.sig ; \
|
|
else \
|
|
cp signatures.sig.new $(prefix)/site/signatures.sig.new ; \
|
|
echo "***********************************************************" ; \
|
|
echo "A new signature file (signatures.sig.new) has been placed in" ; \
|
|
echo "$(prefix)/site. Please compare it to your current signatures.sig " ; \
|
|
echo "and copy it over if there are no significant differences." ; \
|
|
echo "***********************************************************" ; \
|
|
fi \
|
|
fi
|
|
|
|
create_dirs:
|
|
- $(INSTALL) -d $(bro_bin)
|
|
$(INSTALL) -d $(bro_etc)
|
|
$(INSTALL) -d $(bro_logs)
|
|
$(INSTALL) -d $(bro_site)
|
|
$(INSTALL) -d $(bro_scripts)
|
|
$(INSTALL) -d $(bro_reports)
|
|
|
|
# these are files that SHOULD NOT be updated and are site specific
|
|
install_local_files:
|
|
@if [ ! -f ${bro_site}/local.site.bro ] ; then \
|
|
echo "Installing local.site.bro ..." ; \
|
|
if [ ! -f local.site.bro ]; then \
|
|
$(INSTALL_DATA) local.site.bro.default $(bro_site)/local.site.bro ; \
|
|
else \
|
|
$(INSTALL_DATA) local.site.bro $(bro_site)/local.site.bro ; \
|
|
fi \
|
|
else \
|
|
if [ -f local.site.bro ]; then \
|
|
$(INSTALL_DATA) local.site.bro $(bro_site)/local.site.bro.new ; \
|
|
fi \
|
|
fi
|
|
@if [ ! -f ${bro_site}/${brohost}.bro ] ; then \
|
|
echo "Installing ${brohost}.bro ..." ; \
|
|
$(INSTALL_DATA) $(srcdir)/local.lite.bro $(bro_site)/${brohost}.bro ; \
|
|
else \
|
|
$(INSTALL_DATA) $(srcdir)/local.lite.bro $(bro_site)/${brohost}.bro.new ; \
|
|
fi
|
|
@if [ ! -f $(prefix)/etc/bro.rc-hooks.sh ] ; then \
|
|
$(INSTALL_DATA) $(srcdir)/bro.rc-hooks.sh $(prefix)/etc/bro.rc-hooks.sh ; \
|
|
else \
|
|
$(INSTALL_DATA) $(srcdir)/bro.rc-hooks.sh $(prefix)/etc/bro.rc-hooks.sh.new ; \
|
|
fi
|
|
|
|
# Default files that can be installed/reinstalled, not site specific
|
|
install_default_files:
|
|
$(INSTALL) $(srcdir)/mail_reports.sh $(bro_scripts)/mail_reports.sh
|
|
$(INSTALL) bro.rc $(prefix)/etc/bro.rc
|
|
$(INSTALL) bro_config $(prefix)/scripts/bro_config
|
|
-$(INSTALL_DATA) bro.cfg $(bro_etc)/bro.cfg
|
|
$(INSTALL_DATA) $(srcdir)/bro.cfg.example $(bro_etc)/bro.cfg.example
|
|
- $(INSTALL) bro.rc /usr/local/etc/rc.d/bro.sh
|
|
(cd s2b ; $(MAKE) install)
|
|
|
|
# install cron file
|
|
install_cron:
|
|
$(srcdir)/install_cron.sh install
|
|
|