+function shlib_build(directory) {
+ dst_libs = sprintf("%s/%s", directory, end_name);
+ printf "%s : \\\n", dst_libs
+ printf "\t\t%s \\\n", directory
+ if (subset ~ /^base/ || subset == "ticlib" ) {
+ save_suffix = suffix
+ sub(/^[^.]\./,".",suffix)
+ if (directory != "../lib") {
+ printf "\t\t%s/%s \\\n", "../lib", end_name_of(TermlibRoot);
+ }
+ printf "\t\t%s/%s \\\n", directory, end_name_of(TermlibRoot);
+ suffix = save_suffix
+ }
+ printf "\t\t$(%s_OBJS)\n", OBJS
+ printf "\t@echo linking $@\n"
+ print "\t-@rm -f %s", dst_libs;
+ if ( is_ticlib() ) {
+ make_shlib(OBJS, "TICS_LIST")
+ } else if ( is_termlib() ) {
+ make_shlib(OBJS, "TINFO_LIST")
+ } else {
+ make_shlib(OBJS, "SHLIB_LIST")
+ }
+ sharedlinks(directory)
+ }
+function shlib_install(directory) {
+ src_lib1 = sprintf("../lib/%s", end_name);
+ dst_lib1 = sprintf("%s/%s", directory, end_name);
+ printf "%s : \\\n", dst_libs
+ printf "\t\t%s \\\n", directory
+ printf "\t\t%s\n", src_libs
+ printf "\t@echo installing $@\n"
+ print "\t-@rm -f %s", dst_libs;
+ printf "\t$(INSTALL_LIB) %s %s\n", src_lib1, dst_lib1;
+ if ( src_lib2 != "" ) {
+ printf "\t$(INSTALL_LIB) %s %s\n", src_lib2, dst_lib2;
+ }
+ sharedlinks(directory)
+ }
+function install_dll(directory,filename) {
+ src_name = sprintf("../lib/%s", filename);
+ dst_name = sprintf("$(DESTDIR)%s/%s", directory, filename);
+ printf "\t@echo installing %s as %s\n", src_name, dst_name
+ printf "\t-@rm -f %s\n", dst_name
+ if ( directory == "$(bindir)" ) {
+ program = "$(INSTALL) -m 755";
+ } else {
+ program = "$(INSTALL_LIB)";
+ }
+ printf "\t%s %s %s\n", program, src_name, dst_name
+ }