# Makefile for src/

SHELL = /bin/sh
top_srcdir = @top_srcdir@

@SET_MAKE@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@

OBJS = botcmd.o botmsg.o botnet.o chanprog.o cmds.o dcc.o \
dccutil.o flags.o language.o main.o mem.o misc.o \
modules.o net.o rfc1459.o tcl.o tcldcc.o tclhash.o \
tclmisc.o tcluser.o userent.o userrec.o users.o md5/md5c.o

MAKE_MD5 = $(MAKE) 'MAKE=$(MAKE)' 'CC=$(CC)' 'LD=$(LD)' \
'STRIP=$(STRIP)' 'CFLAGS=$(CFLAGS)' 'CPPFLAGS=$(CPPFLAGS)'

doofus:
	@echo ""
	@echo "Let's try this from the right directory..."
	@echo ""
	@cd $(top_srcdir); $(MAKE)

../$(EGGEXEC): $(OBJS) $(XREQS)
	@echo ""
	@echo "Linking eggdrop... $(EGGBUILD)"
	@echo ""
	$(LD) -o ../$(EGGEXEC) $(OBJS) $(MODOBJS) $(XLIBS)
	$(STRIP) ../$(EGGEXEC)
	@echo "Successful compile: $(EGGEXEC)"
	@echo ""

$(EGGEXEC): ../$(EGGEXEC)

depend:
	$(CC) $(CFLAGS) $(CPPFLAGS) -MM *.c > .depend

clean:
	@rm -f .depend *.o *.a *~

botcmd.o:
	@echo "(This will take a while. Go make a pizza or something.)"
	$(CC) $(CFLAGS) $(CPPFLAGS) -c botcmd.c

main.o:
	$(CC) $(CFLAGS) $(CPPFLAGS) \
'-DCCFLAGS="$(CC) $(CFLAGS) $(CPPFLAGS)"' \
'-DLDFLAGS="$(LD)"' \
'-DSTRIPFLAGS="$(STRIP)"' -c main.c

md5/md5c.o:
	@cd md5; $(MAKE_MD5) md5
	@echo "---------- Yeah! that's the compiling, now the linking! ----------"

libtcle.a: $(TCLLIB)/lib$(TCLLIBFN)
	@echo "[ Fixing lib$(TCLLIBFN) -> libtcle.a ]"
	cp $(TCLLIB)/lib$(TCLLIBFN) libtcle.a
	chmod u+rw libtcle.a
	ar d libtcle.a tclMain.o
	$(RANLIB) libtcle.a

eggdrop.h:
	@echo "You do not have the eggdrop source!"
	@exit 1

.SUFFIXES:
.SUFFIXES: .c .h .o .a

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

#safety hash
botcmd.o: botcmd.c main.h lang.h eggdrop.h flags.h proto.h ../lush.h \
 cmdt.h tclegg.h tclhash.h chan.h users.h tandem.h modules.h \
 mod/modvals.h
botmsg.o: botmsg.c main.h lang.h eggdrop.h flags.h proto.h ../lush.h \
 cmdt.h tclegg.h tclhash.h chan.h users.h tandem.h
botnet.o: botnet.c main.h lang.h eggdrop.h flags.h proto.h ../lush.h \
 cmdt.h tclegg.h tclhash.h chan.h users.h tandem.h
chanprog.o: chanprog.c main.h lang.h eggdrop.h flags.h proto.h \
 ../lush.h cmdt.h tclegg.h tclhash.h chan.h users.h modules.h \
 mod/modvals.h
cmds.o: cmds.c main.h lang.h eggdrop.h flags.h proto.h ../lush.h \
 cmdt.h tclegg.h tclhash.h chan.h users.h tandem.h modules.h \
 mod/modvals.h
dcc.o: dcc.c main.h lang.h eggdrop.h flags.h proto.h ../lush.h cmdt.h \
 tclegg.h tclhash.h chan.h users.h modules.h mod/modvals.h tandem.h \
 md5/global.h md5/md5.h
dccutil.o: dccutil.c main.h lang.h eggdrop.h flags.h proto.h ../lush.h \
 cmdt.h tclegg.h tclhash.h chan.h users.h modules.h mod/modvals.h \
 tandem.h
flags.o: flags.c main.h lang.h eggdrop.h flags.h proto.h ../lush.h \
 cmdt.h tclegg.h tclhash.h chan.h users.h
language.o: language.c main.h lang.h eggdrop.h flags.h proto.h \
 ../lush.h cmdt.h tclegg.h tclhash.h chan.h users.h
main.o: main.c main.h lang.h eggdrop.h flags.h proto.h ../lush.h \
 cmdt.h tclegg.h tclhash.h chan.h users.h modules.h mod/modvals.h \
 tandem.h patch.h
match.o: match.c
mem.o: mem.c mod/modvals.h
misc.o: misc.c main.h lang.h eggdrop.h flags.h proto.h ../lush.h \
 cmdt.h tclegg.h tclhash.h chan.h users.h
modules.o: modules.c main.h lang.h eggdrop.h flags.h proto.h ../lush.h \
 cmdt.h tclegg.h tclhash.h chan.h users.h modules.h mod/modvals.h \
 tandem.h
net.o: net.c main.h lang.h eggdrop.h flags.h proto.h ../lush.h cmdt.h \
 tclegg.h tclhash.h chan.h users.h
rfc1459.o: rfc1459.c main.h lang.h eggdrop.h flags.h proto.h ../lush.h \
 cmdt.h tclegg.h tclhash.h chan.h users.h
tcl.o: tcl.c main.h lang.h eggdrop.h flags.h proto.h ../lush.h cmdt.h \
 tclegg.h tclhash.h chan.h users.h
tcldcc.o: tcldcc.c main.h lang.h eggdrop.h flags.h proto.h ../lush.h \
 cmdt.h tclegg.h tclhash.h chan.h users.h tandem.h modules.h \
 mod/modvals.h
tclhash.o: tclhash.c main.h lang.h eggdrop.h flags.h proto.h ../lush.h \
 cmdt.h tclegg.h tclhash.h chan.h users.h match.c
tclmisc.o: tclmisc.c main.h lang.h eggdrop.h flags.h proto.h ../lush.h \
 cmdt.h tclegg.h tclhash.h chan.h users.h modules.h mod/modvals.h \
 tandem.h
tcluser.o: tcluser.c main.h lang.h eggdrop.h flags.h proto.h ../lush.h \
 cmdt.h tclegg.h tclhash.h chan.h users.h tandem.h
userent.o: userent.c main.h lang.h eggdrop.h flags.h proto.h ../lush.h \
 cmdt.h tclegg.h tclhash.h chan.h users.h
userrec.o: userrec.c main.h lang.h eggdrop.h flags.h proto.h ../lush.h \
 cmdt.h tclegg.h tclhash.h chan.h users.h modules.h mod/modvals.h \
 tandem.h
users.o: users.c main.h lang.h eggdrop.h flags.h proto.h ../lush.h \
 cmdt.h tclegg.h tclhash.h chan.h users.h modules.h mod/modvals.h \
 tandem.h
