.SUFFIXES: .a .o .c
CC		=  gcc
CFLAGS		=  -Wall -funsigned-char -c -fPIC -ggdb

BINS = ss_spike pmspike statd_spike x11_spike post_spike msrpcfuzz do_post webmitm citrix ntlm_brute webfuzz

ALL = $(BINS)

INCLUDE = -I/usr/local/include -I../include  -Ilibntlm-0.21/

LIBSOCKET = 

SPIKE_OBS = spike.o listener.o hdebug.o tcpstuff.o spike_dcerpc.o base64.o

SS_OBS = $(SPIKE_OBS) ss_spike.o

PM_OBS = $(SPIKE_OBS) pmspike.o

SD_OBS = $(SPIKE_OBS) statd_spike.o

X11_OBS= $(SPIKE_OBS) x11_spike.o

PS_OBS= $(SPIKE_OBS) post_spike.o


SPIKE_HEADERS = ../include/spike.h 

HC_LIBS = $(LIBSOCKET) 


.c.o:
	${CC} ${CFLAGS} ${INCLUDE} $<

all: $(ALL)

ss_spike: $(SS_OBS)
	$(CC) -o ss_spike $(SS_OBS)

pmspike: $(PM_OBS)
	$(CC) -o pmspike $(PM_OBS)

statd_spike: $(SD_OBS)
	$(CC) -o statd_spike $(SD_OBS)

x11_spike: $(X11_OBS)
	$(CC) -o x11_spike $(X11_OBS)

post_spike: $(PS_OBS)
	$(CC) -o post_spike $(PS_OBS)

webfuzz: $(SPIKE_OBS) webfuzz.o
	$(CC) -o webfuzz $(SPIKE_OBS) webfuzz.o

msrpcfuzz: $(SPIKE_OBS) msrpcfuzz.o
	$(CC) -ggdb -o msrpcfuzz $(SPIKE_OBS) msrpcfuzz.o

do_post: $(SPIKE_OBS) do_post.o
	$(CC) -ggdb -o do_post $(SPIKE_OBS) do_post.o

ntlm_brute: $(SPIKE_OBS) ntlm_brute.o libntlm-0.21/libntlm.a
	$(CC) -ggdb -o ntlm_brute  $(SPIKE_OBS) ntlm_brute.o libntlm-0.21/libntlm.a

libntlm-0.21/libntlm.a: 
	cd libntlm-0.21 && make

webmitm: webmitm.o buf.o
	$(CC) -ggdb -o webmitm webmitm.o buf.o -lssl
 
citrix: citrix.o $(SPIKE_OBS)
	$(CC) -ggdb -o citrix citrix.o $(SPIKE_OBS)

clean:
	rm -f *~ *.bak
	rm -f include/*~ include/*.bak
	rm -f *.o $(BINS)
	cd libntlm-0.21 && make clean





