###############################################################################
#
# smap Makefile
#
# compile flags
# -DHAVE_RANDOM: system has random() as rand() replacement (i.e. FreeBSD)
# -DRAW_SOCKET: use raw socket when available
# -DHAVE_IFADDRS: ifaddrs.h present (Debian, Centos, *BSD, Mac OS X)
#
# $Id: Makefile,v 1.21 2008-08-20 13:02:57 hscholz Exp $
# Copyright 2006-2007 Hendrik Scholz <hs@123.org>
###############################################################################

LDFLAGS= -L/usr/local/lib -lm -lpthread
CFLAGS= -Wall -g -I/usr/local/include
CFLAGS+= -DHAVE_RANDOM -DRAW_SOCKET
CC?= gcc

# OS detection
OS = $(shell uname -s | tr "[A-Z]" "[a-z]")
ifeq ($(OS),linux)
	OS:= $(shell if [ -f /usr/include/ifaddrs.h ] ; then echo linux-ifaddrs ; else echo linux ; fi)
endif
CFLAGS+= -DSMAP_OS="$(OS)"

OBJS= ack.o error.o fingerprint.o helpers.o icmpping.o listener.o localip.o randomizer.o request.o response.o results.o scan.o sip.o smap.o state.o stats.o stun.o tasks.o test_accept.o test_allow.o test_headers.o test_supported.o test_via.o transport_udp.o transport_tcp.o worker.o

all: smap

smap: $(OBJS)
	$(CC) -o smap $(OBJS) $(LDFLAGS)
clean:
	rm -f $(OBJS) smap smap.core core.*
