make/Makefile.mk

Tue, 02 Jun 2026 19:30:34 +0200

author
Mike Becker <universe@uap-core.de>
date
Tue, 02 Jun 2026 19:30:34 +0200
changeset 1158
96c202d45fbb
parent 942
488178e3e328
child 1159
9811e27e0889
permissions
-rw-r--r--

add build dependencies and a script for generating them

0
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
1 #
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
2 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
3 #
172
706080c30af6 remove ucx (breaks build)
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 156
diff changeset
4 # Copyright 2023 Olaf Wintermann. All rights reserved.
0
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
5 #
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
6 # Redistribution and use in source and binary forms, with or without
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
7 # modification, are permitted provided that the following conditions are met:
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
8 #
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
9 # 1. Redistributions of source code must retain the above copyright notice,
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
10 # this list of conditions and the following disclaimer.
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
11 #
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
12 # 2. Redistributions in binary form must reproduce the above copyright
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
13 # notice, this list of conditions and the following disclaimer in the
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
14 # documentation and/or other materials provided with the distribution.
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
15 #
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
16 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
17 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
18 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
19 # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
20 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
21 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
22 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
23 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
24 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
25 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
26 # POSSIBILITY OF SUCH DAMAGE.
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
27 #
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
28
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
29 # this makefile is invoked from the build root directory
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
30
156
62f1a55535e7 new build system
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 54
diff changeset
31 BUILD_ROOT = ./
0
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
32 include config.mk
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
33
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
34 BUILD_DIRS = build/bin build/lib
942
488178e3e328 add initial client code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 174
diff changeset
35 BUILD_DIRS += build/application build/client build/ucx
0
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
36 BUILD_DIRS += build/ui/common build/ui/$(TOOLKIT)
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
37
942
488178e3e328 add initial client code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 174
diff changeset
38 all: $(BUILD_DIRS) ucx ui application client
0
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
39 make/$(PACKAGE_SCRIPT)
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
40
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
41 $(BUILD_DIRS):
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
42 mkdir -p $@
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
43
174
0358f1d9c506 upgrade ucx
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 172
diff changeset
44 ui: ucx FORCE
54
97bafeca1c7c added Qt window and menu implementation
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
45 cd ui; $(MAKE) all
0
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
46
174
0358f1d9c506 upgrade ucx
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 172
diff changeset
47 ucx: FORCE
0358f1d9c506 upgrade ucx
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 172
diff changeset
48 cd ucx; $(MAKE) all
0358f1d9c506 upgrade ucx
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 172
diff changeset
49
0
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
50 application: ui FORCE
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
51 cd application; $(MAKE)
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
52
942
488178e3e328 add initial client code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 174
diff changeset
53 client: ui FORCE
488178e3e328 add initial client code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 174
diff changeset
54 cd client; $(MAKE)
488178e3e328 add initial client code
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 174
diff changeset
55
1158
96c202d45fbb add build dependencies and a script for generating them
Mike Becker <universe@uap-core.de>
parents: 942
diff changeset
56 update-rules-generic: FORCE
96c202d45fbb add build dependencies and a script for generating them
Mike Becker <universe@uap-core.de>
parents: 942
diff changeset
57 make/update-rules.sh ucx '$$(SHLIB_CFLAGS)'
96c202d45fbb add build dependencies and a script for generating them
Mike Becker <universe@uap-core.de>
parents: 942
diff changeset
58 make/update-rules.sh application '$$(TK_CFLAGS)'
96c202d45fbb add build dependencies and a script for generating them
Mike Becker <universe@uap-core.de>
parents: 942
diff changeset
59 make/update-rules.sh client '$$(TK_CFLAGS) $$(CLIENT_CFLAGS)'
96c202d45fbb add build dependencies and a script for generating them
Mike Becker <universe@uap-core.de>
parents: 942
diff changeset
60 make/update-rules.sh ui '-I../ucx $$(SHLIB_CFLAGS) $$(TK_CFLAGS)' \
96c202d45fbb add build dependencies and a script for generating them
Mike Becker <universe@uap-core.de>
parents: 942
diff changeset
61 server/ "\$$(SERVER_OBJPRE)" .o
96c202d45fbb add build dependencies and a script for generating them
Mike Becker <universe@uap-core.de>
parents: 942
diff changeset
62
96c202d45fbb add build dependencies and a script for generating them
Mike Becker <universe@uap-core.de>
parents: 942
diff changeset
63 update-rules-toolkit: FORCE
96c202d45fbb add build dependencies and a script for generating them
Mike Becker <universe@uap-core.de>
parents: 942
diff changeset
64 case "$(TOOLKIT)" in \
96c202d45fbb add build dependencies and a script for generating them
Mike Becker <universe@uap-core.de>
parents: 942
diff changeset
65 qt*|winui) echo "Not necessary for $(TOOLKIT)." ;; \
96c202d45fbb add build dependencies and a script for generating them
Mike Becker <universe@uap-core.de>
parents: 942
diff changeset
66 cocoa) echo "Not yet supported for $(TOOLKIT)." ;; \
96c202d45fbb add build dependencies and a script for generating them
Mike Becker <universe@uap-core.de>
parents: 942
diff changeset
67 gtk*|libadwaita) CFLAGS="$(CFLAGS) $(TK_CFLAGS)" make/update-rules.sh ui \
96c202d45fbb add build dependencies and a script for generating them
Mike Becker <universe@uap-core.de>
parents: 942
diff changeset
68 '-I../ucx $$(SHLIB_CFLAGS) $$(TK_CFLAGS)' \
96c202d45fbb add build dependencies and a script for generating them
Mike Becker <universe@uap-core.de>
parents: 942
diff changeset
69 gtk/ "\$$(GTK_OBJPRE)" .o ;; \
96c202d45fbb add build dependencies and a script for generating them
Mike Becker <universe@uap-core.de>
parents: 942
diff changeset
70 motif) CFLAGS="$(CFLAGS) $(TK_CFLAGS)" make/update-rules.sh ui \
96c202d45fbb add build dependencies and a script for generating them
Mike Becker <universe@uap-core.de>
parents: 942
diff changeset
71 '-I../ucx $$(SHLIB_CFLAGS) $$(TK_CFLAGS)' \
96c202d45fbb add build dependencies and a script for generating them
Mike Becker <universe@uap-core.de>
parents: 942
diff changeset
72 motif/ "\$$(MOTIF_OBJPRE)" .o ;; \
96c202d45fbb add build dependencies and a script for generating them
Mike Becker <universe@uap-core.de>
parents: 942
diff changeset
73 esac
96c202d45fbb add build dependencies and a script for generating them
Mike Becker <universe@uap-core.de>
parents: 942
diff changeset
74
0
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
75 FORCE:
1f419bd32da1 added files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
76

mercurial