Wed, 27 Nov 2024 23:00:07 +0100
add TODO to use a future ucx feature
# # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. # # Copyright 2013 Olaf Wintermann. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # BUILD_ROOT = ../.. include $(BUILD_ROOT)/config.mk OBJ_DIR = $(BUILD_ROOT)/build/ MAIN_TARGET = $(BUILD_ROOT)/build/bin/webservd LIB_WSCFG = $(BUILD_ROOT)/build/lib/libwscfg$(LIB_EXT) TEST_TARGET = $(BUILD_ROOT)/build/bin/wstest all: preparation $(MAIN_TARGET) $(LIB_WSCFG) $(PLUGINS) $(TEST_TARGET) include util/objs.mk include safs/objs.mk include webdav/objs.mk include daemon/objs.mk include config/objs.mk include admin/objs.mk include test/objs.mk include util/Makefile include safs/Makefile include webdav/Makefile include daemon/Makefile include config/Makefile include admin/Makefile include test/Makefile MAINOBJS = $(UTILOBJS) $(SAFOBJS) $(DAVOBJS) $(DAEMONOBJS) $(CONFOBJS) $(ADMINOBJS) TESTOBJS += $(MAINOBJS) OBJ_DIRS = daemon safs ucx util webdav config admin plugins test MK_OBJ_DIRS = $(OBJ_DIRS:%=$(OBJ_DIR)server/%) WS_CFLAGS = -I../ucx/ LDFLAGS += -lucx preparation: $(MK_OBJ_DIRS) $(MK_OBJ_DIRS): mkdir -p $@ $(MAIN_TARGET): preparation $(MAINOBJS) $(DAEMON_STARTOBJ) $(LIB_WSCFG) $(CC) -o $(MAIN_TARGET) $(MAINOBJS) $(DAEMON_STARTOBJ) -L$(BUILD_ROOT)/build/lib $(LDFLAGS) $(RPATH_WS_LIB_FLAG) $(LIB_WSCFG): $(CONFOBJS) $(CC) $(SHLIB_LDFLAGS) -o $@ $(CONFOBJS) -L$(BUILD_ROOT)/build/lib -lucx $(TEST_TARGET): $(TESTOBJS) $(PLUGINS) $(CC) -o $(TEST_TARGET) $(TESTOBJS) -L$(BUILD_ROOT)/build/lib $(LDFLAGS) $(RPATH_WS_LIB_FLAG) $(TEST_PLUGIN_LDFLAGS) $(PLUGINS): $(MAIN_TARGET) FORCE cd plugins/$@/; $(MAKE) all FORCE: