# ngtx Makefile
# $Id: Makefile 695 2017-07-16 18:59:24Z fwbergm $

-include .config
name=ngtx
WORKINGDIR=$(shell pwd)
DIRNAME=$(shell basename `pwd`)
VERSION=$(shell basename `pwd` |sed 's,$(name)-,,')
VERSION=$(shell date +%Y%m%d)
SPECS_DIR=/usr/src/*/SPECS
SOURCES_DIR=/usr/src/*/SOURCES

DOPENVZDEFAULT=
DKNOERRED=
ifeq ($(CONFIG_USE_DIET),y)
  DIET=diet
  LIB_COMPAT=$(shell echo 'main(){}'|diet -v gcc -lcompat - 2>&1|tr \  \\n|fgrep /libc.a|sed 's,\/libc.a,/libcompat.a,')
else
  DIET=
  LIB_COMPAT=
endif
ifeq ($(USE_EMBEDDEDBUILD),yes)
  EMBEDDED_CFLAGS=-DSMALL_BUILD
else
  EMBEDDED_CFLAGS=
endif
HOSTCC=gcc
HOSTCC=$(shell if type gcc-4.1 >/dev/null 2>&1;then echo gcc-4.1;else echo gcc;fi)
INCLUDES=-I$(WORKINGDIR)/include -I$(WORKINGDIR)
NASM=/bin/false
ifeq ($(shell arch|egrep -q 'x86_64|i686' && echo y),y)
  CPU_OPT=-march=nocona -mtune=nocona -msse2 --param=ssp-buffer-size=4
  NASM=nasm
else
  ifeq ($(shell arch|grep -q 'arm' && echo y),y)
    CPU_OPT=-march=armv6 -mfpu=vfp -mfloat-abi=hard
  else
    CPU_OPT=
  endif
endif
BASE_CFLAGS=-std=c99 -pedantic -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DNO_PAGE_ALLOC_ERROR
OPTFLAGS=-O2 $(CPU_OPT) -fomit-frame-pointer
GCC_WARNS_NEW=-Waddress -Warray-bounds=1 -Wbool-compare -Wchar-subscripts -Wcomment -Wenum-compare -Wformat -Wimplicit -Wimplicit-int -Wimplicit-function-declaration -Wlogical-not-parentheses -Wmain -Wmaybe-uninitialized -Wmemset-transposed-args -Wmissing-braces -Wnonnull -Wnonnull-compare -Wopenmp-simd -Wparentheses -Wpointer-sign -Wreturn-type -Wsequence-point -Wsizeof-pointer-memaccess -Wstrict-aliasing -Wstrict-overflow=1 -Wswitch -Wtautological-compare -Wtrigraphs -Wuninitialized -Wunknown-pragmas -Wunused-function -Wunused-label -Wunused-value -Wunused-variable -Wvolatile-register-var
GCC_WARNS_COMPATIBLE=-Wchar-subscripts -Wcomment -Wformat -Wimplicit -Wimplicit-int -Wimplicit-function-declaration -Wmain -Wmissing-braces -Wnonnull -Wparentheses -Wpointer-sign -Wreturn-type -Wsequence-point -Wstrict-aliasing -Wswitch -Wtrigraphs -Wuninitialized -Wunknown-pragmas -Wunused-function -Wunused-label -Wunused-value -Wunused-variable -Wvolatile-register-var
GCC_WARNS=$(shell if echo 'main(){}'|gcc $(GCC_WARNS_NEW) -E - &>/dev/null; then echo " $(GCC_WARNS_NEW)"; else echo " $(GCC_WARNS_COMPATIBLE)";fi)
EXTRACFLAGS=-Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -pipe
#EXTRACFLAGS=$(GCC_WARNS) -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -pipe
#-O -fomit-frame-pointer -Wall -D_MONOLITHIC_
#-Os -Wall -D_DEBUG_
#-O2 -fomit-frame-pointer -Wall -march=pentium4
#-O2 -fstack-protector -fomit-frame-pointer -falign-functions=1 -falign-jumps=1 -falign-loops=1 -Wall -march=pentium4 -DNO_PAGE_ALLOC_ERROR
#-O2 -fomit-frame-pointer -Wall -march=nocona -mtune=nocona -DNO_PAGE_ALLOC_ERROR
#-O2 -march=nocona -mtune=nocona -msse2 -fomit-frame-pointer -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -pipe -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE=1 -D_GNU_SOURCE -DNO_PAGE_ALLOC_ERROR
#-O2 -march=nocona -mtune=nocona -msse2 -fomit-frame-pointer -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -pipe -I. -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE=1 -D_GNU_SOURCE -DNO_PAGE_ALLOC_ERROR
HOSTCFLAGS=$(BASE_CFLAGS) $(OPTFLAGS) $(EXTRACFLAGS) $(EMBEDDED_CFLAGS) $(INCLUDES)
HOSTLD=ld
HOSTLDFLAGS=

CFLAGS=$(HOSTCFLAGS)
ALLCFLAGS=$(CFLAGS) $(DOPENVZDEFAULT) $(DKNOERRED)
LDCFLAGS=$(ALLCFLAGS) -Wl,-z,noexecstack
CC=$(DIET) $(HOSTCC)
EXTRA_CFLAGS=
FUSEFLAGS=$(shell pkg-config fuse --cflags --libs || echo ===FUSEFLAGS_pkg-config_ERROR===)
LD=$(HOSTLD)
LDFLAGS=$(HOSTLDFLAGS)
ifneq ($(DIET),)
  #EXTRA_CFLAGS+=-Wl,-lcompat
  EXTRA_CFLAGS+= $(LIB_COMPAT)
else
  EXTRA_CFLAGS+=-Wl,-lrt
endif
FUSE_FLAGS=$(shell pkg-config fuse --cflags --libs)
NASM_BIN_FLAGS=-f bin
NASM_ELF_FLAGS=-f elf
#SSTRIP=./sstrip-vladov
SSTRIP=tools/sstrip
HOSTSSTRIP=tools/sstrip-host
STRIP_ARGS=-s -R .note -R .comment
STRIP=$(HOSTSSTRIP)
USE_SSTRIP=sstrip
ifeq ($(USE_SSTRIP),"sstrip")
  STRIP=$(HOSTSSTRIP)
else
  STRIP=strip $(STRIP_ARGS)
endif
RM=/bin/rm
CP=/bin/cp -PpR 
MV=/bin/mv
LN=/bin/ln
INSTALL=install

DESTDIR=/
prefix=$(DESTDIR)/opt/$(name)
prefix=$(DESTDIR)/usr
exec_prefix=$(prefix)
bindir=$(prefix)/bin
mandir=$(prefix)/share/man
sbindir=$(prefix)/sbin
sysconfdir=$(DESTDIR)/etc
sysconfigdir=$(DESTDIR)/etc/sysconfig
datadir=$(prefix)/share
includedir=$(prefix)/include
libdir=$(prefix)/lib
libexecdir=$(prefix)/libexec
localstatedir=/var
sharedstatedir=$(prefix)/com
infodir=$(prefix)/share/info

PYAPPS= \
	loadlogger.py \

LIBOBJS= \
	lib/fchown32m.o \
	lib/putlong.o \
	lib/setresgid32m.o \
	lib/setresuid32m.o \
	lib/sputlongs.o \
	lib/sputuint32.o \
	lib/str2uint63.o \
	lib/str2uint32.o \
	lib/str2uint64.o \
	lib/str_cat.o \
	lib/str_catc.o \
	lib/str_catn.o \
	lib/str_chrnul.o \
	lib/str_chr.o \
	lib/str_diffn.o \
	lib/str_diff.o \
	lib/str_diff_right.o \
	lib/str_index.o \
	lib/str_len.o \

KNOERREOBJS= \
	knoerre/do_check_dummy.o \
	knoerre/do_check_external_command.o \
	knoerre/do_check_backup.o \
	knoerre/do_check_cachedvalue.o \
	knoerre/do_check_cat.o \
	knoerre/do_check_cmp.o \
	knoerre/do_check_cmdline.o \
	knoerre/do_check_countsockets.o \
	knoerre/do_check_cpu.o \
	knoerre/do_check_ctxtswitch.o \
	knoerre/do_check_direntries.o \
	knoerre/do_check_dirlevels.o \
	knoerre/do_check_diskinodes.o \
	knoerre/do_check_diskusage.o \
	knoerre/do_check_diskusagelocal.o \
	knoerre/do_check_dmesg.o \
	knoerre/do_check_fileexists.o \
	knoerre/do_check_filesizes.o \
        knoerre/do_check_kernellog.o \
	knoerre/do_check_load1.o \
	knoerre/do_check_load5.o \
	knoerre/do_check_load15.o \
	knoerre/do_check_loaduser.o \
	knoerre/do_check_logcheckerr.o \
	knoerre/do_check_logentriesdaily.o \
	knoerre/do_check_longprocp.o \
	knoerre/do_check_mailbackup.o \
	knoerre/do_check_maxsizes.o \
	knoerre/do_postfix_mailqsize.o \
	knoerre/do_check_mountopts.o \
	knoerre/do_check_mounts.o \
        knoerre/do_check_mysqllog.o \
	knoerre/do_check_netlinksdown.o \
	knoerre/do_check_nettraf.o \
	knoerre/do_check_nfs.o \
	knoerre/do_check_proccount.o \
	knoerre/do_check_proccounttg.o \
	knoerre/do_check_proccountovz.o \
	knoerre/do_check_process.o \
	knoerre/do_check_procmounts.o \
	knoerre/do_check_swap.o \
	knoerre/do_check_swaps.o \
	knoerre/do_check_tcp.o \
	knoerre/do_check_filetimestamp.o \
	knoerre/do_check_timediff.o \
	knoerre/do_check_time.o \
	knoerre/do_check_uptime.o \
	knoerre/do_check_wc-l.o \
	knoerre/kernel_bad_entries.o \
	knoerre/walkdir_filesizes.o \
	knoerre/knoerre.o \
	knoerre/http_to_key.o \
	knoerre/common_timeout.o \
	knoerre/check_error_exit.o \
	knoerre/main_error_redirect_exit.o \
	knoerre/raise_stacklimit.o \
	knoerre/next_token.o \
	knoerre/get_fs_stats.o \
	knoerre/get_all_local_fs_stats.o \
	lib/procnetipaddr_to_humanreadable.o \
	lib/sputlongs.o \
	lib/sputuint32.o \
	lib/str_diffn.o \
	lib/str_diff_right.o \
	lib/str_field.o \
	lib/str_index.o \
	lib/str_index2.o \
	lib/str2uint64.o \
	lib/field_index.o \

