|
|
|
# config
|
|
|
|
-include Make.config
|
|
|
|
include mk/Variables.mk
|
|
|
|
|
|
|
|
TARGET := webfsd
|
|
|
|
OBJS := webfsd.o request.o response.o ls.o mime.o cgi.o
|
|
|
|
|
|
|
|
mimefile := "/etc/mime.types"
|
|
|
|
CFLAGS += -DMIMEFILE=\"$(mimefile)\"
|
|
|
|
CFLAGS += -DWEBFS_VERSION=\"$(VERSION)\"
|
|
|
|
CFLAGS += -D_GNU_SOURCE
|
|
|
|
CFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
|
|
|
|
|
|
|
|
# default target
|
|
|
|
all: build
|
|
|
|
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
|
|
|
|
include mk/Autoconf.mk
|
|
|
|
|
|
|
|
define make-config
|
|
|
|
LIB := $(LIB)
|
|
|
|
SYSTEM := $(call ac_uname)
|
|
|
|
USE_SENDFILE := yes
|
|
|
|
USE_THREADS := no
|
|
|
|
USE_SSL := $(call ac_header,openssl/ssl.h)
|
|
|
|
USE_DIET := $(call ac_binary,diet)
|
|
|
|
endef
|
|
|
|
|
|
|
|
# sendfile yes/no
|
|
|
|
ifneq ($(USE_SENDFILE),yes)
|
|
|
|
CFLAGS += -DNO_SENDFILE
|
|
|
|
endif
|
|
|
|
|
|
|
|
# threads yes/no
|
|
|
|
ifeq ($(USE_THREADS)-$(SYSTEM),yes-linux)
|
|
|
|
CFLAGS += -DUSE_THREADS=1 -D_REENTRANT
|
|
|
|
LDLIBS += -lpthread
|
|
|
|
endif
|
|
|
|
ifeq ($(USE_THREADS)-$(SYSTEM),yes-freebsd)
|
|
|
|
CFLAGS += -DUSE_THREADS=1 -D_REENTRANT -pthread
|
|
|
|
endif
|
|
|
|
ifeq ($(USE_THREADS)-$(SYSTEM),yes-darwin)
|
|
|
|
CFLAGS += -DUSE_THREADS=1 -D_REENTRANT -pthread
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
# OpenSSL yes/no
|
|
|
|
ifeq ($(USE_SSL),yes)
|
|
|
|
CFLAGS += -DUSE_SSL=1
|
|
|
|
OBJS += ssl.o
|
|
|
|
LDLIBS += -lssl -lcrypto
|
|
|
|
endif
|
|
|
|
|
|
|
|
# dietlibc yes/no
|
|
|
|
ifeq ($(USE_DIET),yes)
|
|
|
|
CC := diet $(CC)
|
|
|
|
endif
|
|
|
|
|
|
|
|
# solaris tweaks
|
|
|
|
ifeq ($(SYSTEM),sunos)
|
|
|
|
LDFLAGS += -L/usr/local/ssl/lib
|
|
|
|
LDLIBS += -lresolv -lsocket -lnsl
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
#################################################################
|
|
|
|
# rules
|
|
|
|
|
|
|
|
build: $(TARGET)
|
|
|
|
|
|
|
|
$(TARGET): $(OBJS)
|
|
|
|
|
|
|
|
install: $(TARGET)
|
|
|
|
$(INSTALL_DIR) $(bindir)
|
|
|
|
$(INSTALL_BINARY) $(TARGET) $(bindir)
|
|
|
|
$(INSTALL_DIR) $(mandir)/man1
|
|
|
|
$(INSTALL_DATA) webfsd.man $(mandir)/man1/webfsd.1
|
|
|
|
|
|
|
|
clean:
|
|
|
|
rm -f *~ debian/*~ *.o $(depfiles)
|
|
|
|
|
|
|
|
realclean distclean: clean
|
|
|
|
rm -f $(TARGET) Make.config
|
|
|
|
|
|
|
|
include mk/Compile.mk
|
|
|
|
include mk/Maintainer.mk
|
|
|
|
-include mk/*.dep
|