OBJS =	channels.o chanserv.o main.o misc.o nickserv.o operserv.o process.o \
	send.o sockutil.o users.o

CC = cc
CFLAGS = -O6


# Flags that can be defined:
#	-DNEED_STRICMP	if your compiler doesn't have stricmp()/strnicmp()
#	-DNEED_STRDUP	if your compiler doesn't have strdup()
#	-DNEED_STRERROR	if your compiler doesn't have strerror()
#	-DHAS_STRSIGNAL	if your compiler has strsignal()

# Linux:
DEFS = -DNEED_STRICMP -DHAS_STRSIGNAL


all: services listnicks listchans

services: $(OBJS)
	$(CC) $(OBJS) -o $@
	strip $@

listnicks: services
	rm -f $@
	ln services $@

listchans: services
	rm -f $@
	ln services $@

clean:
	rm -f *.o

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

channels.o: channels.c services.h
chanserv.o: chanserv.c cs-help.c services.h
main.o: main.c services.h
misc.o: misc.c services.h
nickserv.o: nickserv.c ns-help.c services.h
operserv.o: operserv.c os-help.c services.h
process.o: process.c services.h
send.o: send.c services.h
sockutil.o: sockutil.c services.h
users.o: users.c services.h

services.h: config.h extern.h
	touch $@
