Fri, 06 Jun 2025 12:31:09 +0200
add support for building shared libraries
| application/Makefile | file | annotate | diff | comparison | revisions | |
| configure | file | annotate | diff | comparison | revisions | |
| make/cc.mk | file | annotate | diff | comparison | revisions | |
| make/clang.mk | file | annotate | diff | comparison | revisions | |
| make/configure.vm | file | annotate | diff | comparison | revisions | |
| make/gcc.mk | file | annotate | diff | comparison | revisions | |
| make/project.xml | file | annotate | diff | comparison | revisions | |
| make/suncc.mk | file | annotate | diff | comparison | revisions | |
| make/toolchain.sh | file | annotate | diff | comparison | revisions | |
| ucx/Makefile | file | annotate | diff | comparison | revisions | |
| ui/Makefile | file | annotate | diff | comparison | revisions | |
| ui/cocoa/Makefile | file | annotate | diff | comparison | revisions | |
| ui/common/objs.mk | file | annotate | diff | comparison | revisions | |
| ui/gtk/Makefile | file | annotate | diff | comparison | revisions | |
| ui/motif/Makefile | file | annotate | diff | comparison | revisions |
--- a/application/Makefile Thu Jun 05 19:29:04 2025 +0200 +++ b/application/Makefile Fri Jun 06 12:31:09 2025 +0200 @@ -38,7 +38,7 @@ all: ../build/bin/mk12 ../build/bin/mk12: $(OBJ) $(BUILD_ROOT)/build/lib/$(LIB_PREFIX)uitk$(LIB_EXT) - $(LD) -o ../build/bin/mk12$(APP_EXT) $(OBJ) -L$(BUILD_ROOT)/build/lib -luitk -lucx $(LDFLAGS) $(TK_LDFLAGS) + $(LD) -o ../build/bin/mk12$(APP_EXT) $(OBJ) $(BUILD_ROOT)/build/lib/$(LIB_PREFIX)uitk$(LIB_EXT) $(BUILD_ROOT)/build/lib/$(LIB_PREFIX)ucx$(LIB_EXT) $(LDFLAGS) $(TK_LDFLAGS) ../build/application/%$(OBJ_EXT): %.c $(CC) $(CFLAGS) $(TK_CFLAGS) -o $@ -c $<
--- a/configure Thu Jun 05 19:29:04 2025 +0200 +++ b/configure Fri Jun 06 12:31:09 2025 +0200 @@ -58,6 +58,7 @@ # $PLATFORM is used for platform dependent dependency selection OS=`uname -s` OS_VERSION=`uname -r` +ARCH=`uname -m` printf "detect platform... " if [ "$OS" = "SunOS" ]; then PLATFORM="solaris sunos unix svr4" @@ -202,6 +203,22 @@ : ${mandir:='${datarootdir}/man'} : ${localedir:='${datarootdir}/locale'} +# remember the above values and compare them later +orig_bindir="$bindir" +orig_sbindir="$sbindir" +orig_libdir="$libdir" +orig_libexecdir="$libexecdir" +orig_datarootdir="$datarootdir" +orig_datadir="$datadir" +orig_sysconfdir="$sysconfdir" +orig_sharedstatedir="$sharedstatedir" +orig_localstatedir="$localstatedir" +orig_runstatedir="$runstatedir" +orig_includedir="$includedir" +orig_infodir="$infodir" +orig_mandir="$mandir" +orig_localedir="$localedir" + # check if a config.site exists and load it if [ -n "$CONFIG_SITE" ]; then # CONFIG_SITE may contain space separated file names @@ -218,6 +235,28 @@ printf "loading site defaults... " . "$prefix/etc/config.site" echo ok +else + # try to detect the correct libdir on our own, except it was changed by the user + if test "$libdir" = '${exec_prefix}/lib'; then + if [ "$OS" = "SunOS" ]; then + test -d "${exec_prefix}/lib/amd64" && libdir='${exec_prefix}/lib/amd64' + else + # check if the standard libdir even exists + if test -d "${exec_prefix}/lib" ; then + : + else + # if it does not, maybe a lib32 exists + test -d "${exec_prefix}/lib32" && libdir='${exec_prefix}/lib32' + fi + # now check if there is a special 64bit libdir that we should use + for i in x86_64 ppc64 s390x aarch64 aarch64_be arm64 ; do + if [ $ARCH = $i ]; then + test -d "${exec_prefix}/lib64" && libdir='${exec_prefix}/lib64' + break + fi + done + fi + fi fi @@ -645,6 +684,7 @@ cat >> "$TEMP_DIR/make.mk" << __EOF__ OBJ_EXT = .o LIB_EXT = .a +SHLIB_EXT = .dylib LIB_PREFIX = lib PACKAGE_SCRIPT = package_osx.sh __EOF__ @@ -666,6 +706,7 @@ cat >> "$TEMP_DIR/make.mk" << __EOF__ OBJ_EXT = .o LIB_EXT = .a +SHLIB_EXT = .so LIB_PREFIX = lib PACKAGE_SCRIPT = package_unix.sh __EOF__ @@ -690,12 +731,12 @@ # build type if [ "$BUILD_TYPE" = "debug" ]; then - TEMP_CFLAGS="\${DEBUG_CFLAGS}$TEMP_CFLAGS" - TEMP_CXXFLAGS="\${DEBUG_CXXFLAGS}$TEMP_CXXFLAGS" + TEMP_CFLAGS="\${DEBUG_CFLAGS} $TEMP_CFLAGS" + TEMP_CXXFLAGS="\${DEBUG_CXXFLAGS} $TEMP_CXXFLAGS" fi if [ "$BUILD_TYPE" = "release" ]; then - TEMP_CFLAGS="\${RELEASE_CFLAGS}$TEMP_CFLAGS" - TEMP_CXXFLAGS="\${RELEASE_CXXFLAGS}$TEMP_CXXFLAGS" + TEMP_CFLAGS="\${RELEASE_CFLAGS} $TEMP_CFLAGS" + TEMP_CXXFLAGS="\${RELEASE_CXXFLAGS} $TEMP_CXXFLAGS" fi # add general dependency flags to flags.mk @@ -1030,9 +1071,67 @@ echo "configure finished" echo +echo "Toolchain" +echo " name: $TOOLCHAIN_NAME" +if [ -n "$TOOLCHAIN_CC" ]; then + echo " cc: $TOOLCHAIN_CC" +fi +if [ -n "$TOOLCHAIN_CXX" ]; then + echo " cxx: $TOOLCHAIN_CXX" +fi +if [ -n "$TOOLCHAIN_WSIZE" ]; then + echo " word size: $TOOLCHAIN_WSIZE bit" +fi +if [ -n "$TOOLCHAIN_CSTD" ]; then + echo " default C std: $TOOLCHAIN_CSTD" +fi +echo echo "Build Config:" -echo " PREFIX: $prefix" -echo " TOOLCHAIN: $TOOLCHAIN_NAME" +echo " prefix: $prefix" +echo " exec_prefix: $exec_prefix" +if [ "$orig_bindir" != "$bindir" ]; then + echo " bindir: $bindir" +fi +if [ "$orig_sbindir" != "$sbindir" ]; then + echo " sbindir: $sbindir" +fi +if [ "$orig_libdir" != "$libdir" ]; then + echo " libdir: $libdir" +fi +if [ "$orig_libexecdir" != "$libexecdir" ]; then + echo " libexecdir: $libexecdir" +fi +if [ "$orig_datarootdir" != "$datarootdir" ]; then + echo " datarootdir: $datarootdir" +fi +if [ "$orig_datadir" != "$datadir" ]; then + echo " datadir: $datadir" +fi +if [ "$orig_sysconfdir" != "$sysconfdir" ]; then + echo " sysconfdir: $sysconfdir" +fi +if [ "$orig_sharedstatedir" != "$sharedstatedir" ]; then + echo " sharedstatedir: $sharedstatedir" +fi +if [ "$orig_localstatedir" != "$localstatedir" ]; then + echo " localstatedir: $localstatedir" +fi +if [ "$orig_runstatedir" != "$runstatedir" ]; then + echo " runstatedir: $runstatedir" +fi +if [ "$orig_includedir" != "$includedir" ]; then + echo " includedir: $includedir" +fi +if [ "$orig_infodir" != "$infodir" ]; then + echo " infodir: $infodir" +fi +if [ "$orig_mandir" != "$mandir" ]; then + echo " mandir: $mandir" +fi +if [ "$orig_localedir" != "$localedir" ]; then + echo " localedir: $localedir" +fi +echo echo "Options:" cat "$TEMP_DIR/options" echo
--- a/make/cc.mk Thu Jun 05 19:29:04 2025 +0200 +++ b/make/cc.mk Fri Jun 06 12:31:09 2025 +0200 @@ -4,11 +4,11 @@ CFLAGS = CXXFLAGS = -DEBUG_CC_FLAGS = -g -DEBUG_CXX_FLAGS = -g -RELEASE_CC_FLAGS = -O3 -DNDEBUG -RELEASE_CXX_FLAGS = -O3 -DNDEBUG +DEBUG_CFLAGS = -g +DEBUG_CXXFLAGS = -g +RELEASE_CFLAGS = -O3 -DNDEBUG +RELEASE_CXXFLAGS = -O3 -DNDEBUG LDFLAGS = SHLIB_CFLAGS = -fPIC -SHLIB_LDFLAGS = -shared \ No newline at end of file +SHLIB_LDFLAGS = -shared
--- a/make/clang.mk Thu Jun 05 19:29:04 2025 +0200 +++ b/make/clang.mk Fri Jun 06 12:31:09 2025 +0200 @@ -4,10 +4,10 @@ CFLAGS = CXXFLAGS = -DEBUG_CC_FLAGS = -g -DEBUG_CXX_FLAGS = -g -RELEASE_CC_FLAGS = -O3 -DNDEBUG -RELEASE_CXX_FLAGS = -O3 -DNDEBUG +DEBUG_CFLAGS = -g +DEBUG_CXXFLAGS = -g +RELEASE_CFLAGS = -O3 -DNDEBUG +RELEASE_CXXFLAGS = -O3 -DNDEBUG LDFLAGS = SHLIB_CFLAGS = -fPIC
--- a/make/configure.vm Thu Jun 05 19:29:04 2025 +0200 +++ b/make/configure.vm Fri Jun 06 12:31:09 2025 +0200 @@ -59,6 +59,7 @@ # $PLATFORM is used for platform dependent dependency selection OS=`uname -s` OS_VERSION=`uname -r` +ARCH=`uname -m` printf "detect platform... " if [ "$OS" = "SunOS" ]; then PLATFORM="solaris sunos unix svr4" @@ -244,6 +245,22 @@ : ${mandir:='${datarootdir}/man'} : ${localedir:='${datarootdir}/locale'} +# remember the above values and compare them later +orig_bindir="$bindir" +orig_sbindir="$sbindir" +orig_libdir="$libdir" +orig_libexecdir="$libexecdir" +orig_datarootdir="$datarootdir" +orig_datadir="$datadir" +orig_sysconfdir="$sysconfdir" +orig_sharedstatedir="$sharedstatedir" +orig_localstatedir="$localstatedir" +orig_runstatedir="$runstatedir" +orig_includedir="$includedir" +orig_infodir="$infodir" +orig_mandir="$mandir" +orig_localedir="$localedir" + # check if a config.site exists and load it if [ -n "$CONFIG_SITE" ]; then # CONFIG_SITE may contain space separated file names @@ -260,6 +277,28 @@ printf "loading site defaults... " . "$prefix/etc/config.site" echo ok +else + # try to detect the correct libdir on our own, except it was changed by the user + if test "$libdir" = '${exec_prefix}/lib'; then + if [ "$OS" = "SunOS" ]; then + test -d "${exec_prefix}/lib/amd64" && libdir='${exec_prefix}/lib/amd64' + else + # check if the standard libdir even exists + if test -d "${exec_prefix}/lib" ; then + : + else + # if it does not, maybe a lib32 exists + test -d "${exec_prefix}/lib32" && libdir='${exec_prefix}/lib32' + fi + # now check if there is a special 64bit libdir that we should use + for i in x86_64 ppc64 s390x aarch64 aarch64_be arm64 ; do + if [ $ARCH = $i ]; then + test -d "${exec_prefix}/lib64" && libdir='${exec_prefix}/lib64' + break + fi + done + fi + fi fi ]]# ## End of unparsed content ** @@ -487,12 +526,12 @@ # build type if [ "$BUILD_TYPE" = "debug" ]; then - TEMP_CFLAGS="\${DEBUG_CFLAGS}$TEMP_CFLAGS" - TEMP_CXXFLAGS="\${DEBUG_CXXFLAGS}$TEMP_CXXFLAGS" + TEMP_CFLAGS="\${DEBUG_CFLAGS} $TEMP_CFLAGS" + TEMP_CXXFLAGS="\${DEBUG_CXXFLAGS} $TEMP_CXXFLAGS" fi if [ "$BUILD_TYPE" = "release" ]; then - TEMP_CFLAGS="\${RELEASE_CFLAGS}$TEMP_CFLAGS" - TEMP_CXXFLAGS="\${RELEASE_CXXFLAGS}$TEMP_CXXFLAGS" + TEMP_CFLAGS="\${RELEASE_CFLAGS} $TEMP_CFLAGS" + TEMP_CXXFLAGS="\${RELEASE_CXXFLAGS} $TEMP_CXXFLAGS" fi # add general dependency flags to flags.mk @@ -687,14 +726,73 @@ echo "configure finished" echo +echo "Toolchain" +echo " name: $TOOLCHAIN_NAME" +if [ -n "$TOOLCHAIN_CC" ]; then + echo " cc: $TOOLCHAIN_CC" +fi +if [ -n "$TOOLCHAIN_CXX" ]; then + echo " cxx: $TOOLCHAIN_CXX" +fi +if [ -n "$TOOLCHAIN_WSIZE" ]; then + echo " word size: $TOOLCHAIN_WSIZE bit" +fi +if [ -n "$TOOLCHAIN_CSTD" ]; then + echo " default C std: $TOOLCHAIN_CSTD" +fi +echo echo "Build Config:" -echo " PREFIX: $prefix" -echo " TOOLCHAIN: $TOOLCHAIN_NAME" +echo " prefix: $prefix" +echo " exec_prefix: $exec_prefix" +if [ "$orig_bindir" != "$bindir" ]; then + echo " bindir: $bindir" +fi +if [ "$orig_sbindir" != "$sbindir" ]; then + echo " sbindir: $sbindir" +fi +if [ "$orig_libdir" != "$libdir" ]; then + echo " libdir: $libdir" +fi +if [ "$orig_libexecdir" != "$libexecdir" ]; then + echo " libexecdir: $libexecdir" +fi +if [ "$orig_datarootdir" != "$datarootdir" ]; then + echo " datarootdir: $datarootdir" +fi +if [ "$orig_datadir" != "$datadir" ]; then + echo " datadir: $datadir" +fi +if [ "$orig_sysconfdir" != "$sysconfdir" ]; then + echo " sysconfdir: $sysconfdir" +fi +if [ "$orig_sharedstatedir" != "$sharedstatedir" ]; then + echo " sharedstatedir: $sharedstatedir" +fi +if [ "$orig_localstatedir" != "$localstatedir" ]; then + echo " localstatedir: $localstatedir" +fi +if [ "$orig_runstatedir" != "$runstatedir" ]; then + echo " runstatedir: $runstatedir" +fi +if [ "$orig_includedir" != "$includedir" ]; then + echo " includedir: $includedir" +fi +if [ "$orig_infodir" != "$infodir" ]; then + echo " infodir: $infodir" +fi +if [ "$orig_mandir" != "$mandir" ]; then + echo " mandir: $mandir" +fi +if [ "$orig_localedir" != "$localedir" ]; then + echo " localedir: $localedir" +fi #if ( $options.size() > 0 ) +echo echo "Options:" cat "$TEMP_DIR/options" #end #if ( $features.size() > 0 ) +echo echo "Features:" #foreach( $feature in $features ) if [ -n "${D}${feature.varName}" ]; then
--- a/make/gcc.mk Thu Jun 05 19:29:04 2025 +0200 +++ b/make/gcc.mk Fri Jun 06 12:31:09 2025 +0200 @@ -4,10 +4,10 @@ CFLAGS = CXXFLAGS = -DEBUG_CC_FLAGS = -g -DEBUG_CXX_FLAGS = -g -RELEASE_CC_FLAGS = -O3 -DNDEBUG -RELEASE_CXX_FLAGS = -O3 -DNDEBUG +DEBUG_CFLAGS = -g +DEBUG_CXXFLAGS = -g +RELEASE_CFLAGS = -O3 -DNDEBUG +RELEASE_CXXFLAGS = -O3 -DNDEBUG LDFLAGS = SHLIB_CFLAGS = -fPIC
--- a/make/project.xml Thu Jun 05 19:29:04 2025 +0200 +++ b/make/project.xml Fri Jun 06 12:31:09 2025 +0200 @@ -92,12 +92,14 @@ <dependency platform="macos"> <make>OBJ_EXT = .o</make> <make>LIB_EXT = .a</make> + <make>SHLIB_EXT = .dylib</make> <make>LIB_PREFIX = lib</make> <make>PACKAGE_SCRIPT = package_osx.sh</make> </dependency> <dependency platform="unix" not="macos"> <make>OBJ_EXT = .o</make> <make>LIB_EXT = .a</make> + <make>SHLIB_EXT = .so</make> <make>LIB_PREFIX = lib</make> <make>PACKAGE_SCRIPT = package_unix.sh</make> </dependency>
--- a/make/suncc.mk Thu Jun 05 19:29:04 2025 +0200 +++ b/make/suncc.mk Fri Jun 06 12:31:09 2025 +0200 @@ -4,10 +4,10 @@ CFLAGS = CXXFLAGS = -DEBUG_CC_FLAGS = -g -DEBUG_CXX_FLAGS = -g -RELEASE_CC_FLAGS = -O3 -DNDEBUG -RELEASE_CXX_FLAGS = -O3 -DNDEBUG +DEBUG_CFLAGS = -g +DEBUG_CXXFLAGS = -g +RELEASE_CFLAGS = -O3 -DNDEBUG +RELEASE_CXXFLAGS = -O3 -DNDEBUG LDFLAGS = SHLIB_CFLAGS = -Kpic
--- a/make/toolchain.sh Thu Jun 05 19:29:04 2025 +0200 +++ b/make/toolchain.sh Fri Jun 06 12:31:09 2025 +0200 @@ -126,6 +126,14 @@ fi } +parse_toolchain_properties() +{ + info_file="$1" + TOOLCHAIN=`grep '^toolchain:' "$info_file" | tail -c +11` + TOOLCHAIN_NAME=`echo "$TOOLCHAIN" | cut -f1 -d' ' -` + TOOLCHAIN_WSIZE=`grep '^wsize:' "$info_file" | tail -c +7` +} + detect_c_compiler() { if [ -n "$TOOLCHAIN_CC" ]; then @@ -136,9 +144,7 @@ if check_c_compiler "$CC"; then TOOLCHAIN_CC=$CC "$TEMP_DIR/checkcc" > "$TEMP_DIR/checkcc_out" - TOOLCHAIN=`grep '^toolchain:' "$TEMP_DIR/checkcc_out" | tail -c +11` - TOOLCHAIN_NAME=`echo "$TOOLCHAIN" | cut -f1 -d' ' -` - TOOLCHAIN_WSIZE=`grep '^wsize:' "$TEMP_DIR/checkcc_out" | tail -c +7` + parse_toolchain_properties "$TEMP_DIR/checkcc_out" TOOLCHAIN_CSTD=`grep '^stdcversion:' "$TEMP_DIR/checkcc_out" | tail -c +13` echo "$CC" return 0 @@ -152,9 +158,7 @@ if check_c_compiler "$COMP"; then TOOLCHAIN_CC=$COMP "$TEMP_DIR/checkcc" > "$TEMP_DIR/checkcc_out" - TOOLCHAIN=`grep '^toolchain:' "$TEMP_DIR/checkcc_out" | tail -c +11` - TOOLCHAIN_NAME=`echo "$TOOLCHAIN" | cut -f1 -d' ' -` - TOOLCHAIN_WSIZE=`grep '^wsize:' "$TEMP_DIR/checkcc_out" | tail -c +7` + parse_toolchain_properties "$TEMP_DIR/checkcc_out" TOOLCHAIN_CSTD=`grep '^stdcversion:' "$TEMP_DIR/checkcc_out" | tail -c +13` echo "$COMP" return 0 @@ -176,8 +180,7 @@ if check_cpp_compiler "$CXX"; then TOOLCHAIN_CXX=$CXX "$TEMP_DIR/checkcc" > "$TEMP_DIR/checkcc_out" - TOOLCHAIN=`grep '^toolchain:' "$TEMP_DIR/checkcc_out" | tail -c +11` - TOOLCHAIN_NAME=`echo "$TOOLCHAIN" | cut -f1 -d' ' -` + parse_toolchain_properties "$TEMP_DIR/checkcc_out" echo "$CXX" return 0 else @@ -190,8 +193,7 @@ if check_cpp_compiler "$COMP"; then TOOLCHAIN_CXX=$COMP "$TEMP_DIR/checkcc" > "$TEMP_DIR/checkcc_out" - TOOLCHAIN=`grep '^toolchain:' "$TEMP_DIR/checkcc_out" | tail -c +11` - TOOLCHAIN_NAME=`echo "$TOOLCHAIN" | cut -f1 -d' ' -` + parse_toolchain_properties "$TEMP_DIR/checkcc_out" echo "$COMP" return 0 fi
--- a/ucx/Makefile Thu Jun 05 19:29:04 2025 +0200 +++ b/ucx/Makefile Fri Jun 06 12:31:09 2025 +0200 @@ -50,15 +50,19 @@ OBJ = $(SRC:%.c=../build/ucx/%$(OBJ_EXT)) UCX_LIB = ../build/lib/$(LIB_PREFIX)ucx$(LIB_EXT) +UCX_SHLIB = ../build/lib/$(LIB_PREFIX)ucx$(SHLIB_EXT) -all: ../build/ucx $(UCX_LIB) +all: $(UCX_LIB) $(UCX_SHLIB) $(UCX_LIB): $(OBJ) - $(AR) $(ARFLAGS) $(UCX_LIB) $(OBJ) + $(AR) $(ARFLAGS) $@ $(OBJ) + +$(UCX_SHLIB): $(OBJ) + $(CC) -o $@ $(LDFLAGS) $(SHLIB_LDFLAGS) $(OBJ) ../build/ucx: mkdir -p ../build/ucx ../build/ucx/%$(OBJ_EXT): %.c - $(CC) $(CFLAGS) -o $@ -c $< + $(CC) $(CFLAGS) $(SHLIB_CFLAGS) -o $@ -c $<
--- a/ui/Makefile Thu Jun 05 19:29:04 2025 +0200 +++ b/ui/Makefile Fri Jun 06 12:31:09 2025 +0200 @@ -34,14 +34,15 @@ include common/objs.mk UI_LIB = ../build/lib/$(LIB_PREFIX)uitk$(LIB_EXT) +UI_SHLIB = ../build/lib/$(LIB_PREFIX)uitk$(SHLIB_EXT) include $(TOOLKIT)/objs.mk OBJ = $(TOOLKITOBJS) $(COMMONOBJS) -all: $(UI_LIB) +all: $(UI_LIB) $(UI_SHLIB) include $(TOOLKIT)/Makefile $(COMMON_OBJPRE)uic_%$(OBJ_EXT): common/%.c - $(CC) -o $@ -c -I../ucx/ $(CFLAGS) $(TK_CFLAGS) $< + $(CC) -o $@ -c -I../ucx/ $(CFLAGS) $(SHLIB_CFLAGS) $(TK_CFLAGS) $<
--- a/ui/cocoa/Makefile Thu Jun 05 19:29:04 2025 +0200 +++ b/ui/cocoa/Makefile Fri Jun 06 12:31:09 2025 +0200 @@ -27,8 +27,10 @@ # $(COCOA_OBJPRE)%.o: cocoa/%.m - $(CC) -o $@ -c -I../ucx -fobjc-arc $(CFLAGS) $(TK_CFLAGS) $< + $(CC) -o $@ -c -I../ucx -fobjc-arc $(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
--- a/ui/common/objs.mk Thu Jun 05 19:29:04 2025 +0200 +++ b/ui/common/objs.mk Fri Jun 06 12:31:09 2025 +0200 @@ -33,7 +33,6 @@ COMMON_OBJ += document$(OBJ_EXT) COMMON_OBJ += object$(OBJ_EXT) COMMON_OBJ += types$(OBJ_EXT) -COMMON_OBJ += menu$(OBJ_EXT) COMMON_OBJ += properties$(OBJ_EXT) COMMON_OBJ += menu$(OBJ_EXT) COMMON_OBJ += toolbar$(OBJ_EXT)
--- a/ui/gtk/Makefile Thu Jun 05 19:29:04 2025 +0200 +++ b/ui/gtk/Makefile Fri Jun 06 12:31:09 2025 +0200 @@ -27,8 +27,10 @@ # $(GTK_OBJPRE)%.o: gtk/%.c - $(CC) -o $@ -c -I../ucx $(CFLAGS) $(TK_CFLAGS) $< + $(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
--- a/ui/motif/Makefile Thu Jun 05 19:29:04 2025 +0200 +++ b/ui/motif/Makefile Fri Jun 06 12:31:09 2025 +0200 @@ -27,7 +27,10 @@ # $(MOTIF_OBJPRE)%.o: motif/%.c - $(CC) -o $@ -c -I../ucx $(CFLAGS) $(TK_CFLAGS) $< + $(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