KNOERREDOBJS= \
	knoerre/record_multi_values.o \
	knoerre/record_measure_values.o \
	knoerre/interval_measure.o \
	knoerre/check_error_exit.o \
	knoerre/do_check_cachedvalue.o \
	knoerre/do_check_cat.o \
	knoerre/do_check_cmdline.o \
	knoerre/do_check_cmp.o \
	knoerre/do_check_cpu.o \
	knoerre/do_check_diskinodes.o \
	knoerre/do_check_diskusage.o \
	knoerre/do_check_diskusagelocal.o \
	knoerre/do_check_dmesg.o \
	knoerre/do_check_filetimestamp.o \
	knoerre/do_check_load1.o \
	knoerre/do_check_load5.o \
	knoerre/do_check_load15.o \
	knoerre/do_check_loadmulti.o \
	knoerre/do_check_netlinksdown.o \
	knoerre/do_check_nettraf.o \
	knoerre/do_postfix_mailqsize.o \
	knoerre/do_check_proccount.o \
	knoerre/do_check_proccounttg.o \
	knoerre/do_check_process.o \
	knoerre/do_check_tcp.o \
	knoerre/do_check_timediff.o \
	knoerre/do_check_swaps.o \
	knoerre/do_check_uptime.o \
	knoerre/do_check_wc-l.o \
	knoerre/kernel_bad_entries.o \
	knoerre/get_fs_stats.o \
	knoerre/get_all_local_fs_stats.o \
	knoerre/knoerred.o \
	lib/sputlongs.o \
	lib/sputuint32.o \
	lib/field_index.o \
	lib/str2uint64.o \
	lib/str_field.o \
	lib/str_index2.o \

KNOERREHDOBJS= \
	knoerre/record_multi_values.o \
	knoerre/record_measure_values.o \
	knoerre/interval_measure.o \
	knoerre/check_error_exit.o \
	knoerre/do_check_cachedvalue.o \
	knoerre/do_check_cat.o \
	knoerre/do_check_cmdline.o \
	knoerre/do_check_cmp.o \
	knoerre/do_check_cpu.o \
	knoerre/do_check_diskinodes.o \
	knoerre/do_check_diskusage.o \
	knoerre/do_check_diskusagelocal.o \
	knoerre/do_check_dmesg.o \
	knoerre/do_check_filetimestamp.o \
	knoerre/do_check_load1.o \
	knoerre/do_check_load5.o \
	knoerre/do_check_load15.o \
	knoerre/do_check_loadmulti.o \
	knoerre/do_check_netlinksdown.o \
	knoerre/do_check_nettraf.o \
	knoerre/do_postfix_mailqsize.o \
	knoerre/do_check_proccount.o \
	knoerre/do_check_proccounttg.o \
	knoerre/do_check_process.o \
	knoerre/do_check_tcp.o \
	knoerre/do_check_timediff.o \
	knoerre/do_check_swaps.o \
	knoerre/do_check_uptime.o \
	knoerre/do_check_wc-l.o \
	knoerre/kernel_bad_entries.o \
	knoerre/get_fs_stats.o \
	knoerre/get_all_local_fs_stats.o \
	knoerre/knoerred.o \
	knoerre/http_to_key.o \
	lib/sputlongs.o \
	lib/sputuint32.o \
	lib/field_index.o \
	lib/str2uint64.o \
	lib/str_field.o \
	lib/str_index2.o \

MONITORINGFSOBJS= \
	monitoringfs/alloc.o \
	monitoringfs/bgetchar.o \
	monitoringfs/bgetline.o \
	monitoringfs/count_dir_entries.o \
	monitoringfs/create_kd_entry.o \
	monitoringfs/insert_kd_dir.o \
	monitoringfs/monitoringfs_getattr.o \
	monitoringfs/monitoringfs_readdir.o \
	monitoringfs/monitoringfs_open.o \
	monitoringfs/monitoringfs_read.o \
	monitoringfs/search_kd_dir.o \
	monitoringfs/search_kd_direntry.o \
	monitoringfs/search_kd_entry.o \

GRILLEROBJS= \
	tools/griller_get_start_time_and_jiffies_per_second.o \
	tools/griller_getenvvars.o \
	tools/griller_str_and_field.o \
	tools/griller_get_load1_and_is_socket.o \
	tools/griller.o \
	lib/sputuint32.o \
	lib/str2uint64.o \
	lib/str2uint32.o \
	lib/buffer_flush.o \
	lib/buffer_put.o \
	lib/buffer_putc.o \
	lib/buffer_putuint64.o \
	lib/get_name_from_passwd.o \
	lib/map_passwd.o \

PLUGINSOBJS= \
	lib/str2uint64.o \
	lib/sputuint32.o \
	lib/field_index.o \
	knoerre/get_all_local_fs_stats.o \
	knoerre/get_fs_stats.o \
	knoerre/do_check_diskusagelocal.o \
	knoerre/do_check_mounts.o \
	plugins/check_diskusagelocal.o \
	plugins/check_mounts.o \

.c.o:
	@echo CC -c -o $@ $<
	@$(CC) $(ALLCFLAGS) -c -o $@ $<

usage: auto
	@echo -e '\n\n === targets: ===\n\nall: build knoerre, knoerred, knoerreovz, plugins and tools\nknoerre: build knoerre\ndaemons: builds the UDP daemon knoerred and HTTP daemon knoerrehd\nknoerreovz: builds the OpenVZ-version of knoerre\nallknoerre: builds knoerre, knoerred, knoerrehd and knoerreovz\nplugins: build plugins\nclean: should be called before commit and before "switching" from i.e. knoerre to daemon\nsavets: save timestamps\nrestorets: restore timestamps (after i.e. svn checkout)\nmanhtml: convert man-pages to HTML-pages\nmacbuild: build tools on Darwin/MacOS suitable for this platform\nauto: auto-create default config for knoerre and more\nmenuconfig: configure knoerre and modules'
	@echo -e '\n === other targets: ===\n\ninstalldirs libfwb config sstrip daemonize daemonizep user-wrapper check-nfs chownu breakout msleep usleep ipv4conv testcgi sfgrep sfgrep-bk dirscan actionwhenfileold lns chrootuser lps lkill svscanboot killwebprocs ftsm direntries direntries-bk showip postfix-mailqsize nagiosfs cacti_remote_by_http process_perfdata nts2hrf nagios-show-addresses check-nagiosprocess postfix-saslusernames griller scanphpshells scanjavascriptappends scanjavascriptevals rpm'
	@echo -e '\n\n === sleeping 3 seconds then doing "make all" ==='
	@sleep 3
	@echo
	@echo OPTFLAGS=$(OPTFLAGS) $(EXTRACFLAGS) $(EMBEDDED_CFLAGS) $(INCLUDES)
	@echo HOSTCFLAGS=$(HOSTCFLAGS)
	@echo CFLAGS=$(CFLAGS)
	@echo
	$(MAKE) all

.PHONY: clean plugins libfwb all usage daemons auto install installdirs debian-install tools sstrip allknoerre

include kconfig/Makefile

