Wed, 27 Nov 2024 23:00:07 +0100
add TODO to use a future ucx feature
1 | 1 | # |
2 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. | |
3 | # | |
45
a24aa388f02f
added access log
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
44
diff
changeset
|
4 | # Copyright 2013 Olaf Wintermann. All rights reserved. |
1 | 5 | # |
6 | # Redistribution and use in source and binary forms, with or without | |
7 | # modification, are permitted provided that the following conditions are met: | |
8 | # | |
9 | # 1. Redistributions of source code must retain the above copyright | |
10 | # notice, this list of conditions and the following disclaimer. | |
11 | # | |
12 | # 2. Redistributions in binary form must reproduce the above copyright | |
13 | # notice, this list of conditions and the following disclaimer in the | |
14 | # documentation and/or other materials provided with the distribution. | |
15 | # | |
16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | |
17 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
18 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |
19 | # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE | |
20 | # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |
21 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |
22 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | |
23 | # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | |
24 | # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | |
25 | # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | |
26 | # POSSIBILITY OF SUCH DAMAGE. | |
27 | # | |
28 | ||
41
bb7a1f5a8b48
added Linux support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
40
diff
changeset
|
29 | BUILD_ROOT = ../.. |
bb7a1f5a8b48
added Linux support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
40
diff
changeset
|
30 | include $(BUILD_ROOT)/config.mk |
23
a2c8fc23c90e
Added basic authentication
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
16
diff
changeset
|
31 | |
41
bb7a1f5a8b48
added Linux support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
40
diff
changeset
|
32 | OBJ_DIR = $(BUILD_ROOT)/build/ |
1 | 33 | |
91 | 34 | MAIN_TARGET = $(BUILD_ROOT)/build/bin/webservd |
1 | 35 | |
175
9823770ba4ee
using wstool in server control scripts
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
92
diff
changeset
|
36 | LIB_WSCFG = $(BUILD_ROOT)/build/lib/libwscfg$(LIB_EXT) |
9823770ba4ee
using wstool in server control scripts
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
92
diff
changeset
|
37 | |
198
2f845b5bda9d
adds test suite to build system
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
179
diff
changeset
|
38 | TEST_TARGET = $(BUILD_ROOT)/build/bin/wstest |
2f845b5bda9d
adds test suite to build system
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
179
diff
changeset
|
39 | |
2f845b5bda9d
adds test suite to build system
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
179
diff
changeset
|
40 | all: preparation $(MAIN_TARGET) $(LIB_WSCFG) $(PLUGINS) $(TEST_TARGET) |
1 | 41 | |
14
b8bf95b39952
New source folder layout
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
13
diff
changeset
|
42 | include util/objs.mk |
b8bf95b39952
New source folder layout
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
13
diff
changeset
|
43 | include safs/objs.mk |
b8bf95b39952
New source folder layout
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
13
diff
changeset
|
44 | include webdav/objs.mk |
b8bf95b39952
New source folder layout
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
13
diff
changeset
|
45 | include daemon/objs.mk |
16
a9bbd82d2dce
New configuration file parser
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
14
diff
changeset
|
46 | include config/objs.mk |
23
a2c8fc23c90e
Added basic authentication
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
16
diff
changeset
|
47 | include admin/objs.mk |
198
2f845b5bda9d
adds test suite to build system
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
179
diff
changeset
|
48 | include test/objs.mk |
14
b8bf95b39952
New source folder layout
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
13
diff
changeset
|
49 | |
23
a2c8fc23c90e
Added basic authentication
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
16
diff
changeset
|
50 | include util/Makefile |
a2c8fc23c90e
Added basic authentication
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
16
diff
changeset
|
51 | include safs/Makefile |
a2c8fc23c90e
Added basic authentication
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
16
diff
changeset
|
52 | include webdav/Makefile |
a2c8fc23c90e
Added basic authentication
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
16
diff
changeset
|
53 | include daemon/Makefile |
a2c8fc23c90e
Added basic authentication
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
16
diff
changeset
|
54 | include config/Makefile |
a2c8fc23c90e
Added basic authentication
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
16
diff
changeset
|
55 | include admin/Makefile |
198
2f845b5bda9d
adds test suite to build system
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
179
diff
changeset
|
56 | include test/Makefile |
14
b8bf95b39952
New source folder layout
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
13
diff
changeset
|
57 | |
198
2f845b5bda9d
adds test suite to build system
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
179
diff
changeset
|
58 | MAINOBJS = $(UTILOBJS) $(SAFOBJS) $(DAVOBJS) $(DAEMONOBJS) $(CONFOBJS) $(ADMINOBJS) |
23
a2c8fc23c90e
Added basic authentication
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
16
diff
changeset
|
59 | |
198
2f845b5bda9d
adds test suite to build system
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
179
diff
changeset
|
60 | TESTOBJS += $(MAINOBJS) |
2f845b5bda9d
adds test suite to build system
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
179
diff
changeset
|
61 | |
2f845b5bda9d
adds test suite to build system
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
179
diff
changeset
|
62 | OBJ_DIRS = daemon safs ucx util webdav config admin plugins test |
14
b8bf95b39952
New source folder layout
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
13
diff
changeset
|
63 | MK_OBJ_DIRS = $(OBJ_DIRS:%=$(OBJ_DIR)server/%) |
b8bf95b39952
New source folder layout
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
13
diff
changeset
|
64 | |
504 | 65 | WS_CFLAGS = -I../ucx/ |
66 | ||
91 | 67 | LDFLAGS += -lucx |
23
a2c8fc23c90e
Added basic authentication
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
16
diff
changeset
|
68 | |
14
b8bf95b39952
New source folder layout
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
13
diff
changeset
|
69 | preparation: $(MK_OBJ_DIRS) |
b8bf95b39952
New source folder layout
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
13
diff
changeset
|
70 | |
b8bf95b39952
New source folder layout
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
13
diff
changeset
|
71 | $(MK_OBJ_DIRS): |
b8bf95b39952
New source folder layout
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
13
diff
changeset
|
72 | mkdir -p $@ |
1 | 73 | |
453
4586d534f9b5
fix build on macos
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
415
diff
changeset
|
74 | $(MAIN_TARGET): preparation $(MAINOBJS) $(DAEMON_STARTOBJ) $(LIB_WSCFG) |
4586d534f9b5
fix build on macos
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
415
diff
changeset
|
75 | $(CC) -o $(MAIN_TARGET) $(MAINOBJS) $(DAEMON_STARTOBJ) -L$(BUILD_ROOT)/build/lib $(LDFLAGS) $(RPATH_WS_LIB_FLAG) |
1 | 76 | |
175
9823770ba4ee
using wstool in server control scripts
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
92
diff
changeset
|
77 | $(LIB_WSCFG): $(CONFOBJS) |
453
4586d534f9b5
fix build on macos
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
415
diff
changeset
|
78 | $(CC) $(SHLIB_LDFLAGS) -o $@ $(CONFOBJS) -L$(BUILD_ROOT)/build/lib -lucx |
4586d534f9b5
fix build on macos
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
415
diff
changeset
|
79 | |
175
9823770ba4ee
using wstool in server control scripts
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
92
diff
changeset
|
80 | |
287
a171da778817
prepare build system for postgresql plugin tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
254
diff
changeset
|
81 | $(TEST_TARGET): $(TESTOBJS) $(PLUGINS) |
484
c036a8b242a8
implement webdav xattr namespace lists
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
453
diff
changeset
|
82 | $(CC) -o $(TEST_TARGET) $(TESTOBJS) -L$(BUILD_ROOT)/build/lib $(LDFLAGS) $(RPATH_WS_LIB_FLAG) $(TEST_PLUGIN_LDFLAGS) |
1 | 83 | |
23
a2c8fc23c90e
Added basic authentication
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
16
diff
changeset
|
84 | |
168
5c752979bfd6
fixes crash on broken urls
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
92
diff
changeset
|
85 | $(PLUGINS): $(MAIN_TARGET) FORCE |
84
afd57ce39ec9
added initial java plugin code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
62
diff
changeset
|
86 | cd plugins/$@/; $(MAKE) all |
23
a2c8fc23c90e
Added basic authentication
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
16
diff
changeset
|
87 | |
168
5c752979bfd6
fixes crash on broken urls
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
92
diff
changeset
|
88 | FORCE: |
23
a2c8fc23c90e
Added basic authentication
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
16
diff
changeset
|
89 |