X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=mk-1st.awk;h=30638c352175e8f3967ea52307cedf3a2cebc55b;hp=d30391b1a5acec028aefcd0bd90bd3b736a4c92e;hb=95bcbd4bb8e933c86e6fc4aba9ea1c7fd3d30e3d;hpb=f259fb41d8f08b7e042eb928b839b59c8e39098c diff --git a/mk-1st.awk b/mk-1st.awk index d30391b1..30638c35 100644 --- a/mk-1st.awk +++ b/mk-1st.awk @@ -1,4 +1,4 @@ -# $Id: mk-1st.awk,v 1.114 2021/07/03 20:05:20 tom Exp $ +# $Id: mk-1st.awk,v 1.124 2021/10/15 00:50:05 tom Exp $ ############################################################################## # Copyright 2018-2020,2021 Thomas E. Dickey # # Copyright 1998-2016,2017 Free Software Foundation, Inc. # @@ -37,6 +37,7 @@ # MODEL (e.g., "DEBUG", uppercase; toupper is not portable) # CXX_MODEL (e.g., "DEBUG", uppercase) # LIB_SUFFIX (e.g., "", "w", "t", "tw") +# USE_LIB_SUFFIX (e.g., "", "w", "t", "tw") # model (directory into which we compile, e.g., "obj") # prefix (e.g., "lib", for Unix-style libraries) # suffix (e.g., "_g.a", for debug libraries) @@ -61,7 +62,7 @@ # Notes: # CLIXs nawk does not like underscores in command-line variable names. # Mixed-case variable names are ok. -# HP/UX requires shared libraries to have executable permissions. +# HP-UX requires shared libraries to have executable permissions. # function is_ticlib() { return ( subset ~ /^ticlib$/ ); @@ -268,6 +269,15 @@ function in_subset(value) { check = " " check " "; return index(check,value); } +function trim_suffix(value) { + if (USE_LIB_SUFFIX != "" && length(value) > length(USE_LIB_SUFFIX)) { + check = substr(value, 1 + length(value) - length(USE_LIB_SUFFIX)); + if (check == USE_LIB_SUFFIX) { + value = substr(value, 1, length(value) - length(USE_LIB_SUFFIX)); + } + } + return value; +} BEGIN { TOOL_PREFIX = ""; found = 0; @@ -298,6 +308,7 @@ BEGIN { printf "# MODEL: %s\n", MODEL printf "# CXX_MODEL: %s\n", CXX_MODEL printf "# LIB_SUFFIX: %s\n", LIB_SUFFIX + printf "# USE_LIB_SUFFIX: %s\n", USE_LIB_SUFFIX printf "# model: %s\n", model printf "# prefix: %s\n", prefix printf "# suffix: %s\n", suffix @@ -465,7 +476,15 @@ END { else if ( MODEL == "LIBTOOL" ) { end_name = lib_name; - printf "../lib/%s : $(%s_OBJS)\n", lib_name, OBJS + use_name = trim_suffix(TermlibRoot) USE_LIB_SUFFIX + printf "../lib/%s : \\\n", lib_name + if ( (name != use_name ) && ( index(name, "++") == 0 ) && ( index(name, "tic") == 1 || index(name, "ncurses") == 1 ) ) { + printf "\t\t../lib/lib%s.la \\\n", use_name; + if ( index(name, "tic") == 1 && index(TermlibRoot, "ncurses") != 1 ) { + printf "\t\t../lib/lib%s%s.la \\\n", "ncurses", USE_LIB_SUFFIX; + } + } + printf "\t\t$(%s_OBJS)\n", OBJS if ( is_ticlib() ) { which_list = "TICS_LIST"; } else if ( is_termlib() ) { @@ -479,17 +498,20 @@ END { printf "\t\t%s $(NCURSES_MAJOR):$(NCURSES_MINOR) $(LT_UNDEF) $(%s) $(LDFLAGS)\n", libtool_version, which_list; if ( make_phony == "yes" ) { print "" - printf ".PHONY :\tinstall.%s\n", name; + printf ".PHONY :\tinstall.%s\n", trim_suffix(name); } print "" print "install \\" print "install.libs \\" - printf "install.%s :: \\\n", name; + printf "install.%s :: \\\n", trim_suffix(name); printf "\t\t$(DESTDIR)$(libdir) \\\n"; - if ( (name != TermlibRoot ) && ( index(name, "++") == 0 ) && ( index(name, "tic") == 1 || index(name, "ncurses") == 1 ) ) { - printf "\t\tinstall.%s \\\n", TermlibRoot; - if ( index(name, "tic") == 1 && index(TermlibRoot, "ncurses") != 1 ) { - printf "\t\tinstall.%s%s \\\n", "ncurses", LIB_SUFFIX; + use_name = TermlibRoot USE_LIB_SUFFIX + if ( (name != use_name ) && ( index(name, "++") == 0 ) && ( index(name, "tic") == 1 || index(name, "ncurses") == 1 ) ) { + if ( trim_suffix(TermlibRoot) != trim_suffix(name) ) { + printf "\t\tinstall.%s \\\n", trim_suffix(TermlibRoot); + } + if ( index(name, "tic") == 1 && index(TermlibRoot, "ncurses") != 1 && trim_suffix(name) != "ncurses" ) { + printf "\t\tinstall.%s \\\n", "ncurses"; } } printf "\t\t../lib/%s\n", lib_name @@ -498,7 +520,7 @@ END { print "" print "uninstall \\" print "uninstall.libs \\" - printf "uninstall.%s ::\n", name + printf "uninstall.%s ::\n", trim_suffix(name) printf "\t@echo uninstalling $(DESTDIR)$(libdir)/%s\n", lib_name printf "\t-@$(LIBTOOL_UNINSTALL) rm -f $(DESTDIR)$(libdir)/%s\n", lib_name }