3 UNAME
:= $(shell uname
-s
)
6 # for finding static libraries
7 LIBDIR
=/usr
/lib
/x86_64-linux-gnu
9 # RHEL5 libresolv doesnt export certain essential symbols, but they are present
10 ifneq ($(findstring 5.
,$(shell [ -f
/etc
/redhat-release
] && cat
/etc
/redhat-release | awk
'{ print $3 }')),)
11 LDFLAGS
+=/usr
/lib64
/libresolv.a
15 CFLAGS
+=-DRELEASE
='"$(shell git describe | cut -f2- -d_ | sed s/`git tag -l | grep -v /| tail -n1`//)"'
18 # for using a newer libpcap
28 CFLAGS
+=-DUSE_JEMALLOC
31 # if you want to use perftools
35 LDFLAGS
+=-lpcap
-lpcre
-lresolv
36 CFLAGS
+=-DCONFDIR
='"${CONFDIR}/"'
41 CFLAGS
+=-DUSE_JEMALLOC
42 LDFLAGS
+=${LIBDIR}/libjemalloc.a
46 LDFLAGS
+=/usr
/lib
/libtcmalloc_minimal.a
49 CFLAGS
+=-DCONFDIR
='"prads.d/"' -static
51 LDFLAGS
+=${LIBDIR}/libpcre.a
${PCAPDIR}/libpcap.a
${LIBDIR}/libresolv.a
56 CFLAGS
= -g
-DDEBUG
-Wall
-DCONFDIR
='"${CONFDIR}/"'
59 CFLAGS
=-g
-pg
-DCONFDIR
='"${CONFDIR}/"'
64 ifneq (${EXTRADEBUG},)
65 CFLAGS
+= -DDUMP_HASH
-DDEBUG_HASH
-DDEBUG
=2 -DDEBUG
=2
67 ifneq (${DEBUG_PACKET},)
68 CFLAGS
+= -DDEBUG_PACKET
70 ifeq ($(UNAME
), FreeBSD
)
71 LDFLAGS
= -L
/usr
/local
/lib
-lpcre
-lpcap
72 CPPFLAGS
= -I
/usr
/local
/include
77 CFLAGS
+=-I
/opt
/local
/include/ -DOSX
78 CONFDIR
=/opt
/etc
/prads
84 SERVICE_OBJ
= servicefp
/servicefp.o servicefp
/tcpc.o servicefp
/tcps.o servicefp
/udps.o
86 IPFP_OBJ
= ipfp
/ipfp.o ipfp
/udp_fp.o ipfp
/icmp_fp.o
87 LOG_OBJ
= output-plugins
/log_dispatch.o output-plugins
/log_stdout.o output-plugins
/log_file.o output-plugins
/log_fifo.o output-plugins
/log_ringbuffer.o output-plugins
/log_sguil.o
89 MODULES
= dhcp.o dump_dns.o mac.o
${SERVICE_OBJ} ${IPFP_OBJ} ${CXT_OBJ} ${LOG_OBJ}
90 OBJECTS
= bstrlib.o sig_tcp.o config.o sys_func.o assets.o prads.o
${MODULES}
91 SHM_CLIENT_OBJECTS
= shm-client.o
99 $(CC
) $(CFLAGS
) -o
$@
$(OBJECTS
) $(LDFLAGS
)
101 shm-client
: $(SHM_CLIENT_OBJECTS
)
102 $(CC
) $(CFLAGS
) -o
$@
$(SHM_CLIENT_OBJECTS
) $(LDFLAGS
)
105 $(MAKE
) STATIC
=y prads
118 find
-type f
-name
'*.[ch]' | xargs indent
-kr
-i4
-cdb
-sc
-sob
-ss
-ncs
-ts8
-nut
120 # oldschool header file dependency checking.
123 for i in
$(subst .o
,.c
,$(OBJECTS
)); do gcc
-MM
$$i >> deps.d
; done
125 ifneq ($(wildcard deps.d
),)