
# This is the make file for JanBot written by Jan F. Leversund,
# email: jan.f.leversund@usa.net

# It should be enough just to run 'make', and the configuration will
# be automatically determined. However there might be some unknown
# factors that have not been taken into consideration.


SYSTEM		:=	$(shell uname -s)

PROGRAM		=	janbot

SOURCES		=	chat.c\
			child.c\
			commands.c\
			config.c\
			dcc.c\
			globals.c\
			janbot.c\
			match.c\
			parser.c\
			server.c\
			stuff.c\
			userlist.c

HEADERS		=	config.h\
			janbot.h

OBJS		=	$(SOURCES:.c=.o)

INCLUDE		=	-I.

CFLAGS		=	-g -Wall #-DDEBUG

CC		=	gcc

# List of required libraries on different systems.
LINUX_LIBS	=
BSDI_LIBS	=
SUNOS_LIBS	=	-lsocket -lnls -lnsl
FBSD_LIBS	=	-lcrypt
NBSD_LIBS	=	-lcrypt
HPUX_LIBS	=
AIX_LIBS	=

all: syscheck $(PROGRAM)

$(PROGRAM): $(OBJS) $(HEADERS)
	$(LINK.c) $(OBJS)

syscheck:
	@echo Building JanBot for $(SYSTEM)...
ifeq ($(SYSTEM),Linux)
LIBS := $(LINUX_LIBS)
endif
ifeq ($(SYSTEM),BSD/OS)
LIBS := $(BSDI_LIBS)
endif
ifeq ($(SYSTEM),SunOS)
LIBS := $(SUNOS_LIBS)
endif
ifeq ($(SYSTEM),FreeBSD)
LIBS := $(FBSD_LIBS)
endif
ifeq ($(SYSTEM),NetBSD)
LIBS := $(NBSD_LIBS)
endif
ifeq ($(SYSTEM),HP-UX)
LIBS := $(HPUX_LIBS)
endif
ifeq ($(SYSTEM),AIX)
LIBS := $(AIX_LIBS)
endif

COMP.c  = $(CC) $(CFLAGS) $(INCLUDE) -c
LINK.c  = $(CC) $(CFLAGS) $(LDFLAGS) $(LIBS) -o $@

.c.o: $(HEADERS)
	$(COMP.c) $*.c

clean:
	@echo "Removing: $(OBJS)"
	@echo "Removing: $(PROGRAM)"
	@echo "Removing: core"
	@rm -f $(OBJS) $(PROGRAM) core

debug:
	@$(MAKE) CFLAGS="$(CFLAGS) -DDEBUG"