$(KCONFIG_TOP): generated/Config.in
generated/Config.in: */*.c buildscripts/genconfig.sh
	buildscripts/genconfig.sh

all: sstrip libfwb str_chrnul allknoerre tools plugins

auto:
	@echo doing "make auto"
	@[ -e .config ] ||  { $(CP) .config.auto .config;echo " === default config written to .config, you may wish to run 'make menuconfig' ==="; }
	@$(MAKE) silentoldconfig
	@sleep 1

#install: installdirs postfix-mailqsize-install process_perfdata-install nts2hrf-install nagios-check-backup-install nagios-check-diskfree-install nagios-check-longuserprocesses-install nagios-check-nfs-install nagios-check-process-install ftsm-install direntries-install nagios-show-addresses-install knoerre-install knoerred-install knoerrehd-install daemonize-install daemonizep-install breakout-install msleep-install ipv4conv-install usleep-install testcgi-install showip-install svscanboot-install sfgrep-install dirscan-install actionwhenfileold-install lns-install chrootuser-install lps-install lkill-install killwebprocs-install postfix-mailqsize-install postfix-saslusernames-install griller-install plugins-install
install: installdirs tools-install knoerre-install knoerred-install knoerrehd-install plugins-install

installdirs:
	-$(INSTALL) -d $(bindir) $(mandir)/man1 $(mandir)/man8 $(sysconfdir)/xinetd.d

debian-install: installdirs
	-$(INSTALL) -d $(sysconfdir)/default $(sysconfdir)/init.d
	$(INSTALL) -m 644 startscripts/etc/sysconfig/knoerred $(sysconfdir)/default/
	$(INSTALL) -m 644 startscripts/etc/init.d/knoerred $(sysconfdir)/init.d/
	$(INSTALL) -m 644 knoerre/knoerre.xinetd $(sysconfdir)/xinetd.d/knoerre

libfwb: lib/*.[ch]
	@echo $(MAKE) DIET="$(DIET)" HOSTCC="$(HOSTCC)" -C lib
	@$(MAKE) DIET="$(DIET)" HOSTCC="$(HOSTCC)" CFLAGS="$(ALLCFLAGS)" -C lib

libfwb-clean:
	$(MAKE) -C lib clean

tools: sstrip daemonize daemonizep user-wrapper check-nfs chownu breakout msleep ipv4conv usleep testcgi ping showip svscanboot sfgrep sfgrep-bk dirscan actionwhenfileold lns chrootuser lps lkill killwebprocs scanjavascriptappends scanjavascriptevals scanphpshells postfix-mailqsize postfix-saslusernames ftsm direntries direntries-bk griller postfix-mailqsize check-nagiosprocess nts2hrf process_perfdata nagios-check-backup nagios-check-diskfree nagios-check-longuserprocesses nagios-check-nfs nagios-check-process nagios-show-addresses show-cipher-preference procage mboxscrub camelCase

tools-install: sstrip-install daemonize-install daemonizep-install user-wrapper-install check-nfs-install chownu-install breakout-install msleep-install usleep-install ipv4conv-install testcgi-install showip-install svscanboot-install sfgrep-install dirscan-install actionwhenfileold-install lns-install chrootuser-install lps-install lkill-install killwebprocs-install postfix-mailqsize-install postfix-saslusernames-install ftsm-install direntries-install griller-install nts2hrf-install process_perfdata-install nagios-check-backup-install nagios-check-diskfree-install nagios-check-longuserprocesses-install nagios-check-nfs-install nagios-check-process-install nagios-show-addresses-install build-chroot-install show-cipher-preference-install procage-install mboxscrub-install camelCase-install

ping:
	-$(NASM) -w+orphan-labels -w+macro-params -iinc/ -O99v -f bin -D__LINUX__ -D__KERNEL__=24 -D__SYSCALL__=__S_KERNEL__ -D__OPTIMIZE__=__O_SIZE__ -D__ELF__ -D__ELF_MACROS__ tools/ping.asm
	-@chmod 755 tools/ping

ping-clean:
	@$(RM) -f tools/ping
 
sstrip: tools/sstrip.c
	@echo CC -o tools/sstrip tools/sstrip.c
	@-$(HOSTCC) $(HOSTCFLAGS) -o $(HOSTSSTRIP) tools/sstrip.c
	@-$(CC) $(LDCFLAGS) -o tools/sstrip tools/sstrip.c
	@-$(HOSTSSTRIP) tools/sstrip
	#@-$(CP) tools/sstrip tools/sstrip-tmp
	#@-tools/sstrip-tmp tools/sstrip
	#@$(RM) -f tools/sstrip-tmp

sstrip-install:
	$(INSTALL) -p $(SSTRIP) $(bindir)

sstrip-clean:
	$(RM) -f $(SSTRIP) tools/sstrip.o
	$(RM) -f $(SSTRIP) tools/sstrip-host tools/sstrip.o

macbuild:
	$(MAKE) USE_SSTRIP="" STRIP_ARGS="-x" CPU_OPT="" DIET="" actionwhenfileold daemonize daemonizep ftsm direntries dirscan ipv4conv postfix-mailqsize sfgrep showip svscanboot
	$(MAKE) USE_SSTRIP="" STRIP_ARGS="-x" CPU_OPT="" DIET="" EXTRA_CFLAGS="" postfix-saslusernames
	@echo ==== successfully compiled tools: ====
	/bin/ls -l nagios-checks/postfix-mailqsize tools/actionwhenfileold tools/daemonize tools/daemonize-c tools/daemonizep tools/ftsm tools/direntries tools/dirscan tools/ipv4conv tools/postfix-saslusernames tools/sfgrep tools/showip tools/svscanboot2 tools/svscanboot3

daemonize: $(USE_SSTRIP) tools/daemonize-ld.asm tools/daemonize.asm
	-$(NASM) $(NASM_BIN_FLAGS) tools/daemonize.asm
	@-chmod 755 tools/daemonize
	-$(NASM) $(NASM_ELF_FLAGS) -o tools/daemonize-ld.o tools/daemonize-ld.asm
	@-$(LD) $(LDFLAGS) -o tools/daemonize-ld tools/daemonize-ld.o || $(RM) -f tools/daemonize tools/daemonize-ld
	@-$(RM) -f tools/daemonize-ld.o
	@-$(STRIP) $(STRIP_ARGS) tools/daemonize-ld
	@echo CC -o tools/daemonize-c tools/daemonize.c
	@$(CC) $(LDCFLAGS) -o tools/daemonize-c tools/daemonize.c $(EXTRA_CFLAGS)
	@-$(STRIP) tools/daemonize-c
	test -e tools/daemonize || ln tools/daemonize-c tools/daemonize

daemonize-install: daemonize
	$(INSTALL) -p tools/daemonize $(bindir)
	$(INSTALL) -m 644 tools/daemonize.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/daemonize.1.gz; gzip -9 -f $(mandir)/man1/daemonize.1

daemonize-clean:
	$(RM) -f tools/daemonize tools/daemonize-ld tools/daemonize.o tools/daemonize-ld.o tools/daemonize-c

daemonizep: $(USE_SSTRIP) tools/daemonizep.c
	@echo CC -o tools/daemonizep tools/daemonizep.c
	@$(CC) $(LDCFLAGS) -o tools/daemonizep tools/daemonizep.c $(EXTRA_CFLAGS)
	@-$(STRIP) tools/daemonizep

daemonizep-install: daemonizep
	$(INSTALL) -p tools/daemonizep $(bindir)
	$(INSTALL) -m 644 tools/daemonize.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/daemonize.1.gz; gzip -9 -f $(mandir)/man1/daemonize.1

daemonizep-clean:
	$(RM) -f tools/daemonizep tools/daemonizep-ld tools/daemonizep.o tools/daemonizep-ld.o tools/daemonizep-c

user-wrapper: $(USE_SSTRIP) tools/user-wrapper-ld.asm tools/user-wrapper.asm
	-$(NASM) $(NASM_BIN_FLAGS) tools/user-wrapper.asm
	@-chmod 755 tools/user-wrapper
	-$(NASM) $(NASM_ELF_FLAGS) -o tools/user-wrapper-ld.o tools/user-wrapper-ld.asm
	@-$(LD) $(LDFLAGS) -o tools/user-wrapper-ld tools/user-wrapper-ld.o || $(RM) -f tools/user-wrapper tools/user-wrapper-ld
	@-$(RM) -f tools/user-wrapper-ld.o
	@-$(STRIP) $(STRIP_ARGS) tools/user-wrapper-ld
	@echo CC -o tools/user-wrapper-c tools/user-wrapper.c
	@$(CC) $(LDCFLAGS) -o tools/user-wrapper-c tools/user-wrapper.c
	@-$(STRIP) tools/user-wrapper-c
	test -e tools/user-wrapper || ln tools/user-wrapper-c tools/user-wrapper

user-wrapper-install: user-wrapper
	$(INSTALL) -p tools/user-wrapper $(bindir)
	$(INSTALL) -m 644 tools/user-wrapper.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/user-wrapper.1.gz; gzip -9 -f $(mandir)/man1/user-wrapper.1

user-wrapper-clean:
	$(RM) -f tools/user-wrapper tools/user-wrapper-ld tools/user-wrapper.o tools/user-wrapper-ld.o tools/user-wrapper-c

#procage: $(USE_SSTRIP) tools/procage.asm
#	-$(NASM) $(NASM_BIN_FLAGS) tools/procage.asm
#	@-chmod 755 tools/procage
#
#procage-install: procage
#	-$(INSTALL) -p tools/procage $(bindir)
#
#procage-clean:
#	$(RM) -f tools/procage tools/procage-ld tools/procage.o tools/procage-ld.o tools/procage-c

procage: $(USE_SSTRIP) libfwb tools/procage.c
	@echo CC -o tools/procage tools/procage.c lib/str2uint64.o lib/sputuint64.o
	@$(CC) $(LDCFLAGS) -o tools/procage tools/procage.c lib/str2uint64.o lib/sputuint64.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/procage

procage-install: procage
	$(INSTALL) -p tools/procage $(bindir)
	$(INSTALL) -m 644 tools/procage.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/procage.1.gz; gzip -9 -f $(mandir)/man1/procage.1

procage-clean:
	$(RM) -f tools/procage tools/procage.o

breakout: $(USE_SSTRIP) tools/breakout.asm
	-$(NASM) $(NASM_BIN_FLAGS) tools/breakout.asm
	@-chmod 755 tools/breakout

breakout-install: breakout
	-$(INSTALL) -p tools/breakout $(bindir)

breakout-clean:
	$(RM) -f tools/breakout tools/breakout-ld tools/breakout.o tools/breakout-ld.o tools/breakout-c

msleep: tools/msleep100.asm tools/msleep250.asm tools/msleep500.asm tools/msleep750.asm
	-$(NASM) $(NASM_BIN_FLAGS) tools/msleep100.asm
	-$(NASM) $(NASM_BIN_FLAGS) tools/msleep250.asm
	-$(NASM) $(NASM_BIN_FLAGS) tools/msleep500.asm
	-$(NASM) $(NASM_BIN_FLAGS) tools/msleep750.asm
	@-chmod 755 tools/msleep??0

msleep-install: msleep
	-$(INSTALL) -p tools/msleep??0 $(bindir)

msleep-clean:
	$(RM) -f tools/msleep??0

usleep: $(USE_SSTRIP) tools/usleep.c
	@echo CC -o tools/usleep tools/usleep.c
	@$(CC) $(LDCFLAGS) -o tools/usleep tools/usleep.c $(EXTRA_CFLAGS)
	@-$(STRIP) tools/usleep

usleep-install: usleep
	$(INSTALL) -p tools/usleep $(bindir)
	$(INSTALL) -m 644 tools/usleep.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/usleep.1.gz; gzip -9 -f $(mandir)/man1/usleep.1

usleep-clean:
	$(RM) -f tools/usleep tools/usleep.o

ipv4conv: $(USE_SSTRIP) tools/ipv4conv.c
	@echo CC -o tools/ipv4conv tools/ipv4conv.c
	@$(CC) $(LDCFLAGS) -o tools/ipv4conv tools/ipv4conv.c $(EXTRA_CFLAGS)
	@-$(STRIP) tools/ipv4conv

ipv4conv-install: ipv4conv
	$(INSTALL) -p tools/ipv4conv $(bindir)
	$(INSTALL) -m 644 tools/ipv4conv.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/ipv4conv.1.gz; gzip -9 -f $(mandir)/man1/ipv4conv.1

ipv4conv-clean:
	$(RM) -f tools/ipv4conv tools/ipv4conv.o

testcgi: tools/testcgi.asm
	-$(NASM) $(NASM_BIN_FLAGS) tools/testcgi.asm
	@-chmod 755 tools/testcgi

testcgi-install: testcgi
	-$(INSTALL) -p tools/testcgi $(bindir)
	-$(INSTALL) -m 644 tools/testcgi.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/testcgi.1.gz; gzip -9 -f $(mandir)/man1/testcgi.1

testcgi-clean:
	$(RM) -f tools/testcgi

mboxscrub: $(USE_SSTRIP) libfwb tools/mboxscrub.c
	@echo CC -o tools/mboxscrub tools/mboxscrub.c lib/str2uint32.o
	@$(CC) $(LDCFLAGS) -o tools/mboxscrub tools/mboxscrub.c lib/str2uint32.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/mboxscrub

mboxscrub-install: mboxscrub
	$(INSTALL) -p tools/mboxscrub $(bindir)
	$(INSTALL) -m 644 tools/mboxscrub.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/mboxscrub.1.gz; gzip -9 -f $(mandir)/man1/mboxscrub.1

mboxscrub-clean:
	$(RM) -f tools/mboxscrub tools/mboxscrub.o

sfgrep: $(USE_SSTRIP) tools/sfgrep.c
	@echo CC -o tools/sfgrep tools/sfgrep.c
	@$(CC) $(LDCFLAGS) -o tools/sfgrep tools/sfgrep.c $(EXTRA_CFLAGS)
	@-$(STRIP) tools/sfgrep

sfgrep-install: sfgrep
	$(INSTALL) -p tools/sfgrep $(bindir)
	$(INSTALL) -m 644 tools/sfgrep.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/sfgrep.1.gz; gzip -9 -f $(mandir)/man1/sfgrep.1

sfgrep-clean:
	$(RM) -f tools/sfgrep tools/sfgrep-bk tools/sfgrep.o

sfgrep-bk: $(USE_SSTRIP) tools/sfgrep-bk.c
	@echo CC -o tools/sfgrep-bk tools/sfgrep-bk.c
	@$(CC) $(LDCFLAGS) -o tools/sfgrep-bk tools/sfgrep-bk.c $(EXTRA_CFLAGS)
	@-$(STRIP) tools/sfgrep-bk

sfgrep-bk-clean:
	$(RM) -f tools/sfgrep-bk tools/sfgrep-bk.o

dirscan: $(USE_SSTRIP) tools/dirscan.c
	@echo CC -o tools/dirscan tools/dirscan.c
	@$(CC) $(LDCFLAGS) -o tools/dirscan tools/dirscan.c $(EXTRA_CFLAGS)
	@-$(STRIP) tools/dirscan

dirscan-install: dirscan
	$(INSTALL) -p tools/dirscan $(bindir)
	$(INSTALL) -m 644 tools/dirscan.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/dirscan.1.gz; gzip -9 -f $(mandir)/man1/dirscan.1

dirscan-clean:
	$(RM) -f tools/dirscan tools/dirscan.o

actionwhenfileold: $(USE_SSTRIP) tools/actionwhenfileold.c
	@echo CC -o tools/actionwhenfileold tools/actionwhenfileold.c
	@$(CC) $(LDCFLAGS) -o tools/actionwhenfileold tools/actionwhenfileold.c $(EXTRA_CFLAGS)
	@-$(STRIP) tools/actionwhenfileold

actionwhenfileold-install: actionwhenfileold
	$(INSTALL) -p tools/actionwhenfileold $(bindir)
	$(INSTALL) -m 644 tools/actionwhenfileold.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/actionwhenfileold.1.gz; gzip -9 -f $(mandir)/man1/actionwhenfileold.1

actionwhenfileold-clean:
	$(RM) -f tools/actionwhenfileold tools/actionwhenfileold.o

lns: $(USE_SSTRIP) libfwb tools/lns.c
	@echo CC -o tools/lns tools/lns.c lib/buffer_put.o lib/buffer_putc.o lib/buffer_putstr.o lib/buffer_putuint32.o lib/buffer_flush.o lib/str2uint32.o lib/procnetipaddr_to_humanreadable.o lib/hexstr2uint32.o lib/buffer_putmem.o
	@$(CC) $(LDCFLAGS) -o tools/lns tools/lns.c lib/buffer_put.o lib/buffer_putc.o lib/buffer_putstr.o lib/buffer_putuint32.o lib/buffer_flush.o lib/str2uint32.o lib/procnetipaddr_to_humanreadable.o lib/hexstr2uint32.o lib/buffer_putmem.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/lns

lns-install: lns
	$(INSTALL) -p tools/lns $(bindir)
	$(INSTALL) -m 644 tools/lns.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/lns.1.gz; gzip -9 -f $(mandir)/man1/lns.1

lns-clean:
	$(RM) -f tools/lns tools/lns.o

chrootuser: $(USE_SSTRIP) libfwb tools/chrootuser.c lib/fchown32m.o lib/setresuid32m.o lib/setresgid32m.o
	@echo CC -o tools/chrootuser tools/chrootuser.c lib/map_passwd.o lib/get_uid_from_passwd.o lib/str2uint32.o lib/fchown32m.o lib/setresuid32m.o lib/setresgid32m.o
	@$(CC) $(LDCFLAGS) -o tools/chrootuser tools/chrootuser.c lib/map_passwd.o lib/get_uid_from_passwd.o lib/str2uint32.o lib/fchown32m.o lib/setresuid32m.o lib/setresgid32m.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/chrootuser

chrootuser-install: chrootuser
	$(INSTALL) -p tools/chrootuser $(bindir)
	$(INSTALL) -m 644 tools/chrootuser.8 $(mandir)/man8/; $(RM) -f $(mandir)/man8/chrootuser.8.gz; gzip -9 -f $(mandir)/man8/chrootuser.8

chrootuser-clean:
	$(RM) -f tools/chrootuser tools/chrootuser.o

lps: $(USE_SSTRIP) libfwb tools/lps.c
	@echo CC -o tools/lps tools/lps.c lib/sputuint32.o lib/buffer_putuint64.o lib/map_passwd.o lib/get_name_from_passwd.o lib/buffer_putc.o lib/buffer_put.o lib/buffer_flush.o lib/stpcpy.o lib/str2uint64.o lib/str2uint32.o
	@$(CC) $(LDCFLAGS) -o tools/lps tools/lps.c lib/sputuint32.o lib/buffer_putuint64.o lib/map_passwd.o lib/get_name_from_passwd.o lib/buffer_putc.o lib/buffer_put.o lib/buffer_flush.o lib/stpcpy.o lib/str2uint64.o lib/str2uint32.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/lps

lps-install: lps
	$(INSTALL) -p tools/lps $(bindir)
	$(INSTALL) -m 644 tools/lps.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/lps.1.gz; gzip -9 -f $(mandir)/man1/lps.1

lps-clean:
	$(RM) -f tools/lps tools/lps.o

lkill: $(USE_SSTRIP) tools/lkill.c lib/map_passwd.o lib/get_uid_from_passwd.o lib/stpcpy.o
	@echo CC -o tools/lkill tools/lkill.c lib/map_passwd.o lib/get_uid_from_passwd.o lib/stpcpy.o
	@$(CC) $(LDCFLAGS) -o tools/lkill tools/lkill.c lib/map_passwd.o lib/get_uid_from_passwd.o lib/stpcpy.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/lkill

lkill-install: lkill
	$(INSTALL) -p tools/lkill $(bindir)
	$(INSTALL) -m 644 tools/lkill.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/lkill.1.gz; gzip -9 -f $(mandir)/man1/lkill.1

lkill-clean:
	$(RM) -f tools/lkill tools/lkill.o

svscanboot: $(USE_SSTRIP) tools/svscanboot2.c tools/svscanboot3.c
	@echo CC -o tools/svscanboot2 tools/svscanboot2.c
	@$(CC) $(LDCFLAGS) -o tools/svscanboot2 tools/svscanboot2.c
	@-$(STRIP) tools/svscanboot2
	@echo CC -o tools/svscanboot3 tools/svscanboot3.c
	@$(CC) $(LDCFLAGS) -o tools/svscanboot3 tools/svscanboot3.c
	@-$(STRIP) tools/svscanboot3

svscanboot-install: svscanboot
	$(INSTALL) -p tools/svscanboot? $(bindir)

svscanboot-clean:
	$(RM) -f tools/svscanboot?

killwebprocs: $(USE_SSTRIP) tools/killwebprocs.c
	@echo CC -o tools/killwebprocs tools/killwebprocs.c lib/stpcpy.o
	@$(CC) $(LDCFLAGS) -o tools/killwebprocs tools/killwebprocs.c lib/stpcpy.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/killwebprocs

killwebprocs-install: killwebprocs
	$(INSTALL) -p tools/killwebprocs $(bindir)
	$(INSTALL) -m 644 tools/killwebprocs.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/killwebprocs.1.gz; gzip -9 -f $(mandir)/man1/killwebprocs.1

killwebprocs-clean:
	$(RM) -f tools/killwebprocs tools/killwebprocs.o

chownu: $(USE_SSTRIP) libfwb tools/chownu.o
	@echo CC -o tools/chownu lib/map_passwd.o lib/get_uid_from_passwd.o lib/str2uint32.o tools/chownu.o
	@$(CC) $(LDCFLAGS) -o tools/chownu lib/map_passwd.o lib/get_uid_from_passwd.o lib/str2uint32.o tools/chownu.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/chownu

chownu-install: chownu
	$(INSTALL) -p tools/chownu $(bindir)
	$(INSTALL) -m 644 tools/chownu.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/chownu.1.gz; gzip -9 -f $(mandir)/man1/chownu.1

chownu-clean:
	$(RM) -f tools/chownu tools/chownu.o

camelCase: $(USE_SSTRIP) libfwb
	@echo CC -o tools/camelCase
	@$(CC) $(LDCFLAGS) -D_USE_LIBFWB_=1 -o tools/camelCase tools/camelCase.c $(EXTRA_CFLAGS)
	@-$(STRIP) tools/camelCase

camelCase-install: camelCase
	$(INSTALL) -p tools/camelCase $(bindir)
	$(INSTALL) -m 644 tools/camelCase.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/camelCase.1.gz; gzip -9 -f $(mandir)/man1/camelCase.1

camelCase-clean:
	$(RM) -f tools/camelCase

check-nfs: $(USE_SSTRIP) tools/check-nfs.o
	@echo CC -o tools/check-nfs tools/check-nfs.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o tools/check-nfs tools/check-nfs.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/check-nfs

check-nfs-clean:
	$(RM) -f tools/check-nfs tools/check-nfs.o

check-nfs-install:
	$(INSTALL) -p tools/check-nfs $(bindir)
	$(INSTALL) -m 644 tools/check-nfs.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/check-nfs.1.gz; gzip -9 -f $(mandir)/man1/check-nfs.1

direntries: $(USE_SSTRIP) lib/str_catn.o lib/putlong.o lib/str_index.o lib/str_diffn.o tools/direntries.o
	@echo CC -o tools/direntries lib/str_catn.o lib/str_index.o lib/putlong.o lib/str_diffn.o tools/direntries.o
	@$(CC) $(LDCFLAGS) -o tools/direntries lib/str_catn.o lib/str_index.o lib/putlong.o lib/str_diffn.o tools/direntries.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/direntries

direntries-install: direntries
	$(INSTALL) -p tools/direntries $(bindir)
	$(INSTALL) -m 644 tools/direntries.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/direntries.1.gz; gzip -9 -f $(mandir)/man1/direntries.1

direntries-clean:
	$(RM) -f tools/direntries tools/direntries.o tools/direntries-bk tools/direntries-bk.o

direntries-bk: $(USE_SSTRIP) lib/str_catn.o lib/putlong.o lib/str_index.o lib/str_diffn.o tools/direntries-bk.o
	@echo CC -o tools/direntries-bk lib/str_catn.o lib/str_index.o lib/putlong.o lib/str_diffn.o tools/direntries-bk.o
	@$(CC) $(LDCFLAGS) -o tools/direntries-bk lib/str_catn.o lib/str_index.o lib/putlong.o lib/str_diffn.o tools/direntries-bk.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/direntries-bk

ftsm: $(USE_SSTRIP) lib/str_catn.o lib/putlong.o lib/str_index.o lib/str_diffn.o lib/buffer_flush.o lib/buffer_put.o lib/buffer_putc.o lib/buffer_putstr.o lib/buffer_putuint64.o tools/ftsm.o
	@echo CC -o tools/ftsm lib/str_catn.o lib/str_index.o lib/str_diffn.o lib/buffer_flush.o lib/buffer_put.o lib/buffer_putc.o lib/buffer_putstr.o lib/buffer_putuint64.o tools/ftsm.o lib/buffer_putmem.o
	@$(CC) $(LDCFLAGS) -o tools/ftsm lib/str_catn.o lib/str_index.o lib/str_diffn.o lib/buffer_flush.o lib/buffer_put.o lib/buffer_putc.o lib/buffer_putstr.o lib/buffer_putuint64.o tools/ftsm.o lib/buffer_putmem.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/ftsm

ftsm-install: ftsm
	$(INSTALL) -p tools/ftsm $(bindir)
	$(INSTALL) -m 644 tools/ftsm.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/ftsm.1.gz; gzip -9 -f $(mandir)/man1/ftsm.1

ftsm-clean:
	$(RM) -f tools/ftsm tools/ftsm.o

showip: $(USE_SSTRIP) tools/showip.o
	@echo CC -o tools/showip tools/showip.o
	@$(CC) $(LDCFLAGS) -o tools/showip tools/showip.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/showip

showip-install: showip
	$(INSTALL) -p tools/showip $(bindir)
	$(INSTALL) -m 644 tools/showip.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/showip.1.gz; gzip -9 -f $(mandir)/man1/showip.1

showip-clean:
	$(RM) -f tools/showip tools/showip.o

postfix-mailqsize: $(USE_SSTRIP) lib/putlong.o nagios-checks/postfix-mailqsize.o
	@echo CC -o nagios-checks/postfix-mailqsize lib/putlong.o nagios-checks/postfix-mailqsize.o
	@$(CC) $(LDCFLAGS) -o nagios-checks/postfix-mailqsize lib/putlong.o nagios-checks/postfix-mailqsize.o $(EXTRA_CFLAGS)
	@-$(STRIP) nagios-checks/postfix-mailqsize

postfix-mailqsize-install: postfix-mailqsize
	$(INSTALL) -p nagios-checks/postfix-mailqsize $(bindir)
	$(INSTALL) -m 644 nagios-checks/postfix-mailqsize.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/postfix-mailqsize.1

postfix-mailqsize-clean:
	$(RM) -f nagios-checks/postfix-mailqsize nagios-checks/postfix-mailqsize.o

allknoerre:
	$(MAKE) DIET="$(DIET)" knoerre-clean knoerreovz
	@$(MV) knoerre/knoerreovz knoerreovz
	$(MAKE) DIET="$(DIET)" DKNOERRED="-DKNOERRED" knoerre-clean knoerred
	@$(MV) knoerre/knoerred knoerred
	$(MAKE) DIET="$(DIET)" DKNOERRED="-DKNOERRED -DKNOERREHD" knoerrehd
	@$(MV) knoerre/knoerrehd knoerrehd
	$(MAKE) DIET="$(DIET)" knoerre-clean knoerre
	@$(MV) knoerrehd knoerred knoerreovz knoerre/

knoerre: $(USE_SSTRIP) $(KNOERREOBJS)
	@echo CC -o knoerre/knoerre "\$$(KNOERREOBJS)" $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o knoerre/knoerre $(KNOERREOBJS) $(EXTRA_CFLAGS) ||:
	@$(CC) $(RPM_CFLAGS) $(LDCFLAGS) -o knoerre/knoerre $(KNOERREOBJS) $(EXTRA_CFLAGS)
	@-$(STRIP) knoerre/knoerre
	@echo $(DOPENVZDEFAULT)|grep -q DOPENVZDEFAULT || echo '*** NOTE: If you want to build an OpenVZ version of knoerre you must manually call "make knoerre-clean knoerreovz"'; true
	@echo '*** NOTE: to build udp server knoerred and http server knoerrehd you must manually call "make knoerre-clean daemons"'

knoerre-install:
	$(INSTALL) -p knoerre/knoerre-conf knoerre/knoerre-update-tcprules knoerre/knoerre $(bindir)
	$(INSTALL) -m 644 knoerre/knoerre.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/knoerre.1
	$(INSTALL) -m 644 knoerre/knoerre-conf.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/knoerre-conf.1
	$(INSTALL) -m 644 knoerre/knoerre-update-tcprules.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/knoerre-update-tcprules.1

knoerre-clean:
	@echo $(RM) -f knoerre/knoerre knoerre/knoerreovz knoerre/knoerre.o "\$$(KNOERREOBJS)"
	@$(RM) -f knoerre/knoerre knoerre/knoerreovz knoerre/knoerre.o $(KNOERREOBJS)

knoerreovz: knoerre-clean
	$(MAKE) DOPENVZDEFAULT="-DOPENVZDEFAULT -DPROCCOUNTOVZ_KEY='"\""proccountovz "\""'" knoerre
	@$(MV) knoerre/knoerre knoerre/knoerreovz

daemons: knoerre-clean
	#$(MAKE) DOPENVZDEFAULT="-DOPENVZDEFAULT -DPROCCOUNTOVZ_KEY='"\""proccountovz "\""'" knoerre
	$(MAKE) DKNOERRED="-DKNOERRED" knoerred knoerrehd

knoerred: $(USE_SSTRIP) $(KNOERREDOBJS)
	@-$(RM) -f knoerre/knoerred knoerre/knoerred.o
	$(MAKE) DKNOERRED="-DKNOERRED" knoerre/knoerred.o
	@echo CC -o knoerre/knoerred "\$$(KNOERREDOBJS)" $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o knoerre/knoerred $(KNOERREDOBJS) $(EXTRA_CFLAGS)
	@-$(STRIP) knoerre/knoerred

knoerred-install:
	$(INSTALL) -p knoerre/knoerred $(bindir)
	$(INSTALL) -m 644 knoerre/knoerred.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/knoerred.1

knoerred-clean:
	$(RM) -f knoerre/knoerred knoerre/knoerred.o $(KNOERREHDOBJS)

knoerrehd: $(USE_SSTRIP) $(KNOERREHDOBJS)
	@-$(RM) -f knoerre/knoerrehd knoerre/knoerred.o
	$(MAKE) DKNOERRED="-DKNOERRED -DKNOERREHD" knoerre/knoerred.o
	@echo CC -DKNOERREHD -o knoerre/knoerrehd "\$$(KNOERREHDOBJS)" $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -DKNOERREHD -o knoerre/knoerrehd $(KNOERREHDOBJS) $(EXTRA_CFLAGS)
	@-$(STRIP) knoerre/knoerrehd

knoerrehd-install:
	$(INSTALL) -p knoerre/knoerrehd $(bindir)
	$(INSTALL) -m 644 knoerre/knoerred.1 $(mandir)/man1/knoerrehd.1; gzip -9 -f $(mandir)/man1/knoerrehd.1

knoerrehd-clean:
	$(RM) -f knoerre/knoerrehd knoerre/knoerrehd.o $(KNOERREHDOBJS)

monitoringfs: $(USE_SSTRIP)
	@-$(RM) monitoringfs/monitoringfs_read.o
	$(MAKE) DIET="" $(MONITORINGFSOBJS) monitoringfs/monitoringfs_get_remote_by_http.o monitoringfs/monitoringfs_get_remote_by_udp.o
	@echo CC $(FUSEFLAGS) -o monitoringfs/monitoringfs
	@$(HOSTCC) $(LDCFLAGS) $(FUSEFLAGS) -o monitoringfs/monitoringfs monitoringfs/monitoringfs.c $(MONITORINGFSOBJS) monitoringfs/monitoringfs_get_remote_by_udp.o
	@-$(STRIP) monitoringfs/monitoringfs
	@-$(RM) monitoringfs/monitoringfs_read.o
	$(MAKE) DIET="" HOSTCFLAGS="$(HOSTCFLAGS) -DMONITORINGFSHTTP" monitoringfs/monitoringfs_read.o monitoringfs/monitoringfs_get_remote_by_http.o
	@echo CC $(FUSEFLAGS) -o monitoringfs/monitoringfshttp
	@$(HOSTCC) $(LDCFLAGS) $(FUSEFLAGS) -DMONITORINGFSHTTP -o monitoringfs/monitoringfshttp monitoringfs/monitoringfs.c $(MONITORINGFSOBJS) monitoringfs/monitoringfs_get_remote_by_http.o
	@-$(STRIP) monitoringfs/monitoringfshttp

monitoringfs-install: monitoringfs
	$(INSTALL) -p monitoringfs/monitoringfs monitoringfs/monitoringfshttp $(bindir)
	$(INSTALL) -m 644 monitoringfs/monitoringfs.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/monitoringfs.1

monitoringfs-clean:
	$(RM) -f monitoringfs/monitoringfs monitoringfs/monitoringfshttp monitoringfs/*.o

plugins: auto
	$(RM) -f $(PLUGINSOBJS)
	$(MAKE) DIET="$(DIET)" DKNOERRED="-DKNOERRED -DPLUGIN" plugins-all

plugins-all: libfwb check_diskusagelocal check_mounts cacti_remote_by_http check_http_fwb check_tcp_connect check_remote_by_http check_remote_by_http_time check_remote_by_udp check_remote_by_udp_multi check_remote_by_udp_time check_true check_diskusagelocal check_mounts

plugins-install: plugins check_diskusagelocal-install check_mounts-install cacti_remote_by_http-install check_http_fwb-install check_tcp_connect-install check_remote_by_http-install check_remote_by_http_time-install check_remote_by_udp-install check_remote_by_udp_multi-install check_remote_by_udp_time-install check_true-install check_diskusagelocal-install check_mounts-install

plugins-clean: check_diskusagelocal-clean check_mounts-clean cacti_remote_by_http-clean check_http_fwb-clean check_tcp_connect-clean check_remote_by_http-clean check_remote_by_http_time-clean check_remote_by_udp-clean check_remote_by_udp_multi-clean check_remote_by_udp_time-clean check_true-clean check_diskusagelocal-clean check_mounts-clean

cacti_remote_by_http: $(USE_SSTRIP) lib/str2uint64.o plugins/cacti_remote_by_http.o
	@echo CC -o plugins/cacti_remote_by_http lib/str2uint64.o plugins/cacti_remote_by_http.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o plugins/cacti_remote_by_http lib/str2uint64.o plugins/cacti_remote_by_http.o $(EXTRA_CFLAGS)
	@-$(STRIP) plugins/cacti_remote_by_http

cacti_remote_by_http-install: cacti_remote_by_http
	$(INSTALL) -p plugins/cacti_remote_by_http $(bindir)
	$(INSTALL) -m 644 plugins/cacti_remote_by_http.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/cacti_remote_by_http.1

cacti_remote_by_http-clean:
	$(RM) -f plugins/cacti_remote_by_http plugins/cacti_remote_by_http.o

check_true: $(USE_SSTRIP) plugins/check_true.asm
	-$(NASM) $(NASM_BIN_FLAGS) plugins/check_true.asm
	@-chmod 755 plugins/check_true 2>/dev/null
	@echo CC -o plugins/check_true-c plugins/check_true.c
	@$(CC) $(LDCFLAGS) -o plugins/check_true-c plugins/check_true.c $(EXTRA_CFLAGS)
	@-$(STRIP) plugins/check_true-c
	test -e plugins/check_true || ln plugins/check_true-c plugins/check_true

check_true-install: check_true
	$(INSTALL) -p plugins/check_true $(bindir)
	$(INSTALL) -m 644 plugins/check_true.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/check_true.1

check_true-clean:
	$(RM) -f plugins/check_true plugins/check_true-c plugins/check_true.o plugins/check_true-ld.o plugins/check_true-c

check_remote_by_http: $(USE_SSTRIP) lib/str2uint64.o plugins/check_remote_by_http.o
	@echo CC -o plugins/check_remote_by_http lib/str2uint64.o plugins/check_remote_by_http.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o plugins/check_remote_by_http lib/str2uint64.o plugins/check_remote_by_http.o $(EXTRA_CFLAGS)
	@-$(STRIP) plugins/check_remote_by_http

check_remote_by_http-install: check_remote_by_http
	$(INSTALL) -p plugins/check_remote_by_http $(bindir)
	$(INSTALL) -m 644 plugins/check_remote_by_http.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/check_remote_by_http.1

check_remote_by_http-clean:
	$(RM) -f plugins/check_remote_by_http plugins/check_remote_by_http.o

check_remote_by_http_time: $(USE_SSTRIP) lib/sputlongs.o lib/str2uint64.o plugins/check_remote_by_http_time.o
	@echo CC -o plugins/check_remote_by_http_time lib/sputlongs.o lib/str2uint64.o plugins/check_remote_by_http_time.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o plugins/check_remote_by_http_time lib/sputlongs.o lib/str2uint64.o plugins/check_remote_by_http_time.o $(EXTRA_CFLAGS)
	@-$(STRIP) plugins/check_remote_by_http_time

check_remote_by_http_time-install: check_remote_by_http_time
	$(INSTALL) -p plugins/check_remote_by_http_time $(bindir)
	$(INSTALL) -m 644 plugins/check_remote_by_http_time.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/check_remote_by_http_time.1

check_remote_by_http_time-clean:
	$(RM) -f plugins/check_remote_by_http_time plugins/check_remote_by_http_time.o

check_remote_by_udp: $(USE_SSTRIP) lib/str2uint64.o plugins/check_remote_by_udp.o
	@echo CC -o plugins/check_remote_by_udp lib/str2uint64.o plugins/check_remote_by_udp.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o plugins/check_remote_by_udp lib/str2uint64.o plugins/check_remote_by_udp.o $(EXTRA_CFLAGS)
	@-$(STRIP) plugins/check_remote_by_udp

check_remote_by_udp-install: check_remote_by_udp
	$(INSTALL) -p plugins/check_remote_by_udp $(bindir)
	$(INSTALL) -m 644 plugins/check_remote_by_udp.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/check_remote_by_udp.1

check_remote_by_udp-clean:
	$(RM) -f plugins/check_remote_by_udp plugins/check_remote_by_udp.o

check_remote_by_udp_multi: $(USE_SSTRIP) lib/str2uint64.o lib/sputuint32.o plugins/check_remote_by_udp_multi.o
	@echo CC -o plugins/check_remote_by_udp_multi lib/str2uint64.o lib/sputuint32.o plugins/check_remote_by_udp_multi.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o plugins/check_remote_by_udp_multi lib/str2uint64.o lib/sputuint32.o plugins/check_remote_by_udp_multi.o $(EXTRA_CFLAGS)
	@-$(STRIP) plugins/check_remote_by_udp_multi

check_remote_by_udp_multi-install: check_remote_by_udp_multi
	$(INSTALL) -p plugins/check_remote_by_udp_multi $(bindir)
	$(INSTALL) -m 644 plugins/check_remote_by_udp_multi.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/check_remote_by_udp_multi.1

check_remote_by_udp_multi-clean:
	$(RM) -f plugins/check_remote_by_udp_multi plugins/check_remote_by_udp_multi.o

check_remote_by_udp_multi_net: $(USE_SSTRIP) lib/str2uint64.o lib/sputuint32.o plugins/check_remote_by_udp_multi_net.o
	@echo CC -o plugins/check_remote_by_udp_multi_net lib/str2uint64.o lib/sputuint32.o plugins/check_remote_by_udp_multi_net.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o plugins/check_remote_by_udp_multi_net lib/str2uint64.o lib/sputuint32.o plugins/check_remote_by_udp_multi_net.o $(EXTRA_CFLAGS)
	@-$(STRIP) plugins/check_remote_by_udp_multi_net

check_remote_by_udp_multi_net-install: check_remote_by_udp_multi_net
	$(INSTALL) -p plugins/check_remote_by_udp_multi_net $(bindir)
	$(INSTALL) -m 644 plugins/check_remote_by_udp_multi_net.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/check_remote_by_udp_multi_net.1

check_remote_by_udp_multi_net-clean:
	$(RM) -f plugins/check_remote_by_udp_multi_net plugins/check_remote_by_udp_multi_net.o

check_remote_by_udp_time: $(USE_SSTRIP) lib/sputuint32.o lib/str2uint64.o plugins/check_remote_by_udp_time.o
	@echo CC -o plugins/check_remote_by_udp_time lib/sputuint32.o lib/str2uint64.o plugins/check_remote_by_udp_time.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o plugins/check_remote_by_udp_time lib/sputuint32.o lib/str2uint64.o plugins/check_remote_by_udp_time.o $(EXTRA_CFLAGS)
	@-$(STRIP) plugins/check_remote_by_udp_time

check_remote_by_udp_time-install: check_remote_by_udp_time
	$(INSTALL) -p plugins/check_remote_by_udp_time $(bindir)
	$(INSTALL) -m 644 plugins/check_remote_by_udp_time.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/check_remote_by_udp_time.1

check_remote_by_udp_time-clean:
	$(RM) -f plugins/check_remote_by_udp_time plugins/check_remote_by_udp_time.o

check_http_fwb: $(USE_SSTRIP) lib/str2uint64.o plugins/check_http_fwb.o
	@echo CC -o plugins/check_http_fwb lib/str2uint64.o plugins/check_http_fwb.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o plugins/check_http_fwb lib/str2uint64.o plugins/check_http_fwb.o $(EXTRA_CFLAGS)
	@-$(STRIP) plugins/check_http_fwb

check_http_fwb-install: check_http_fwb
	$(INSTALL) -p plugins/check_http_fwb $(bindir)
	$(INSTALL) -m 644 plugins/check_http_fwb.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/check_http_fwb.1

check_http_fwb-clean:
	$(RM) -f plugins/check_http_fwb plugins/check_http_fwb.o

check_tcp_connect: $(USE_SSTRIP) lib/str2uint64.o plugins/check_tcp_connect.o
	@echo CC -o plugins/check_tcp_connect lib/str2uint64.o plugins/check_tcp_connect.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o plugins/check_tcp_connect lib/str2uint64.o plugins/check_tcp_connect.o $(EXTRA_CFLAGS)
	@-$(STRIP) plugins/check_tcp_connect

check_tcp_connect-install: check_tcp_connect
	$(INSTALL) -p plugins/check_tcp_connect $(bindir)
	$(INSTALL) -m 644 plugins/check_tcp_connect.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/check_tcp_connect.1

check_tcp_connect-clean:
	$(RM) -f plugins/check_tcp_connect plugins/check_tcp_connect.o

check_diskusagelocal: $(USE_SSTRIP) lib/str2uint64.o plugins/check_diskusagelocal.o knoerre/do_check_diskusagelocal.o lib/sputuint32.o knoerre/get_all_local_fs_stats.o lib/field_index.o knoerre/get_fs_stats.o
	@echo CC -o plugins/check_diskusagelocal lib/str2uint64.o plugins/check_diskusagelocal.o knoerre/do_check_diskusagelocal.o lib/sputuint32.o knoerre/get_all_local_fs_stats.o lib/field_index.o knoerre/get_fs_stats.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o plugins/check_diskusagelocal lib/str2uint64.o plugins/check_diskusagelocal.o knoerre/do_check_diskusagelocal.o lib/sputuint32.o knoerre/get_all_local_fs_stats.o lib/field_index.o knoerre/get_fs_stats.o $(EXTRA_CFLAGS)
	@-$(STRIP) plugins/check_diskusagelocal

check_diskusagelocal-install: check_diskusagelocal
	$(INSTALL) -p plugins/check_diskusagelocal $(bindir)
	$(INSTALL) -m 644 plugins/check_diskusagelocal.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/check_diskusagelocal.1

check_diskusagelocal-clean:
	$(RM) -f plugins/check_diskusagelocal plugins/check_diskusagelocal.o

check_mounts: $(USE_SSTRIP) lib/str2uint64.o plugins/check_mounts.o knoerre/do_check_mounts.o lib/sputuint32.o knoerre/get_all_local_fs_stats.o lib/field_index.o knoerre/get_fs_stats.o
	@echo CC -o plugins/check_mounts lib/str2uint64.o knoerre/do_check_mounts.o plugins/check_mounts.o lib/sputuint32.o knoerre/get_all_local_fs_stats.o lib/field_index.o knoerre/get_fs_stats.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o plugins/check_mounts lib/str2uint64.o knoerre/do_check_mounts.o plugins/check_mounts.o lib/sputuint32.o knoerre/get_all_local_fs_stats.o lib/field_index.o knoerre/get_fs_stats.o $(EXTRA_CFLAGS)
	@-$(STRIP) plugins/check_mounts

check_mounts-install: check_mounts
	$(INSTALL) -p plugins/check_mounts $(bindir)
	$(INSTALL) -m 644 plugins/check_mounts.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/check_mounts.1

check_mounts-clean:
	$(RM) -f plugins/check_mounts plugins/check_mounts.o

process_perfdata: $(USE_SSTRIP) lib/str_index2.o lib/sputuint64.o lib/str2uint64.o tools/process_perfdata.o
	@echo CC -o tools/process_perfdata lib/sputuint64.o lib/str2uint64.o lib/str_index2.o tools/process_perfdata.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o tools/process_perfdata lib/sputuint64.o lib/str2uint64.o lib/str_index2.o tools/process_perfdata.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/process_perfdata

process_perfdata-install: process_perfdata
	$(INSTALL) -p tools/process_perfdata $(bindir)
	$(INSTALL) -m 644 tools/process_perfdata.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/process_perfdata.1

process_perfdata-clean:
	$(RM) -f tools/process_perfdata tools/process_perfdata.o

nts2hrf: $(USE_SSTRIP) lib/str2uint32.o lib/buffer_put.o lib/buffer_putuint32.o lib/buffer_putstr.o lib/buffer_getchar.o lib/buffer_putc.o lib/buffer_flush.o tools/nts2hrf.o
	@echo CC -o tools/nts2hrf lib/str2uint32.o lib/buffer_put.o lib/buffer_putuint32.o lib/buffer_putstr.o lib/buffer_getchar.o lib/buffer_putc.o lib/buffer_flush.o tools/nts2hrf.o lib/buffer_putmem.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o tools/nts2hrf lib/str2uint32.o lib/buffer_put.o lib/buffer_putuint32.o lib/buffer_putstr.o lib/buffer_getchar.o lib/buffer_putc.o lib/buffer_flush.o tools/nts2hrf.o lib/buffer_putmem.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/nts2hrf

nts2hrf-install: nts2hrf
	$(INSTALL) -p tools/nts2hrf $(bindir)
	$(INSTALL) -m 644 tools/nts2hrf.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/nts2hrf.1

nts2hrf-clean:
	$(RM) -f tools/nts2hrf tools/nts2hrf.o

mysqlslowloguserfilter: $(USE_SSTRIP) lib/str2uint32.o lib/buffer_put.o lib/buffer_putuint32.o lib/buffer_putstr.o lib/buffer_getchar.o lib/buffer_putc.o lib/buffer_flush.o tools/mysqlslowloguserfilter.o
	@echo CC -o tools/mysqlslowloguserfilter lib/str2uint32.o lib/buffer_put.o lib/buffer_putuint32.o lib/buffer_putstr.o lib/buffer_getchar.o lib/buffer_putc.o lib/buffer_flush.o tools/mysqlslowloguserfilter.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o tools/mysqlslowloguserfilter lib/str2uint32.o lib/buffer_put.o lib/buffer_putuint32.o lib/buffer_putstr.o lib/buffer_getchar.o lib/buffer_putc.o lib/buffer_flush.o tools/mysqlslowloguserfilter.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/mysqlslowloguserfilter

mysqlslowloguserfilter-install: mysqlslowloguserfilter
	$(INSTALL) -p tools/mysqlslowloguserfilter $(bindir)
	$(INSTALL) -m 644 tools/mysqlslowloguserfilter.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/mysqlslowloguserfilter.1

mysqlslowloguserfilter-clean:
	$(RM) -f tools/mysqlslowloguserfilter tools/mysqlslowloguserfilter.o

nagios-show-addresses: $(USE_SSTRIP) lib/str2uint32.o lib/buffer_put.o lib/buffer_putuint32.o lib/buffer_putstr.o lib/buffer_getchar.o lib/buffer_putc.o lib/buffer_flush.o tools/nagios-show-addresses.o
	@echo CC -o tools/nagios-show-addresses lib/str2uint32.o lib/buffer_put.o lib/buffer_putuint32.o lib/buffer_putstr.o lib/buffer_getchar.o lib/buffer_putc.o lib/buffer_flush.o tools/nagios-show-addresses.o lib/buffer_putmem.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o tools/nagios-show-addresses lib/str2uint32.o lib/buffer_put.o lib/buffer_putuint32.o lib/buffer_putstr.o lib/buffer_getchar.o lib/buffer_putc.o lib/buffer_flush.o tools/nagios-show-addresses.o lib/buffer_putmem.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/nagios-show-addresses

nagios-show-addresses-install: nagios-show-addresses
	$(INSTALL) -p tools/nagios-show-addresses $(bindir)
	$(INSTALL) -m 644 tools/nagios-show-addresses.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/nagios-show-addresses.1

nagios-show-addresses-clean:
	$(RM) -f tools/nagios-show-addresses tools/nagios-show-addresses.o

#monitoringfs: $(USE_SSTRIP) monitoringfs/monitoringfs.c
#	@echo CC -o monitoringfs/monitoringfs monitoringfs/monitoringfs.c
#	$(HOSTCC) $(CFLAGS) $(FUSE_FLAGS) -o monitoringfs/monitoringfs monitoringfs/monitoringfs.c
#	@-$(SSTRIP) monitoringfs/monitoringfs
#
##monitoringfs-install: monitoringfs
##	$(INSTALL) -p monitoringfs/monitoringfs $(bindir)
##	$(INSTALL) -m 644 monitoringfs/monitoringfs.1 $(mandir)/man1/; gzip -9 -f $(mandir)/man1/monitoringfs.1
#
#monitoringfs-clean:
#	$(RM) -f monitoringfs/monitoringfs monitoringfs/monitoringfs.o

check-nagiosprocess: $(USE_SSTRIP) lib/sputlongs.o nagios-checks/check-nagiosprocess.o
	@echo CC -o nagios-checks/check-nagiosprocess lib/sputlongs.o nagios-checks/check-nagiosprocess.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o nagios-checks/check-nagiosprocess lib/sputlongs.o nagios-checks/check-nagiosprocess.o $(EXTRA_CFLAGS)
	@-$(STRIP) nagios-checks/check-nagiosprocess

check-nagiosprocess-clean:
	$(RM) -f nagios-checks/check-nagiosprocess nagios-checks/check-nagiosprocess.o

nagios-check-backup: $(USE_SSTRIP) lib/putlong.o nagios-checks/nagios-check-backup.o
	@echo CC -o nagios-checks/nagios-check-backup lib/putlong.o nagios-checks/nagios-check-backup.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o nagios-checks/nagios-check-backup lib/putlong.o nagios-checks/nagios-check-backup.o $(EXTRA_CFLAGS)
	@-$(STRIP) nagios-checks/nagios-check-backup

nagios-check-backup-clean:
	$(RM) -f nagios-checks/nagios-check-backup nagios-checks/nagios-check-backup.o

nagios-check-backup-install: nagios-check-backup
	$(INSTALL) -p nagios-checks/nagios-check-backup $(bindir)
	$(INSTALL) -m 644 nagios-checks/nagios-check-backup.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/nagios-check-backup.1.gz; gzip -9 -f $(mandir)/man1/nagios-check-backup.1

nagios-check-diskfree: $(USE_SSTRIP) lib/putlong.o nagios-checks/nagios-check-diskfree.o
	@echo CC -o nagios-checks/nagios-check-diskfree lib/putlong.o nagios-checks/nagios-check-diskfree.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o nagios-checks/nagios-check-diskfree lib/putlong.o nagios-checks/nagios-check-diskfree.o $(EXTRA_CFLAGS)
	@-$(STRIP) nagios-checks/nagios-check-diskfree

nagios-check-diskfree-clean:
	$(RM) -f nagios-checks/nagios-check-diskfree nagios-checks/nagios-check-diskfree.o

nagios-check-diskfree-install: nagios-check-diskfree
	$(INSTALL) -p nagios-checks/nagios-check-diskfree $(bindir)
	$(INSTALL) -m 644 nagios-checks/nagios-check-diskfree.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/nagios-check-diskfree.1.gz; gzip -9 -f $(mandir)/man1/nagios-check-diskfree.1

nagios-check-longuserprocesses: $(USE_SSTRIP) lib/putlong.o lib/str2uint63.o nagios-checks/nagios-check-longuserprocesses.o
	@echo CC -o nagios-checks/nagios-check-longuserprocesses lib/putlong.o lib/str2uint63.o nagios-checks/nagios-check-longuserprocesses.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o nagios-checks/nagios-check-longuserprocesses lib/putlong.o lib/str2uint63.o nagios-checks/nagios-check-longuserprocesses.o $(EXTRA_CFLAGS)
	@-$(STRIP) nagios-checks/nagios-check-longuserprocesses

nagios-check-longuserprocesses-clean:
	$(RM) -f nagios-checks/nagios-check-longuserprocesses nagios-checks/nagios-check-longuserprocesses.o

nagios-check-longuserprocesses-install: nagios-check-longuserprocesses
	$(INSTALL) -p nagios-checks/nagios-check-longuserprocesses $(bindir)
	$(INSTALL) -m 644 nagios-checks/nagios-check-longuserprocesses.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/nagios-check-longuserprocesses.1.gz; gzip -9 -f $(mandir)/man1/nagios-check-longuserprocesses.1

nagios-check-nfs: $(USE_SSTRIP) nagios-checks/nagios-check-nfs.o
	@echo CC -o nagios-checks/nagios-check-nfs nagios-checks/nagios-check-nfs.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o nagios-checks/nagios-check-nfs nagios-checks/nagios-check-nfs.o $(EXTRA_CFLAGS)
	@-$(STRIP) nagios-checks/nagios-check-nfs

nagios-check-nfs-clean:
	$(RM) -f nagios-checks/nagios-check-nfs nagios-checks/nagios-check-nfs.o

nagios-check-nfs-install: nagios-check-nfs
	$(INSTALL) -p nagios-checks/nagios-check-nfs $(bindir)
	$(INSTALL) -m 644 nagios-checks/nagios-check-nfs.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/nagios-check-nfs.1.gz; gzip -9 -f $(mandir)/man1/nagios-check-nfs.1

nagios-check-process: $(USE_SSTRIP) lib/putlong.o lib/str_index.o nagios-checks/nagios-check-process.o
	@echo CC -o nagios-checks/nagios-check-process lib/putlong.o lib/str_index.o nagios-checks/nagios-check-process.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o nagios-checks/nagios-check-process lib/putlong.o lib/str_index.o nagios-checks/nagios-check-process.o $(EXTRA_CFLAGS)
	@-$(STRIP) nagios-checks/nagios-check-process

nagios-check-process-clean:
	$(RM) -f nagios-checks/nagios-check-process nagios-checks/nagios-check-process.o

nagios-check-process-install: nagios-check-process
	$(INSTALL) -p nagios-checks/nagios-check-process $(bindir)
	$(INSTALL) -m 644 nagios-checks/nagios-check-process.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/nagios-check-process.1.gz; gzip -9 -f $(mandir)/man1/nagios-check-process.1

postfix-saslusernames: $(USE_SSTRIP) lib/buffer_put.o lib/buffer_flush.o lib/buffer_putc.o lib/buffer_putstr.o lib/buffer_putuint32.o tools/postfix-saslusernames.o
	@echo CC -o tools/postfix-saslusernames tools/postfix-saslusernames.o lib/buffer_putmem.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o tools/postfix-saslusernames tools/postfix-saslusernames.o lib/buffer_put.o lib/buffer_flush.o lib/buffer_putc.o lib/buffer_putstr.o lib/buffer_putuint32.o lib/buffer_putmem.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/postfix-saslusernames

postfix-saslusernames-install: postfix-saslusernames
	$(INSTALL) -p tools/postfix-saslusernames $(bindir)
	$(INSTALL) -m 644 tools/postfix-saslusernames.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/postfix-saslusernames.1.gz; gzip -9 -f $(mandir)/man1/postfix-saslusernames.1

postfix-saslusernames-clean:
	$(RM) -f tools/postfix-saslusernames tools/postfix-saslusernames.o

lsuphp: $(USE_SSTRIP) libfwb tools/lsuphp.o
	@echo CC -o tools/lsuphp tools/lsuphp.o $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o tools/lsuphp tools/lsuphp.o lib/str_diff_right.o lib/map_passwd.o lib/get_home_from_passwd.o lib/sputuint32.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/lsuphp

lsuphp-install: lsuphp
	$(INSTALL) -p tools/lsuphp $(bindir)
	$(INSTALL) -m 644 tools/lsuphp.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/lsuphp.1.gz; gzip -9 -f $(mandir)/man1/lsuphp.1

lsuphp-clean:
	$(RM) -f tools/lsuphp tools/lsuphp.o

griller: $(USE_SSTRIP) libfwb $(GRILLEROBJS)
	@echo CC -o tools/griller $(GRILLEROBJS) $(EXTRA_CFLAGS)
	@$(CC) $(LDCFLAGS) -o tools/griller $(GRILLEROBJS) $(EXTRA_CFLAGS)
	@-$(STRIP) tools/griller

griller-install: griller
	$(INSTALL) -p tools/griller $(bindir)
	$(INSTALL) -m 644 tools/griller.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/griller.1.gz; gzip -9 -f $(mandir)/man1/griller.1

griller-clean:
	$(RM) -f tools/griller $(GRILLEROBJS)

show-cipher-preference: $(USE_SSTRIP)
	@echo CC -o tools/show-cipher-preference
	@$(CC) $(LDCFLAGS) -o tools/show-cipher-preference tools/show-cipher-preference.c
	@-$(STRIP) tools/show-cipher-preference

show-cipher-preference-install: show-cipher-preference
	$(INSTALL) -p tools/show-cipher-preference $(bindir)
	$(INSTALL) -m 644 tools/show-cipher-preference.1 $(mandir)/man1/; $(RM) -f $(mandir)/man1/show-cipher-preference.1.gz; gzip -9 -f $(mandir)/man1/show-cipher-preference.1

show-cipher-preference-clean:
	$(RM) -f tools/show-cipher-preference

build-chroot-install:
	$(INSTALL) -p build-chroot.sh $(bindir)

scanphpshells: $(USE_SSTRIP) libfwb
	@echo CC -o tools/scanphpshells tools/scanphpshells.c lib/buffer_put.o lib/buffer_flush.o lib/buffer_putc.o
	@$(CC) $(LDCFLAGS) -o tools/scanphpshells tools/scanphpshells.c lib/buffer_put.o lib/buffer_flush.o lib/buffer_putc.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/scanphpshells

scanphpshells-clean:
	$(RM) -f tools/scanphpshells tools/scanphpshells.o

scanjavascriptappends: $(USE_SSTRIP) libfwb
	@echo CC -o tools/scanjavascriptappends tools/scanjavascriptappends.c lib/buffer_put.o lib/buffer_flush.o lib/buffer_putc.o
	@$(CC) $(LDCFLAGS) -o tools/scanjavascriptappends tools/scanjavascriptappends.c lib/buffer_put.o lib/buffer_flush.o lib/buffer_putc.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/scanjavascriptappends

scanjavascriptappends-clean:
	$(RM) -f tools/scanjavascriptappends tools/scanjavascriptappends.o

scanjavascriptevals: $(USE_SSTRIP) libfwb
	@echo CC -o tools/scanjavascriptevals tools/scanjavascriptevals.c lib/buffer_put.o lib/buffer_flush.o lib/buffer_putc.o lib/map_file.o
	@$(CC) $(LDCFLAGS) -o tools/scanjavascriptevals tools/scanjavascriptevals.c lib/buffer_put.o lib/buffer_flush.o lib/buffer_putc.o lib/map_file.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/scanjavascriptevals

scanjavascriptevals-clean:
	$(RM) -f tools/scanjavascriptevals tools/scanjavascriptevals.o

tyrre: $(USE_SSTRIP) tools/tyrre.o
	@echo CC -o tools/tyrre tools/tyrre.c
	@$(CC) $(LDCFLAGS) -o tools/tyrre tools/tyrre.o $(EXTRA_CFLAGS)
	@-$(STRIP) tools/tyrre

tyrre-clean:
	$(RM) -f tools/tyrre tools/tyrre.o

str_chrnul: lib/str_chrnul.c lib/str_chrnul.S
	@echo -e "trying assembler... \c";if as -V -Qy -o lib/str_chrnul.o lib/str_chrnul.S;then echo using str_chrnul assembly code;else echo using str_chrnul C code;gcc -c -o lib/str_chrnul.o lib/str_chrnul.c;fi

arch: tools/archi586.asm tools/archi686.asm tools/archx86_64.asm
	-$(NASM) $(NASM_BIN_FLAGS) tools/archi586.asm
	-$(NASM) $(NASM_BIN_FLAGS) tools/archi686.asm
	-$(NASM) $(NASM_BIN_FLAGS) tools/archx86_64.asm
	@-chmod 755 tools/archi586 tools/archi686 tools/archx86_64

clean:: plugins-clean libfwb-clean postfix-mailqsize-clean knoerre-clean knoerred-clean knoerrehd-clean plugins-clean sstrip-clean check-nagiosprocess-clean nagios-check-backup-clean nagios-check-diskfree-clean nagios-check-longuserprocesses-clean nagios-check-nfs-clean nagios-check-process-clean process_perfdata-clean nts2hrf-clean monitoringfs-clean nagios-show-addresses-clean daemonize-clean daemonizep-clean user-wrapper-clean check-nfs-clean chownu-clean breakout-clean msleep-clean ipv4conv-clean usleep-clean testcgi-clean sfgrep-clean dirscan-clean actionwhenfileold-clean lns-clean chrootuser-clean lps-clean lkill-clean svscanboot-clean killwebprocs-clean ftsm-clean direntries-clean showip-clean postfix-mailqsize-clean postfix-saslusernames-clean lsuphp-clean ping-clean sstrip-clean scanjavascriptappends-clean scanjavascriptevals-clean scanphpshells-clean manhtml-clean griller-clean tyrre-clean show-cipher-preference-clean procage-clean mboxscrub-clean camelCase-clean
	@echo $(RM) -f "\$$(LIBOBJS)" "\$$(KNOERREDOBJS)" "\$$(KNOERREHDOBJS)" tags */*.o
	@$(RM) -f $(LIBOBJS) $(KNOERREDOBJS) $(KNOERREHDOBJS) tags */*.o
	$(MAKE) -C lib clean
	$(MAKE) -C kconfig clean
 
distclean: clean
	@$(RM) -rf .config generated .config.old .config.h include/config include/linux
	@-rmdir include
	#$(MAKE) savets

devclean: distclean
	tar cf ../$(DIRNAME)-$(VERSION)-dev.tar $$(ls log tmp tools/*suphp* 2>/dev/null) || true
	@$(RM) -fr log tmp tools/*suphp*

devrevert:
	tar xf ../$(DIRNAME)-$(VERSION)-dev.tar

# old stuff:
dyns: $(USE_SSTRIP)
	@$(RM) -f $(NAGIOS_CAPPS)
	@for f in $(NAGIOS_CAPPS);do $(HOSTCC) $(CFLAGS) -o "$$f".dyn "$$f".c;done
	for f in $(NAGIOS_CAPPS); \
	do \
	  $(STRIP) $(STRIP_ARGS) "$$f".dyn; \
	  ln "$$f".dyn "$$f" || /bin/true; \
	done

mangz:
	for f in $(MANPAGES); \
	do \
	  gzip -9 -f <$$f >$$f.gz; \
	  touch -r $$f $$f.gz; \
	done

desc:
	@for f in $(MANPAGES);do head -3 $$f|tail -1;done|sed 's,\\,,'

dist: tgz

tgz: distclean savets devclean manhtml
	@echo
	@echo Dir: $(DIRNAME) Version: $(VERSION)
	@perl -p -i -e 's,^Version:.*,Version: $(VERSION),' $(name).spec
	cd ..; \
	  $(RM) -rf $(DIRNAME)-$(VERSION); \
	  $(CP) $(DIRNAME) $(DIRNAME)-$(VERSION); \
	  find $(DIRNAME)-$(VERSION) -name .svn -exec $(RM) -rf {} \; 2>/dev/null; \
	  find $(DIRNAME)-$(VERSION) -type d -exec rmdir -p {} \; 2>/dev/null; \
	  tar cf - $(DIRNAME)-$(VERSION) | gzip -9 -f >$(DIRNAME)-$(VERSION).tar.gz

bintgz: tgz all
	@echo Dir: $(DIRNAME) Version: $(VERSION)
	cd ..; \
	  $(RM) -rf $(DIRNAME)-$(VERSION); \
	  $(CP) $(DIRNAME) $(DIRNAME)-$(VERSION); \
	  find $(DIRNAME)-$(VERSION) -name .svn -exec $(RM) -rf {} \; 2>/dev/null; \
	  find $(DIRNAME)-$(VERSION) -type d -exec rmdir -p {} \; 2>/dev/null; \
	  gzip -9 -f $(DIRNAME)-$(VERSION)/*/*.1; \
	  tar cf - \
	    $(DIRNAME)-$(VERSION)/tools/actionwhenfileold \
	    $(DIRNAME)-$(VERSION)/tools/breakout \
	    $(DIRNAME)-$(VERSION)/tools/chrootuser \
	    $(DIRNAME)-$(VERSION)/tools/daemonize \
	    $(DIRNAME)-$(VERSION)/tools/daemonizep \
	    $(DIRNAME)-$(VERSION)/tools/user-wrapper \
	    $(DIRNAME)-$(VERSION)/tools/check-nfs \
	    $(DIRNAME)-$(VERSION)/tools/chownu \
	    $(DIRNAME)-$(VERSION)/tools/direntries \
	    $(DIRNAME)-$(VERSION)/tools/dirscan \
	    $(DIRNAME)-$(VERSION)/tools/ftsm \
	    $(DIRNAME)-$(VERSION)/tools/ipv4conv \
	    $(DIRNAME)-$(VERSION)/tools/killwebprocs \
	    $(DIRNAME)-$(VERSION)/tools/lkill \
	    $(DIRNAME)-$(VERSION)/tools/lns \
	    $(DIRNAME)-$(VERSION)/tools/lps \
	    $(DIRNAME)-$(VERSION)/tools/lsuphp \
	    $(DIRNAME)-$(VERSION)/tools/msleep100 \
	    $(DIRNAME)-$(VERSION)/tools/msleep250 \
	    $(DIRNAME)-$(VERSION)/tools/msleep500 \
	    $(DIRNAME)-$(VERSION)/tools/msleep750 \
	    $(DIRNAME)-$(VERSION)/tools/postfix-mailqsize \
	    $(DIRNAME)-$(VERSION)/tools/postfix-saslusernames \
	    $(DIRNAME)-$(VERSION)/tools/sfgrep \
	    $(DIRNAME)-$(VERSION)/tools/showip \
	    $(DIRNAME)-$(VERSION)/tools/sstrip \
	    $(DIRNAME)-$(VERSION)/tools/nts2hrf \
	    $(DIRNAME)-$(VERSION)/plugins/cacti_remote_by_http \
	    $(DIRNAME)-$(VERSION)/nagios-checks/postfix-mailqsize \
	    $(DIRNAME)-$(VERSION)/plugins/check_remote_by_http_time \
	    $(DIRNAME)-$(VERSION)/plugins/check_remote_by_http \
	    $(DIRNAME)-$(VERSION)/plugins/check_remote_by_udp \
	    $(DIRNAME)-$(VERSION)/plugins/check_remote_by_udp_multi \
	    $(DIRNAME)-$(VERSION)/plugins/check_http_fwb \
	    $(DIRNAME)-$(VERSION)/nagios-checks/nagios-check-longuserprocesses \
	    $(DIRNAME)-$(VERSION)/nagios-checks/nagios-check-diskfree \
	    $(DIRNAME)-$(VERSION)/nagios-checks/nagios-check-backup \
	    $(DIRNAME)-$(VERSION)/nagios-checks/nagios-check-process \
	    $(DIRNAME)-$(VERSION)/nagios-checks/nagios-check-nfs \
	    $(DIRNAME)-$(VERSION)/knoerre/knoerre \
	    $(DIRNAME)-$(VERSION)/tools/testcgi \
	    $(DIRNAME)-$(VERSION)/tools/usleep \
	    $(DIRNAME)-$(VERSION)/*/*.1.gz \
	    | gzip -9 -f >$(DIRNAME)-$(VERSION)-bin.tar.gz

rpm: tgz
	$(CP) $(NAME).spec $(SPECS_DIR)/
	cd ..;$(CP) $(DIRNAME).tar.gz $(SOURCES_DIR)/
	cd $(SPECS_DIR); rpmbuild -ba $(NAME).spec

manhtml:
	rman -v # PolyglotMan
	for f in */*.[18];do echo $$f;rman -f html $$f|sed '/HREF="[^#]/s,A HREF,/A HREF,' >$$f.html;touch -r $$f $$f.html;done

manhtml-clean:
	$(RM) -f */*.[18].html

savets: distclean
	find . -type f -o -type d|egrep -v "\.svn\/|\.svn$$"|grep -v "\.timestamps"|sort|while read f;do echo $$(date +%s -r "$$f") "$$f";done >.timestamps

restorets:
	while read ts f;do touch -d@$$ts "$$f";done<.timestamps

