# Makefile by Angelos D. Keromytis (angelos@dsl.cis.upenn.edu) for
# ISAKMP/Oakley, May 1997

CC = gcc
# -O on Linux makes gcc coredump when compiling sha1.c
COPTS = -g #-O
CFLAGS = -I/usr/local/include -DPORT=7500 -DDEBUG #-DBYTE_ORDER=LITTLE_ENDIAN
LIBS = #-L/usr/local/lib -lgmp
LDFLAGS =

BINNAME = pluto
BINNAME2 = whack

RM = /bin/rm
RMFLAGS = -f

OBJS = cookie.o log.o state.o main.o server.o timer.o ipsec_doi.o\
       kernel_comm.o demux.o rnd.o sha1.o md5.o

OBJS2 = whack.o

all: whacker $(OBJS)
	$(CC) -o $(BINNAME) $(LDFLAGS) $(OBJS) $(LIBS)

whacker: $(OBJS2)
	$(CC) -o $(BINNAME2) $(OBJS2)

cleanall: clean

distclean: clean

clean:
	$(RM) $(RMFLAGS) $(OBJS) *.core core *~ a.out ktrace.out
	$(RM) $(RMFLAGS) $(BINNAME) $(OBJS2) $(BINNAME2)

.c.o:
	$(CC) $(COPTS) $(CFLAGS) -c $<

md5.o: md5.c md5.h
sha1.o: sha1.c sha1.h
rnd.o: rnd.c sha1.h
whack.o: whack.c constants.h
demux.o: demux.c constants.h packet.h defs.h state.h
kernel_comm.o: kernel_comm.c constants.h
ipsec_doi.o: ipsec_doi.c constants.h state.h packet.h
cookie.o: cookie.c constants.h defs.h sha1.h
log.o: log.c
state.o: state.c state.h constants.h defs.h
main.o: main.c
server.o: server.c defs.h constants.h state.h
timer.o: timer.c constants.h state.h defs.h
