#
# WormHunter V1.0.0 Make File
# Matthew W. Coan (12/22/2002 9:01 PM EST)
#
CC=cc
CFLAGS=
CXX=c++
CXXFLAGS=
CXXLIBS=-L/usr/lib -L/lib -lcurses -lc
OBJS=exploit_host.o properties_file.o worm_hunter.o
RM=rm -f
MAKE=make

all:
	${MAKE} clean
	${MAKE} worm_hunter 

clean:
	${RM} worm_hunter 
	${RM} ces
	${RM} *.o
	${RM} *.core

worm_hunter: exploit_host.o properties_file.o worm_hunter.o
	${CXX} ${CXXFLAGS} ${OBJS} -o worm_hunter ${CXXLIBS}

worm_hunter.o:
	${CXX} ${CXXFLAGS} worm_hunter.cc -c

exploit_host.o:
	${CXX} ${CXXFLAGS} exploit_host.cc -c

properties_file.o:
	${CXX} ${CXXFLAGS} properties_file.cc -c

worm_host: exploit_host.o
	${CXX} ${CXXFLAGS} exploit_host.o worm_host.cc -o worm_host

ces:
	${RM} ces
	${CXX} ${CXXFLAGS} create_exploit_string.cc -o ces

worm_utils: ces
	./ces ../share/worm_examples/CodeRed/CR.txt ./CodeRed.c CodeRed > CodeRed.h
	./ces ../share/worm_examples/CodeRedII/CR/cr ./CodeRedII.c CodeRedII > CodeRedII.h
	${MAKE} code_red_host
	${MAKE} code_red_II_host
	${MAKE} worm_host

code_red_host: CodeRed.o exploit_host.o code_red_host.o
	${CXX} ${CXXFLAGS} CodeRed.o exploit_host.o code_red_host.o -o code_red_host

code_red_II_host: CodeRedII.o exploit_host.o code_red_II_host.o
	${CXX} ${CXXFLAGS} CodeRedII.o exploit_host.o code_red_II_host.o -o code_red_II_host

code_red_II_host.o:
	${CXX} ${CXXFLAGS} code_red_II_host.cc -c

CodeRedII.o:
	${CC} ${CFLAGS} CodeRedII.c -c

code_red_host.o:
	${CXX} ${CXXFLAGS} code_red_host.cc -c

CodeRed.o:
	${CC} ${CFLAGS} CodeRed.c -c
