#************************************************************************
#* 
#* Quakenet CServe Bot (C) 1998 James Craig
#* Quakenet CServe Bot (C) 1999,2000 Christian Magnusson
#*
#* 1998.08.02 James Craig
#* 1999.01.02 Christian Magnusson
#*
CC=gcc
LD=gcc

COPTFLAGS=-O2 -fomit-frame-pointer -march=i686

CFLAGS=-Wall $(COPTFLAGS) $(CDEBUGFLAGS)
LDFLAGS=-export-dynamic -Wl,-Bdynamic
# -z defaultextract

# Debug and profiling
CFLAGS+=-g
# -pg

# Linux shouldn't need any extra libraries.
LIBS=-ldl -lcrypt

# Solaris libraries.
#LIBS+=-lsocket -lnsl -ldl -lcrypt


SRCS= newq.c s_handlers.c m_handlers.c u_database.c c_handlers.c log.c ban.c find.c hash.c dmalloc.c match.c common.c gline.c dl.c trust.c sqllog.c
OBJS=$(SRCS:.c=.o)

all:	q3 ; @echo "Don't forget to compile all modules in ./commands." ;
	@echo "cd commands"
	@echo "make"
	@echo "make install"

debug:
	$(MAKE) COPTFLAGS= CDEBUGFLAGS=-g

q3:	$(OBJS)
#	$(CC) $(OBJS) $(LIBS) $(CFLAGS) -o q3
	$(LD) -o q3 $(LDFLAGS) $(LIBS) $(CFLAGS) $(OBJS)

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

clean:
	rm -f q3 *.o *.a *~ *.bak
	cd commands ; make clean

pack:
	rm -rf Q
	rm -f Q3.tar Q3.tar.gz
	mkdir Q Q/database Q/log Q/backup
	rm -f `find -name "*~"`
	cp Makefile *.c *.h Q
	cp database/users.default Q/database/users
	cp database/channels.default Q/database/channels
	cp database/chantype.default Q/database/chantype
	cp database/bad_channels.default Q/database/bad_channels
	touch Q/database/trusted
	touch Q/database/gline
	echo "1" > Q/database/max_users
	echo "1" >> Q/database/max_users
	cp q-instance-env.sh.default Q/q-instance-env.sh
	cp checkq backupq q.tcsh rotate_log.tcsh Q
	rm -f docs/*~
	cp -Rd docs mrtg Q
	cp -Rd commands Q/commands
	tar -cf Q3.tar Q/*
	chmod 600 Q3.tar
	gzip Q3.tar

packall:
	cp /dev/null backup/core.1
	cp /dev/null backup/core.2
	cp /dev/null backup/core.3
	rm -rf Q
	rm -f ../Q3.tar ../Q3.tar.gz
	cd .. ; tar -cf Q3.tar Q --exclude=Q/log --exclude=Q/old
	chmod 600 ../Q3.tar
	gzip ../Q3.tar

packall10:
	cp /dev/null backup/core.1
	cp /dev/null backup/core.2
	cp /dev/null backup/core.3
	rm -rf Q
	rm -f ../Q3.tar ../Q3.tar.gz
	cd .. ; tar -cf Q3.tar Q10 --exclude=Q10/log --exclude=Q10/old
	chmod 600 ../Q3.tar
	gzip ../Q3.tar

dep:
	makedepend $(SRCS)

complete: clean all ; @echo And now the modules ;
	cd commands ; make clean
	cd commands ; make
	cd commands ; make install
	@echo Thats it.

distclean: clean
	cd commands ; make clean
	cd commands/lib ; rm -f *.so*
	@echo Done.

# DO NOT DELETE
