#
# WebStone Makefile
#

# Change this line to match your flavor of Unix or Unix-like OS
#
# IRIX		IRIX 5.x
# SUNOS		SunOS 4.x
# SOLARIS	Solaris 2.x, aka SunOS 5.x
# AIX		IBM AIX
# 
OS		= BSDOS

#DYNAMICDEFS	= -DMCC_HTTPD -DXP_UNIX

INCLUDEDIRS	= #-I/usr/ns-home/nsapi/include

LD_SHAREDCMD	= ld #-shared

CC		= gcc

BINDIR		= ../bin

EXECUTABLE1	= webmaster
MAIN1		= webmaster.c  
EXECUTABLE2	= webclient
MAIN2		= webclient.c  

MASTERSRCS	= timefunc.c bench.c parse_file_list.c statistics.c \
		  errexit.c sysdep.c

STONESRCS	= timefunc.c get.c load_percent.c random_number.c \
		  parse_file_list.c bench.c statistics.c errexit.c \
		  sysdep.c

LIBS		= -lm 

#For Solaris 2.x, remove the comment from the following line
#LIBS		= -lm -lnsl -lsocket -lucb
#LIBPATH		= -L/usr/ucblib

#OPTIMIZATION	= -O -D__EXTENSIONS__
OPTIMIZATION	= -g -DNAP
CFLAGS          = $(OPTIMIZATION) -D$(OS) $(DYNAMICDEFS) $(INCLUDEDIRS)

MASTEROBJS = webmaster.o $(MASTERSRCS:.c=.o) 
STONEOBJS = webclient.o $(STONESRCS:.c=.o) 
GENRANDOBJS = genrand.o

TARGETS = webmaster webclient genrand

.c.o:
	@echo "COMPILING FILE " $<
	$(CC) $(CFLAGS) -c $< -o $@

all:	$(TARGETS)

install: all
	cp $(TARGETS) $(BINDIR)

clean:	
	rm -f $(MASTEROBJS) $(STONEOBJS) $(GENRANDOBJS)

clobber: clean
	rm -f $(TARGETS)

webmaster.o: webmaster.c bench.h timefunc.h debug.h

webclient.o: webclient.c bench.h timefunc.h debug.h

timefunc.o: timefunc.c timefunc.h

bench.o: bench.c bench.h

errexit.o: debug.h

statistics.o: statistics.c statistics.h

cgi: cgi-send.o
	$(CC) $(CFLAGS) cgi-send.o -o cgi-send.cgi

fcgi: fcgi-send.o
	$(CC) $(CFLAGS) fcgi-send.o -o fcgi-send.fcgi -lfcgi

nsapi: nsapi-send.o
	$(LD_SHAREDCMD) nsapi-send.o -o nsapi-send.so

webmaster: $(MASTEROBJS)
	$(CC) $(CFLAGS) $(MASTEROBJS) $(LIBPATH) $(LIBS) -o $(EXECUTABLE1)

webclient: $(STONEOBJS)
	$(CC) $(CFLAGS) $(STONEOBJS) $(LIBPATH) $(LIBS) -o $(EXECUTABLE2)

genrand: $(GENRANDOBJS)
	$(CC) $(CFLAGS) $(GENRANDOBJS) $(LIBPATH) $(LIBS) -o genrand

#
