-# $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. #
# #
# 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 {
{
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 ) {
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
}
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
}
}