Tue, 02 Jun 2026 19:30:34 +0200
add build dependencies and a script for generating them
| Makefile | file | annotate | diff | comparison | revisions | |
| application/Makefile | file | annotate | diff | comparison | revisions | |
| client/Makefile | file | annotate | diff | comparison | revisions | |
| make/Makefile.mk | file | annotate | diff | comparison | revisions | |
| make/update-rules.sh | file | annotate | diff | comparison | revisions | |
| ucx/Makefile | file | annotate | diff | comparison | revisions | |
| ui/common/Makefile | file | annotate | diff | comparison | revisions | |
| ui/gtk/Makefile | file | annotate | diff | comparison | revisions | |
| ui/motif/Makefile | file | annotate | diff | comparison | revisions | |
| ui/server/Makefile | file | annotate | diff | comparison | revisions |
--- a/Makefile Mon Jun 01 20:29:26 2026 +0200 +++ b/Makefile Tue Jun 02 19:30:34 2026 +0200 @@ -35,4 +35,14 @@ clean: FORCE rm -fR build/* +update-rules: config.mk FORCE + $(MAKE) -f make/Makefile.mk update-rules-generic + $(MAKE) -f make/Makefile.mk update-rules-toolkit + +update-all-rules: config.mk FORCE + $(MAKE) -f make/Makefile.mk update-rules-generic + for tk in libadwaita motif; do ./configure --toolkit=$$tk \ + && $(MAKE) -f make/Makefile.mk update-rules-toolkit ; done + echo '!! Attention !! You should now reconfigure your project!' + FORCE:
--- a/application/Makefile Mon Jun 01 20:29:26 2026 +0200 +++ b/application/Makefile Tue Jun 02 19:30:34 2026 +0200 @@ -47,6 +47,12 @@ $(DEMO_BINDINGS): $(DEMO_BINDINGS_OBJ) $(RES_FILE) $(BUILD_ROOT)/build/$(BUILD_LIB_DIR)/$(LIB_PREFIX)uitk$(LIB_EXT) $(LD) -o $(DEMO_BINDINGS) $(DEMO_BINDINGS_OBJ) $(RES_FILE) $(BUILD_ROOT)/build/$(BUILD_LIB_DIR)/$(LIB_PREFIX)uitk$(LIB_EXT) $(BUILD_ROOT)/build/$(BUILD_LIB_DIR)/$(LIB_PREFIX)ucx$(LIB_EXT) $(LDFLAGS) $(TK_LDFLAGS) -../build/application/%$(OBJ_EXT): %.c - $(CC) $(CFLAGS) $(TK_CFLAGS) -o $@ -c $< +FORCE: +../build/application/demo_bindings$(OBJ_EXT): demo_bindings.c \ + demo_bindings.h + $(CC) -o $@ $(CFLAGS) $(TK_CFLAGS) -c $< + +../build/application/main$(OBJ_EXT): main.c + $(CC) -o $@ $(CFLAGS) $(TK_CFLAGS) -c $< +
--- a/client/Makefile Mon Jun 01 20:29:26 2026 +0200 +++ b/client/Makefile Tue Jun 02 19:30:34 2026 +0200 @@ -51,6 +51,28 @@ $(APP_BIN): $(APP_BIN_OBJ) $(RES_FILE) $(BUILD_ROOT)/build/$(BUILD_LIB_DIR)/$(LIB_PREFIX)uitk$(LIB_EXT) $(LD) -o $(APP_BIN) $(APP_BIN_OBJ) $(RES_FILE) $(BUILD_ROOT)/build/$(BUILD_LIB_DIR)/$(LIB_PREFIX)uitk$(LIB_EXT) $(BUILD_ROOT)/build/$(BUILD_LIB_DIR)/$(LIB_PREFIX)ucx$(LIB_EXT) $(LDFLAGS) $(TK_LDFLAGS) $(CLIENT_LDFLAGS) -../build/client/%$(OBJ_EXT): %.c - $(CC) $(CFLAGS) $(TK_CFLAGS) $(CLIENT_CFLAGS) -o $@ -c $< +FORCE: + +../build/client/args$(OBJ_EXT): args.c args.h ../ui/common/args.h \ + ../ui/common/../ui/window.h ../ui/common/../ui/toolkit.h \ + ../ui/common/../ui/container.h ../ui/common/../ui/display.h \ + ../ui/common/../ui/button.h ../ui/common/../ui/entry.h \ + ../ui/common/../ui/menu.h ../ui/common/../ui/toolbar.h \ + ../ui/common/../ui/list.h ../ui/common/../ui/text.h \ + ../ui/common/../ui/webview.h ../ui/common/../ui/widget.h + $(CC) -o $@ $(CFLAGS) $(TK_CFLAGS) $(CLIENT_CFLAGS) -c $< +../build/client/main$(OBJ_EXT): main.c main.h ../ui/common/message.h \ + uiclient.h + $(CC) -o $@ $(CFLAGS) $(TK_CFLAGS) $(CLIENT_CFLAGS) -c $< + +../build/client/uiclient$(OBJ_EXT): uiclient.c uiclient.h \ + ../ui/common/message.h args.h ../ui/common/args.h \ + ../ui/common/../ui/window.h ../ui/common/../ui/toolkit.h \ + ../ui/common/../ui/container.h ../ui/common/../ui/display.h \ + ../ui/common/../ui/button.h ../ui/common/../ui/entry.h \ + ../ui/common/../ui/menu.h ../ui/common/../ui/toolbar.h \ + ../ui/common/../ui/list.h ../ui/common/../ui/text.h \ + ../ui/common/../ui/webview.h ../ui/common/../ui/widget.h + $(CC) -o $@ $(CFLAGS) $(TK_CFLAGS) $(CLIENT_CFLAGS) -c $< +
--- a/make/Makefile.mk Mon Jun 01 20:29:26 2026 +0200 +++ b/make/Makefile.mk Tue Jun 02 19:30:34 2026 +0200 @@ -53,5 +53,24 @@ client: ui FORCE cd client; $(MAKE) +update-rules-generic: FORCE + make/update-rules.sh ucx '$$(SHLIB_CFLAGS)' + make/update-rules.sh application '$$(TK_CFLAGS)' + make/update-rules.sh client '$$(TK_CFLAGS) $$(CLIENT_CFLAGS)' + make/update-rules.sh ui '-I../ucx $$(SHLIB_CFLAGS) $$(TK_CFLAGS)' \ + server/ "\$$(SERVER_OBJPRE)" .o + +update-rules-toolkit: FORCE + case "$(TOOLKIT)" in \ + qt*|winui) echo "Not necessary for $(TOOLKIT)." ;; \ + cocoa) echo "Not yet supported for $(TOOLKIT)." ;; \ + gtk*|libadwaita) CFLAGS="$(CFLAGS) $(TK_CFLAGS)" make/update-rules.sh ui \ + '-I../ucx $$(SHLIB_CFLAGS) $$(TK_CFLAGS)' \ + gtk/ "\$$(GTK_OBJPRE)" .o ;; \ + motif) CFLAGS="$(CFLAGS) $(TK_CFLAGS)" make/update-rules.sh ui \ + '-I../ucx $$(SHLIB_CFLAGS) $$(TK_CFLAGS)' \ + motif/ "\$$(MOTIF_OBJPRE)" .o ;; \ + esac + FORCE:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/update-rules.sh Tue Jun 02 19:30:34 2026 +0200 @@ -0,0 +1,74 @@ +#!/bin/sh + +# the directory where the executed Makefile is +dir="$1" + +# extra flags to add to the compile recipe (if you want to use extra +# flags for the dependency resolution, set CFLAGS environment variable) +extra_flags="$2" + +# additional source prefix in case the recipes are for a included Makefile +src_prefix="$3" + +# the target directory for the object files (default: ../build/$dir/) +target="$4" + +# the object file extension to use (default: $(OBJ_EXT) from the config.mk) +obj_ext="$5" + + +if [ -z "$dir" ]; then + echo "Usage: $0 <src_dir>" + exit 1 +fi + +if [ -z "$target" ]; then + target="../build/$dir/" +fi + +if [ -z "$obj_ext" ]; then + obj_ext='$(OBJ_EXT)' +fi + +if [ -d "$dir" ]; then + : +else + echo "'$dir' is not a directory" + exit 1 +fi + +if [ -z "$CC" ]; then + for cc in gcc clang ; do + if command -v "$cc" > /dev/null ; then + CC="$cc" + break + fi + done +fi + +if [ -z "$CC" ]; then + echo "No suitable compiler found to generate make rules" + exit 1 +fi + +if command -v sed > /dev/null ; then + : +else + echo "You need the 'sed' program for this script to work." + exit 1 +fi + +# cleanup include paths to only depend on non-system headers +cflags=`echo $CFLAGS | sed 's/-I\//-isystem \//g'` + +# switch into the directory of the executed Makefile and generate the recipes +cd "$dir" + +mv ${src_prefix}Makefile ${src_prefix}Makefile.old +sed '/FORCE:/q' ${src_prefix}Makefile.old > ${src_prefix}Makefile +echo >> ${src_prefix}Makefile +for file in `ls ${src_prefix}*.c` ; do + "$CC" -MT "$target$(basename $file .c)$obj_ext" -MM $cflags "$file" + printf '\t$(CC) -o $@ $(CFLAGS) %s -c $<\n\n' "$extra_flags" +done >> ${src_prefix}Makefile +rm ${src_prefix}Makefile.old
--- a/ucx/Makefile Mon Jun 01 20:29:26 2026 +0200 +++ b/ucx/Makefile Tue Jun 02 19:30:34 2026 +0200 @@ -64,6 +64,84 @@ ../build/ucx: mkdir -p ../build/ucx -../build/ucx/%$(OBJ_EXT): %.c - $(CC) $(CFLAGS) $(SHLIB_CFLAGS) -o $@ -c $< +FORCE: + +../build/ucx/allocator$(OBJ_EXT): allocator.c cx/allocator.h cx/common.h + $(CC) -o $@ $(CFLAGS) $(SHLIB_CFLAGS) -c $< + +../build/ucx/array_list$(OBJ_EXT): array_list.c cx/array_list.h cx/list.h \ + cx/common.h cx/collection.h cx/allocator.h cx/iterator.h cx/compare.h \ + cx/compare.h + $(CC) -o $@ $(CFLAGS) $(SHLIB_CFLAGS) -c $< + +../build/ucx/buffer$(OBJ_EXT): buffer.c cx/buffer.h cx/common.h \ + cx/allocator.h cx/string.h + $(CC) -o $@ $(CFLAGS) $(SHLIB_CFLAGS) -c $< + +../build/ucx/compare$(OBJ_EXT): compare.c cx/compare.h cx/common.h + $(CC) -o $@ $(CFLAGS) $(SHLIB_CFLAGS) -c $< + +../build/ucx/hash_key$(OBJ_EXT): hash_key.c cx/hash_key.h cx/common.h \ + cx/string.h cx/allocator.h cx/compare.h + $(CC) -o $@ $(CFLAGS) $(SHLIB_CFLAGS) -c $< + +../build/ucx/hash_map$(OBJ_EXT): hash_map.c cx/hash_map.h cx/map.h \ + cx/common.h cx/collection.h cx/allocator.h cx/iterator.h cx/compare.h \ + cx/string.h cx/hash_key.h + $(CC) -o $@ $(CFLAGS) $(SHLIB_CFLAGS) -c $< + +../build/ucx/iterator$(OBJ_EXT): iterator.c cx/iterator.h cx/common.h + $(CC) -o $@ $(CFLAGS) $(SHLIB_CFLAGS) -c $< + +../build/ucx/json$(OBJ_EXT): json.c cx/json.h cx/common.h cx/allocator.h \ + cx/string.h cx/buffer.h cx/array_list.h cx/list.h cx/collection.h \ + cx/iterator.h cx/compare.h cx/map.h cx/hash_key.h cx/kv_list.h + $(CC) -o $@ $(CFLAGS) $(SHLIB_CFLAGS) -c $< + +../build/ucx/kv_list$(OBJ_EXT): kv_list.c cx/kv_list.h cx/common.h \ + cx/list.h cx/collection.h cx/allocator.h cx/iterator.h cx/compare.h \ + cx/map.h cx/string.h cx/hash_key.h cx/hash_map.h cx/linked_list.h + $(CC) -o $@ $(CFLAGS) $(SHLIB_CFLAGS) -c $< +../build/ucx/linked_list$(OBJ_EXT): linked_list.c cx/linked_list.h \ + cx/common.h cx/list.h cx/collection.h cx/allocator.h cx/iterator.h \ + cx/compare.h cx/compare.h + $(CC) -o $@ $(CFLAGS) $(SHLIB_CFLAGS) -c $< + +../build/ucx/list$(OBJ_EXT): list.c cx/list.h cx/common.h cx/collection.h \ + cx/allocator.h cx/iterator.h cx/compare.h + $(CC) -o $@ $(CFLAGS) $(SHLIB_CFLAGS) -c $< + +../build/ucx/map$(OBJ_EXT): map.c cx/map.h cx/common.h cx/collection.h \ + cx/allocator.h cx/iterator.h cx/compare.h cx/string.h cx/hash_key.h \ + cx/list.h + $(CC) -o $@ $(CFLAGS) $(SHLIB_CFLAGS) -c $< + +../build/ucx/mempool$(OBJ_EXT): mempool.c cx/mempool.h cx/common.h \ + cx/allocator.h + $(CC) -o $@ $(CFLAGS) $(SHLIB_CFLAGS) -c $< + +../build/ucx/printf$(OBJ_EXT): printf.c cx/printf.h cx/common.h \ + cx/string.h cx/allocator.h + $(CC) -o $@ $(CFLAGS) $(SHLIB_CFLAGS) -c $< + +../build/ucx/properties$(OBJ_EXT): properties.c cx/properties.h \ + cx/common.h cx/string.h cx/allocator.h cx/map.h cx/collection.h \ + cx/iterator.h cx/compare.h cx/hash_key.h cx/buffer.h + $(CC) -o $@ $(CFLAGS) $(SHLIB_CFLAGS) -c $< + +../build/ucx/streams$(OBJ_EXT): streams.c cx/streams.h cx/common.h \ + cx/allocator.h + $(CC) -o $@ $(CFLAGS) $(SHLIB_CFLAGS) -c $< + +../build/ucx/string$(OBJ_EXT): string.c cx/string.h cx/common.h \ + cx/allocator.h + $(CC) -o $@ $(CFLAGS) $(SHLIB_CFLAGS) -c $< + +../build/ucx/szmul$(OBJ_EXT): szmul.c cx/common.h + $(CC) -o $@ $(CFLAGS) $(SHLIB_CFLAGS) -c $< + +../build/ucx/tree$(OBJ_EXT): tree.c cx/tree.h cx/common.h cx/collection.h \ + cx/allocator.h cx/iterator.h cx/compare.h + $(CC) -o $@ $(CFLAGS) $(SHLIB_CFLAGS) -c $< +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/common/Makefile Tue Jun 02 19:30:34 2026 +0200 @@ -0,0 +1,29 @@ +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. +# +# Copyright 2012 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. +# + +FORCE:
--- a/ui/gtk/Makefile Mon Jun 01 20:29:26 2026 +0200 +++ b/ui/gtk/Makefile Tue Jun 02 19:30:34 2026 +0200 @@ -26,11 +26,184 @@ # POSSIBILITY OF SUCH DAMAGE. # -$(GTK_OBJPRE)%.o: gtk/%.c - $(CC) -o $@ -c -I../ucx $(CFLAGS) $(SHLIB_CFLAGS) $(TK_CFLAGS) $< - $(UI_LIB): $(OBJ) $(AR) $(ARFLAGS) $(UI_LIB) $(OBJ) $(UI_SHLIB): $(OBJ) $(CC) -o $(UI_SHLIB) $(LDFLAGS) $(SHLIB_LDFLAGS) $(TK_LDFLAGS) $(OBJ) -L../build/lib -lucx + +FORCE: + +$(GTK_OBJPRE)action.o: gtk/action.c gtk/action.h gtk/../ui/toolkit.h \ + gtk/../common/action.h gtk/../common/../ui/toolkit.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(GTK_OBJPRE)button.o: gtk/button.c gtk/button.h gtk/../ui/toolkit.h \ + gtk/../ui/button.h gtk/../ui/toolkit.h gtk/toolkit.h \ + gtk/../common/context.h gtk/../common/../ui/toolkit.h \ + gtk/../common/action.h gtk/../common/object.h gtk/container.h \ + gtk/../ui/container.h gtk/widget.h gtk/../ui/widget.h \ + gtk/../common/action.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(GTK_OBJPRE)container.o: gtk/container.c gtk/container.h \ + gtk/../ui/toolkit.h gtk/../ui/container.h gtk/../ui/toolkit.h \ + gtk/toolkit.h gtk/../common/context.h gtk/../common/../ui/toolkit.h \ + gtk/../common/action.h gtk/../common/object.h gtk/headerbar.h \ + gtk/../ui/toolbar.h gtk/../common/toolbar.h \ + gtk/../common/../ui/toolbar.h gtk/../common/menu.h \ + gtk/../common/../ui/menu.h gtk/../common/../ui/toolkit.h \ + gtk/../common/container.h gtk/../common/../ui/container.h \ + gtk/../ui/properties.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(GTK_OBJPRE)display.o: gtk/display.c gtk/display.h gtk/../ui/toolkit.h \ + gtk/toolkit.h gtk/../common/context.h gtk/../common/../ui/toolkit.h \ + gtk/../common/action.h gtk/../common/object.h gtk/container.h \ + gtk/../ui/container.h gtk/../ui/toolkit.h gtk/../ui/display.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(GTK_OBJPRE)dnd.o: gtk/dnd.c gtk/dnd.h gtk/../ui/dnd.h \ + gtk/../ui/toolkit.h gtk/toolkit.h gtk/../ui/toolkit.h \ + gtk/../common/context.h gtk/../common/../ui/toolkit.h \ + gtk/../common/action.h gtk/../common/object.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(GTK_OBJPRE)draw_cairo.o: gtk/draw_cairo.c gtk/container.h \ + gtk/../ui/toolkit.h gtk/../ui/container.h gtk/../ui/toolkit.h \ + gtk/toolkit.h gtk/../common/context.h gtk/../common/../ui/toolkit.h \ + gtk/../common/action.h gtk/../common/object.h gtk/draw_cairo.h \ + gtk/graphics.h gtk/../ui/graphics.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(GTK_OBJPRE)draw_gdk.o: gtk/draw_gdk.c gtk/container.h \ + gtk/../ui/toolkit.h gtk/../ui/container.h gtk/../ui/toolkit.h \ + gtk/toolkit.h gtk/../common/context.h gtk/../common/../ui/toolkit.h \ + gtk/../common/action.h gtk/../common/object.h gtk/draw_gdk.h \ + gtk/graphics.h gtk/../ui/graphics.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(GTK_OBJPRE)entry.o: gtk/entry.c gtk/../common/context.h \ + gtk/../common/../ui/toolkit.h gtk/../common/action.h \ + gtk/../common/object.h gtk/container.h gtk/../ui/toolkit.h \ + gtk/../ui/container.h gtk/../ui/toolkit.h gtk/toolkit.h gtk/entry.h \ + gtk/../ui/entry.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(GTK_OBJPRE)graphics.o: gtk/graphics.c gtk/graphics.h \ + gtk/../ui/graphics.h gtk/../ui/toolkit.h gtk/toolkit.h \ + gtk/../ui/toolkit.h gtk/../common/context.h \ + gtk/../common/../ui/toolkit.h gtk/../common/action.h \ + gtk/../common/object.h gtk/container.h gtk/../ui/container.h \ + gtk/draw_cairo.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(GTK_OBJPRE)headerbar.o: gtk/headerbar.c gtk/headerbar.h gtk/toolkit.h \ + gtk/../ui/toolkit.h gtk/../common/context.h \ + gtk/../common/../ui/toolkit.h gtk/../common/action.h \ + gtk/../common/object.h gtk/../ui/toolbar.h gtk/../ui/toolkit.h \ + gtk/../common/toolbar.h gtk/../common/../ui/toolbar.h \ + gtk/../common/menu.h gtk/../common/../ui/menu.h \ + gtk/../common/../ui/toolkit.h gtk/button.h gtk/../ui/button.h gtk/menu.h \ + gtk/../ui/menu.h gtk/../common/menu.h gtk/../ui/properties.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(GTK_OBJPRE)icon.o: gtk/icon.c gtk/toolkit.h gtk/../ui/toolkit.h \ + gtk/../common/context.h gtk/../common/../ui/toolkit.h \ + gtk/../common/action.h gtk/../common/object.h gtk/icon.h \ + gtk/../ui/icons.h gtk/../ui/toolkit.h gtk/../common/properties.h \ + gtk/../common/../ui/properties.h gtk/../common/../ui/toolkit.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(GTK_OBJPRE)image.o: gtk/image.c gtk/image.h gtk/../ui/image.h \ + gtk/../ui/toolkit.h gtk/toolkit.h gtk/../ui/toolkit.h \ + gtk/../common/context.h gtk/../common/../ui/toolkit.h \ + gtk/../common/action.h gtk/../common/object.h gtk/container.h \ + gtk/../ui/container.h gtk/menu.h gtk/../ui/menu.h gtk/../common/menu.h \ + gtk/../common/../ui/menu.h gtk/widget.h gtk/../ui/widget.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(GTK_OBJPRE)list.o: gtk/list.c gtk/../common/context.h \ + gtk/../common/../ui/toolkit.h gtk/../common/action.h \ + gtk/../common/object.h gtk/../common/action.h gtk/container.h \ + gtk/../ui/toolkit.h gtk/../ui/container.h gtk/../ui/toolkit.h \ + gtk/toolkit.h gtk/list.h gtk/../ui/list.h gtk/button.h \ + gtk/../ui/button.h gtk/icon.h gtk/../ui/icons.h gtk/menu.h \ + gtk/../ui/menu.h gtk/../common/menu.h gtk/../common/../ui/menu.h \ + gtk/dnd.h gtk/../ui/dnd.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(GTK_OBJPRE)menu.o: gtk/menu.c gtk/menu.h gtk/../ui/menu.h \ + gtk/../ui/toolkit.h gtk/../common/menu.h gtk/../common/../ui/menu.h \ + gtk/toolkit.h gtk/../ui/toolkit.h gtk/../common/context.h \ + gtk/../common/../ui/toolkit.h gtk/../common/action.h \ + gtk/../common/object.h gtk/widget.h gtk/../ui/widget.h \ + gtk/../common/types.h gtk/../common/action.h gtk/../ui/properties.h \ + gtk/../ui/window.h gtk/container.h gtk/../ui/container.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(GTK_OBJPRE)range.o: gtk/range.c gtk/range.h gtk/toolkit.h \ + gtk/../ui/toolkit.h gtk/../common/context.h \ + gtk/../common/../ui/toolkit.h gtk/../common/action.h \ + gtk/../common/object.h gtk/../ui/range.h gtk/../ui/toolkit.h \ + gtk/container.h gtk/../ui/container.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(GTK_OBJPRE)text.o: gtk/text.c gtk/text.h gtk/../ui/text.h \ + gtk/../ui/toolkit.h gtk/toolkit.h gtk/../ui/toolkit.h \ + gtk/../common/context.h gtk/../common/../ui/toolkit.h \ + gtk/../common/action.h gtk/../common/object.h gtk/container.h \ + gtk/../ui/container.h gtk/widget.h gtk/../ui/widget.h \ + gtk/../common/types.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(GTK_OBJPRE)toolbar.o: gtk/toolbar.c gtk/toolbar.h gtk/../ui/toolbar.h \ + gtk/../ui/toolkit.h gtk/../common/toolbar.h \ + gtk/../common/../ui/toolbar.h gtk/../common/menu.h \ + gtk/../common/../ui/menu.h gtk/../common/../ui/toolkit.h gtk/list.h \ + gtk/../ui/list.h gtk/toolkit.h gtk/../ui/toolkit.h \ + gtk/../common/context.h gtk/../common/../ui/toolkit.h \ + gtk/../common/action.h gtk/../common/object.h gtk/menu.h \ + gtk/../ui/menu.h gtk/../common/menu.h gtk/button.h gtk/../ui/button.h \ + gtk/icon.h gtk/../ui/icons.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(GTK_OBJPRE)toolkit.o: gtk/toolkit.c gtk/toolkit.h gtk/../ui/toolkit.h \ + gtk/../common/context.h gtk/../common/../ui/toolkit.h \ + gtk/../common/action.h gtk/../common/object.h gtk/toolbar.h \ + gtk/../ui/toolbar.h gtk/../ui/toolkit.h gtk/../common/toolbar.h \ + gtk/../common/../ui/toolbar.h gtk/../common/menu.h \ + gtk/../common/../ui/menu.h gtk/../common/../ui/toolkit.h gtk/list.h \ + gtk/../ui/list.h gtk/window.h gtk/icon.h gtk/../ui/icons.h \ + gtk/../common/document.h gtk/../common/context.h \ + gtk/../common/properties.h gtk/../common/../ui/properties.h \ + gtk/../common/menu.h gtk/../common/threadpool.h gtk/../common/app.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(GTK_OBJPRE)webview.o: gtk/webview.c gtk/toolkit.h gtk/../ui/toolkit.h \ + gtk/../common/context.h gtk/../common/../ui/toolkit.h \ + gtk/../common/action.h gtk/../common/object.h gtk/container.h \ + gtk/../ui/container.h gtk/../ui/toolkit.h gtk/webview.h \ + gtk/../ui/webview.h gtk/widget.h gtk/../ui/widget.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(GTK_OBJPRE)widget.o: gtk/widget.c gtk/widget.h gtk/../ui/widget.h \ + gtk/../ui/toolkit.h gtk/container.h gtk/../ui/toolkit.h \ + gtk/../ui/container.h gtk/toolkit.h gtk/../common/context.h \ + gtk/../common/../ui/toolkit.h gtk/../common/action.h \ + gtk/../common/object.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(GTK_OBJPRE)window.o: gtk/window.c gtk/../ui/window.h \ + gtk/../ui/toolkit.h gtk/../ui/properties.h gtk/../common/context.h \ + gtk/../common/../ui/toolkit.h gtk/../common/action.h \ + gtk/../common/menu.h gtk/../common/../ui/menu.h \ + gtk/../common/../ui/toolkit.h gtk/../common/toolbar.h \ + gtk/../common/../ui/toolbar.h gtk/../common/menu.h gtk/../common/utils.h \ + gtk/../common/../ui/text.h gtk/menu.h gtk/../ui/menu.h gtk/toolkit.h \ + gtk/../ui/toolkit.h gtk/../common/object.h gtk/toolbar.h \ + gtk/../ui/toolbar.h gtk/list.h gtk/../ui/list.h gtk/container.h \ + gtk/../ui/container.h gtk/headerbar.h gtk/button.h gtk/../ui/button.h \ + gtk/window.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< +
--- a/ui/motif/Makefile Mon Jun 01 20:29:26 2026 +0200 +++ b/ui/motif/Makefile Tue Jun 02 19:30:34 2026 +0200 @@ -26,11 +26,139 @@ # POSSIBILITY OF SUCH DAMAGE. # -$(MOTIF_OBJPRE)%.o: motif/%.c - $(CC) -o $@ -c -I../ucx $(CFLAGS) $(SHLIB_CFLAGS) $(TK_CFLAGS) $< - $(UI_LIB): $(OBJ) $(AR) $(ARFLAGS) $(UI_LIB) $(OBJ) $(UI_SHLIB): $(OBJ) $(CC) -o $(UI_SHLIB) $(LDFLAGS) $(SHLIB_LDFLAGS) $(TK_LDFLAGS) $(OBJ) -L../build/lib -lucx + +FORCE: + +$(MOTIF_OBJPRE)button.o: motif/button.c motif/button.h \ + motif/../ui/button.h motif/../ui/toolkit.h motif/toolkit.h \ + motif/../ui/toolkit.h motif/../common/context.h \ + motif/../common/../ui/toolkit.h motif/../common/action.h \ + motif/../common/object.h motif/container.h motif/../ui/container.h \ + motif/../common/action.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(MOTIF_OBJPRE)container.o: motif/container.c motif/container.h \ + motif/../ui/toolkit.h motif/../ui/container.h motif/../ui/toolkit.h \ + motif/../common/context.h motif/../common/../ui/toolkit.h \ + motif/../common/action.h motif/../common/object.h \ + motif/../common/container.h motif/../common/../ui/container.h \ + motif/Grid.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(MOTIF_OBJPRE)dnd.o: motif/dnd.c motif/dnd.h motif/../ui/dnd.h \ + motif/../ui/toolkit.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(MOTIF_OBJPRE)entry.o: motif/entry.c motif/entry.h motif/../ui/entry.h \ + motif/../ui/toolkit.h motif/container.h motif/../ui/toolkit.h \ + motif/../ui/container.h motif/toolkit.h motif/../common/context.h \ + motif/../common/../ui/toolkit.h motif/../common/action.h \ + motif/../common/object.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(MOTIF_OBJPRE)Fsb.o: motif/Fsb.c motif/Fsb.h motif/FsbP.h \ + motif/pathbar.h motif/../ui/text.h motif/../ui/toolkit.h \ + motif/../common/utils.h motif/../common/../ui/toolkit.h \ + motif/../common/../ui/text.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(MOTIF_OBJPRE)graphics.o: motif/graphics.c motif/graphics.h \ + motif/../ui/graphics.h motif/../ui/toolkit.h motif/toolkit.h \ + motif/../ui/toolkit.h motif/../common/context.h \ + motif/../common/../ui/toolkit.h motif/../common/action.h \ + motif/../common/object.h motif/container.h motif/../ui/container.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(MOTIF_OBJPRE)Grid.o: motif/Grid.c motif/Grid.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(MOTIF_OBJPRE)image.o: motif/image.c motif/image.h motif/../ui/image.h \ + motif/../ui/toolkit.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(MOTIF_OBJPRE)label.o: motif/label.c motif/label.h motif/../ui/display.h \ + motif/../ui/toolkit.h motif/../common/context.h \ + motif/../common/../ui/toolkit.h motif/../common/action.h \ + motif/container.h motif/../ui/toolkit.h motif/../ui/container.h \ + motif/../common/object.h motif/Grid.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(MOTIF_OBJPRE)list.o: motif/list.c motif/container.h \ + motif/../ui/toolkit.h motif/../ui/container.h motif/../ui/toolkit.h \ + motif/list.h motif/toolkit.h motif/../common/context.h \ + motif/../common/../ui/toolkit.h motif/../common/action.h \ + motif/../common/object.h motif/../ui/list.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(MOTIF_OBJPRE)menu.o: motif/menu.c motif/menu.h motif/../ui/menu.h \ + motif/../ui/toolkit.h motif/../common/menu.h \ + motif/../common/../ui/menu.h motif/../common/context.h \ + motif/../common/../ui/toolkit.h motif/../common/action.h motif/button.h \ + motif/../ui/button.h motif/toolkit.h motif/../ui/toolkit.h \ + motif/../common/object.h motif/container.h motif/../ui/container.h \ + motif/../common/types.h motif/../ui/window.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(MOTIF_OBJPRE)pathbar.o: motif/pathbar.c motif/pathbar.h \ + motif/../ui/text.h motif/../ui/toolkit.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(MOTIF_OBJPRE)range.o: motif/range.c motif/range.h motif/toolkit.h \ + motif/../ui/toolkit.h motif/../common/context.h \ + motif/../common/../ui/toolkit.h motif/../common/action.h \ + motif/../common/object.h motif/../ui/range.h motif/../ui/toolkit.h \ + motif/container.h motif/../ui/container.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(MOTIF_OBJPRE)text.o: motif/text.c motif/text.h motif/../ui/text.h \ + motif/../ui/toolkit.h motif/toolkit.h motif/../ui/toolkit.h \ + motif/../common/context.h motif/../common/../ui/toolkit.h \ + motif/../common/action.h motif/../common/object.h motif/container.h \ + motif/../ui/container.h motif/pathbar.h motif/../common/utils.h \ + motif/../common/../ui/text.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(MOTIF_OBJPRE)toolbar.o: motif/toolbar.c motif/toolbar.h \ + motif/../ui/toolbar.h motif/../ui/toolkit.h motif/button.h \ + motif/../ui/button.h motif/toolkit.h motif/../ui/toolkit.h \ + motif/../common/context.h motif/../common/../ui/toolkit.h \ + motif/../common/action.h motif/../common/object.h motif/list.h \ + motif/../ui/list.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(MOTIF_OBJPRE)toolkit.o: motif/toolkit.c motif/toolkit.h \ + motif/../ui/toolkit.h motif/../common/context.h \ + motif/../common/../ui/toolkit.h motif/../common/action.h \ + motif/../common/object.h motif/toolbar.h motif/../ui/toolbar.h \ + motif/../ui/toolkit.h motif/container.h motif/../ui/container.h \ + motif/../common/menu.h motif/../common/../ui/menu.h \ + motif/../common/../ui/toolkit.h motif/../common/toolbar.h \ + motif/../common/../ui/toolbar.h motif/../common/menu.h \ + motif/../common/document.h motif/../common/context.h \ + motif/../common/properties.h motif/../common/../ui/properties.h \ + motif/../common/app.h motif/../common/threadpool.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(MOTIF_OBJPRE)widget.o: motif/widget.c motif/../ui/widget.h \ + motif/../ui/toolkit.h motif/container.h motif/../ui/toolkit.h \ + motif/../ui/container.h motif/../common/context.h \ + motif/../common/../ui/toolkit.h motif/../common/action.h \ + motif/../common/object.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(MOTIF_OBJPRE)window.o: motif/window.c motif/window.h \ + motif/../ui/window.h motif/../ui/toolkit.h motif/../ui/widget.h \ + motif/toolkit.h motif/../ui/toolkit.h motif/../common/context.h \ + motif/../common/../ui/toolkit.h motif/../common/action.h \ + motif/../common/object.h motif/menu.h motif/../ui/menu.h \ + motif/../common/menu.h motif/../common/../ui/menu.h motif/toolbar.h \ + motif/../ui/toolbar.h motif/container.h motif/../ui/container.h \ + motif/pathbar.h motif/../ui/text.h motif/../common/utils.h \ + motif/../common/../ui/text.h motif/Grid.h motif/Fsb.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< +
--- a/ui/server/Makefile Mon Jun 01 20:29:26 2026 +0200 +++ b/ui/server/Makefile Tue Jun 02 19:30:34 2026 +0200 @@ -26,11 +26,69 @@ # POSSIBILITY OF SUCH DAMAGE. # -$(SERVER_OBJPRE)%.o: server/%.c - $(CC) -o $@ -c -I../ucx $(CFLAGS) $(SHLIB_CFLAGS) $(TK_CFLAGS) $< - $(UI_LIB): $(OBJ) - $(AR) $(ARFLAGS) $(UI_LIB) $(OBJ) + $(AR) $(ARFLAGS) $(UI_LIB) $(OBJ) $(UI_SHLIB): $(OBJ) $(CC) -o $(UI_SHLIB) $(LDFLAGS) $(SHLIB_LDFLAGS) $(TK_LDFLAGS) $(OBJ) -L../build/lib -lucx + +FORCE: + +$(SERVER_OBJPRE)args.o: server/args.c server/args.h server/toolkit.h \ + server/../ui/toolkit.h server/../common/context.h \ + server/../common/../ui/toolkit.h server/../common/action.h \ + server/../common/object.h server/../common/utils.h \ + server/../common/../ui/text.h server/../common/../ui/toolkit.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(SERVER_OBJPRE)button.o: server/button.c server/button.h \ + server/toolkit.h server/../ui/toolkit.h server/../common/context.h \ + server/../common/../ui/toolkit.h server/../common/action.h \ + server/../common/object.h server/../ui/button.h server/../ui/toolkit.h \ + server/args.h server/container.h server/../common/container.h \ + server/../common/../ui/container.h server/../common/../ui/toolkit.h \ + server/widget.h server/../ui/widget.h server/var.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(SERVER_OBJPRE)container.o: server/container.c server/container.h \ + server/toolkit.h server/../ui/toolkit.h server/../common/context.h \ + server/../common/../ui/toolkit.h server/../common/action.h \ + server/../common/object.h server/../common/container.h \ + server/../common/../ui/container.h server/../common/../ui/toolkit.h \ + server/widget.h server/../ui/widget.h server/../ui/toolkit.h \ + server/args.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(SERVER_OBJPRE)image.o: server/image.c server/image.h \ + server/../ui/image.h server/../ui/toolkit.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(SERVER_OBJPRE)toolkit.o: server/toolkit.c server/toolkit.h \ + server/../ui/toolkit.h server/../common/context.h \ + server/../common/../ui/toolkit.h server/../common/action.h \ + server/../common/object.h server/../common/message.h \ + server/../common/threadpool.h server/../common/app.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(SERVER_OBJPRE)var.o: server/var.c server/toolkit.h \ + server/../ui/toolkit.h server/../common/context.h \ + server/../common/../ui/toolkit.h server/../common/action.h \ + server/../common/object.h server/var.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(SERVER_OBJPRE)widget.o: server/widget.c server/widget.h \ + server/../ui/widget.h server/../ui/toolkit.h server/toolkit.h \ + server/../ui/toolkit.h server/../common/context.h \ + server/../common/../ui/toolkit.h server/../common/action.h \ + server/../common/object.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< + +$(SERVER_OBJPRE)window.o: server/window.c server/window.h \ + server/../ui/window.h server/../ui/toolkit.h server/toolkit.h \ + server/../ui/toolkit.h server/../common/context.h \ + server/../common/../ui/toolkit.h server/../common/action.h \ + server/../common/object.h server/container.h \ + server/../common/container.h server/../common/../ui/container.h \ + server/../common/../ui/toolkit.h server/widget.h server/../ui/widget.h + $(CC) -o $@ $(CFLAGS) -I../ucx $(SHLIB_CFLAGS) $(TK_CFLAGS) -c $< +