
prefix=/usr/local
bindir=$(prefix)/bin
mandir=$(prefix)/man/man1
mimefile="/etc/mime.types"

WARN=-Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith

CC?=gcc
CFLAGS?=-g -O2	# -DNO_SENDFILE

# for using pthreads
#CFLAGS=-Wall -g -O2	-DUSE_THREADS -D_REENTRANT
#LDLIBS=-lpthread

CFLAGS += -DMIMEFILE=\"$(mimefile)\"
CFLAGS += $(WARN) 

TARGET=webfsd
OBJS=main.o request.o response.o ls.o mime.o cgi.o

all build: $(TARGET)

install: $(TARGET)
	mkdir -p $(bindir) $(mandir)
	install -s -m755 $(TARGET) $(bindir)
	install -m 644 webfsd.man $(mandir)/webfsd.1

$(TARGET): $(OBJS)
	$(CC) $(CFLAGS) -o $@ $(OBJS) $(LDLIBS)

main.o: main.c httpd.h
request.o: request.c httpd.h
response.o: response.c httpd.h
ls.o: ls.c httpd.h
mime.o: mime.c httpd.h
cgi.o: cgi.c httpd.h

clean:
	rm -f *~ debian/*~ $(OBJS)

realclean distclean: clean
	rm -f $(TARGET)

tar: realclean
	dir=$$(basename $$(pwd));               \
	(cd ..; tar cvzf $$dir.tar.gz $$dir; rpm -ta $$dir.tar.gz)

release: realclean
	dpkg-buildpackage -tc -rfakeroot

port: realclean
	dpkg-buildpackage -B -tc -rfakeroot

checkit: realclean
	dpkg-buildpackage -us -uc -rfakeroot
#	rpm -ta ../webfs_*.tar.gz
	lintian ../webfs_*.changes

size:
	wc *.c
