]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - mk-1st.awk
ncurses 5.0
[ncurses.git] / mk-1st.awk
index c35933bdb23a6153ea1c75980356505f520a5a76..e22d414fbd17d8cc698f04b4fb677c5197846fd9 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: mk-1st.awk,v 1.35 1998/02/11 12:13:53 tom Exp $
+# $Id: mk-1st.awk,v 1.39 1998/05/09 21:54:02 tom Exp $
 ##############################################################################
 # Copyright (c) 1998 Free Software Foundation, Inc.                          #
 #                                                                            #
@@ -39,7 +39,7 @@
 #      depend (optional dependencies for all objects, e.g, ncurses_cfg.h)
 #      subset ("none", "base", "base+ext_funcs" or "termlib")
 #      target (cross-compile target, if any)
-#      DoLinks ("yes" or "no", flag to add symbolic links)
+#      DoLinks ("yes", "reverse" or "no", flag to add symbolic links)
 #      rmSoLocs ("yes" or "no", flag to add extra clean target)
 #      overwrite ("yes" or "no", flag to add link to libcurses.a
 #
 #
 function symlink(src,dst) {
                if ( src != dst ) {
-                       printf "rm -f %s; ", dst
-                       printf "$(LN_S) %s %s; ", src, dst
+                       if ( DoLinks == "reverse" ) {
+                               printf "rm -f %s; ", src
+                               printf "$(LN_S) %s %s; ", dst, src
+                       } else {
+                               printf "rm -f %s; ", dst
+                               printf "$(LN_S) %s %s; ", src, dst
+                       }
                }
        }
 function sharedlinks(directory, add) {
                if ( end_name != lib_name ) {
-                       abi_name = sprintf("%s.$(ABI_VERSION)", lib_name);
+                       if ( DoLinks == "yes" ) {
+                               abi_name = sprintf("%s.$(ABI_VERSION)", lib_name);
+                       } else {
+                               abi_name = end_name;
+                       }
                        if (add) {
                                printf "\tcd %s && (", directory
-                               symlink(end_name, abi_name);
+                               if ( abi_name != end_name ) {
+                                       symlink(end_name, abi_name);
+                               }
                                symlink(abi_name, lib_name);
                                printf ")\n"
                        } else {
-                               printf "\t-@rm -f %s/%s\n", directory, abi_name
+                               if ( abi_name != end_name ) {
+                                       printf "\t-@rm -f %s/%s\n", directory, abi_name
+                               }
                                printf "\t-@rm -f %s/%s\n", directory, lib_name
                        }
                }
        }
 function removelinks() {
                if ( end_name != lib_name ) {
-                       printf "\trm -f ../lib/%s ../lib/%s\n", abi_name, end_name
-               }
-       }
-function installed_name() {
-               if ( DO_LINKS == "yes" ) {
-                       return sprintf("%s.$(REL_VERSION)", lib_name);
-               } else {
-                       return lib_name;
+                       if ( abi_name != end_name ) {
+                               printf "\t-rm -f ../lib/%s\n", abi_name
+                       }
+                       printf "\t-rm -f ../lib/%s\n", end_name
                }
        }
 BEGIN  {
@@ -137,12 +146,20 @@ END       {
                        {
                                if ( DoLinks == "yes" ) {
                                        end_name = sprintf("%s.$(REL_VERSION)", lib_name);
+                               } else if ( DoLinks == "reverse") {
+                                       tmp_name = sprintf("%s.$(ABI_VERSION)", lib_name);
+                                       end_name = lib_name;
+                                       lib_name = tmp_name;
                                } else {
                                        end_name = lib_name;
                                }
                                printf "../lib/%s : $(%s_OBJS)\n", lib_name, OBJS
                                print  "\t-@rm -f $@"
-                               printf "\t$(MK_SHARED_LIB) $(%s_OBJS)\n", OBJS
+                               if ( subset == "termlib") {
+                                       printf "\t$(MK_SHARED_LIB) $(%s_OBJS) $(TINFO_LIST)\n", OBJS
+                               } else {
+                                       printf "\t$(MK_SHARED_LIB) $(%s_OBJS) $(SHLIB_LIST)\n", OBJS
+                               }
                                sharedlinks("../lib", 1)
                                print  ""
                                if ( end_name != lib_name ) {
@@ -153,15 +170,19 @@ END       {
                                print  "install.libs \\"
                                printf "install.%s :: $(INSTALL_PREFIX)$(libdir) ../lib/%s\n", name, end_name
                                printf "\t@echo installing ../lib/%s as $(INSTALL_PREFIX)$(libdir)/%s \n", lib_name, end_name
-                               printf "\t-@rm -f $(INSTALL_PREFIX)$(libdir)/%s \n", end_name
-                               printf "\t$(INSTALL_LIB) ../lib/%s $(INSTALL_PREFIX)$(libdir)/%s \n", lib_name, end_name
+                               if ( DoLinks == "reverse") {
+                                       printf "\t-@rm -f $(INSTALL_PREFIX)$(libdir)/%s \n", lib_name
+                                       printf "\t$(INSTALL_LIB) ../lib/%s $(INSTALL_PREFIX)$(libdir)/%s \n", lib_name, lib_name
+                               } else {
+                                       printf "\t-@rm -f $(INSTALL_PREFIX)$(libdir)/%s \n", end_name
+                                       printf "\t$(INSTALL_LIB) ../lib/%s $(INSTALL_PREFIX)$(libdir)/%s \n", lib_name, end_name
+                               }
                                sharedlinks("$(INSTALL_PREFIX)$(libdir)", 1)
                                if ( overwrite == "yes" && name == "ncurses" )
                                {
                                        ovr_name = sprintf("libcurses%s", suffix)
-                                       printf "\t@echo linking %s to %s\n", ovr_name, lib_name
-                                       printf "\t-@rm -f $(INSTALL_PREFIX)$(libdir)/%s \n", ovr_name
-                                       printf "\t(cd $(INSTALL_PREFIX)$(libdir) && $(LN_S) %s %s)\n", lib_name, ovr_name
+                                       printf "\t@echo linking %s to %s\n", lib_name, ovr_name
+                                       printf "\tcd $(INSTALL_PREFIX)$(libdir) && (rm -f %s; $(LN_S) %s %s; )\n", ovr_name, lib_name, ovr_name
                                }
                                if ( ldconfig != "" ) {
                                        printf "\t- test -z \"$(INSTALL_PREFIX)\" && %s\n", ldconfig
@@ -232,22 +253,21 @@ END       {
                        }
                        print ""
                        print "clean ::"
-                       printf "\trm -f ../lib/%s\n", lib_name
+                       printf "\t-rm -f ../lib/%s\n", lib_name
                        print ""
                        print "mostlyclean::"
-                       printf "\trm -f $(%s_OBJS)\n", OBJS
+                       printf "\t-rm -f $(%s_OBJS)\n", OBJS
                        print ""
                        print "clean ::"
-                       printf "\trm -f $(%s_OBJS)\n", OBJS
                        removelinks();
                }
                else if ( found == 2 )
                {
                        print ""
                        print "mostlyclean::"
-                       printf "\trm -f $(%s_OBJS)\n", OBJS
+                       printf "\t-rm -f $(%s_OBJS)\n", OBJS
                        print ""
                        print "clean ::"
-                       printf "\trm -f $(%s_OBJS)\n", OBJS
+                       printf "\t-rm -f $(%s_OBJS)\n", OBJS
                }
        }