diff --git a/ANNOUNCE b/ANNOUNCE
index 4cb6c64..e5d44da 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.2.9beta10 - March 20, 2006
+Libpng 1.2.9beta11 - March 22, 2006
 
 This is not intended to be a public release.  It will be replaced
 within a few weeks by a public version or by another test version.
@@ -9,26 +9,26 @@
 Source files with LF line endings (for Unix/Linux) and with a
 "configure" script
 
-   1.2.9beta10.tar.gz
-   1.2.9beta10.tar.bz2
+   1.2.9beta11.tar.gz
+   1.2.9beta11.tar.bz2
 
 Source files with CRLF line endings (for Windows), without the
 "configure" script
 
-   lp129b10.zip
-   lp129b10.tar.bz2
+   lp129b11.zip
+   lp129b11.tar.bz2
 
 Project files
 
-   1.2.9beta10-project-netware.zip
-   1.2.9beta10-project-wince.zip
+   1.2.9beta11-project-netware.zip
+   1.2.9beta11-project-wince.zip
 
 Other information:
 
-   1.2.9beta10-README.txt
-   1.2.9beta10-KNOWNBUGS.txt
-   1.2.9beta10-LICENSE.txt
-   1.2.9beta10-Y2K-compliance.txt
+   1.2.9beta11-README.txt
+   1.2.9beta11-KNOWNBUGS.txt
+   1.2.9beta11-LICENSE.txt
+   1.2.9beta11-Y2K-compliance.txt
 
 Changes since the last public release (1.2.8):
 
@@ -132,6 +132,10 @@
   Added makefile.mingw (Wolfgang Glas)
   Revised pngconf.h MMX checking.
 
+version 1.2.9beta11 [March 22, 2006]
+  Fixed out-of-order declaration in pngwrite.c that was introduced in beta9
+  Simplified some makefiles by using LIBSO, LIBSOMAJ, and LIBSOVER macros.
+
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 (subscription required; visit 
 https://lists.sourceforge.net/lists/listinfo/png-mng-implement
diff --git a/CHANGES b/CHANGES
index 31289b2..5e9101b 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1511,6 +1511,10 @@
   Added makefile.mingw (Wolfgang Glas).
   Revised pngconf.h MMX checking.
 
+version 1.2.9beta11 [March 22, 2006]
+  Fixed out-of-order declaration in pngwrite.c that was introduced in beta9
+  Simplified some makefiles by using LIBSO, LIBSOMAJ, and LIBSOVER macros.
+
 version 1.4.0beta1 [future]
   Enabled iTXt support (changes png_struct, thus requires so-number change).
   Removed deprecated functions png_read_init, png_write_init, png_info_init,
diff --git a/INSTALL b/INSTALL
index a0963f9..88dcfa0 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.2.9beta10 - March 20, 2006
+Installing libpng version 1.2.9beta11 - March 22, 2006
 
 On Unix/Linux and similar systems, you can simply type
 
@@ -29,7 +29,7 @@
 correspond to the version of zlib that's installed.
 
 You can rename the directories that you downloaded (they
-might be called "libpng-1.2.9beta10" or "lpng109" and "zlib-1.2.1"
+might be called "libpng-1.2.9beta11" or "lpng109" and "zlib-1.2.1"
 or "zlib121") so that you have directories called "zlib" and "libpng".
 
 Your directory structure should look like this:
@@ -85,11 +85,11 @@
 
  makefile.std      =>  Generic UNIX makefile (cc, creates static libpng.a)
  makefile.elf      =>  Linux/ELF makefile symbol versioning,
-                       gcc, creates libpng12.so.0.1.2.9beta10)
+                       gcc, creates libpng12.so.0.1.2.9beta11)
  makefile.linux    =>  Linux/ELF makefile
-                       (gcc, creates libpng12.so.0.1.2.9beta10)
+                       (gcc, creates libpng12.so.0.1.2.9beta11)
  makefile.gcmmx    =>  Linux/ELF makefile
-                       (gcc, creates libpng12.so.0.1.2.9beta10,
+                       (gcc, creates libpng12.so.0.1.2.9beta11,
                        uses assembler code tuned for Intel MMX platform)
  makefile.gcc      =>  Generic makefile (gcc, creates static libpng.a)
  makefile.knr      =>  Archaic UNIX Makefile that converts files with
@@ -112,12 +112,12 @@
  makefile.openbsd  =>  OpenBSD makefile
  makefile.sgi      =>  Silicon Graphics IRIX makefile (cc, creates static lib)
  makefile.sggcc    =>  Silicon Graphics (gcc,
-                       creates libpng12.so.0.1.2.9beta10)
+                       creates libpng12.so.0.1.2.9beta11)
  makefile.sunos    =>  Sun makefile
  makefile.solaris  =>  Solaris 2.X makefile (gcc,
-                       creates libpng12.so.0.1.2.9beta10)
+                       creates libpng12.so.0.1.2.9beta11)
  makefile.so9      =>  Solaris 9 makefile (gcc,
-                       creates libpng12.so.0.1.2.9beta10)
+                       creates libpng12.so.0.1.2.9beta11)
  makefile.32sunu   =>  Sun Ultra 32-bit makefile
  makefile.64sunu   =>  Sun Ultra 64-bit makefile
  makefile.sco      =>  For SCO OSr5  ELF and Unixware 7 with Native cc
diff --git a/KNOWNBUG b/KNOWNBUG
index 35a2146..bce6714 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -1,5 +1,5 @@
 
-Known bugs in libpng version 1.2.9beta10
+Known bugs in libpng version 1.2.9beta11
 
 1. April 22, 2001: pnggccrd.c has been reported to crash on NetBSD when
    reading interlaced PNG files, when assembler code is enabled but running
diff --git a/LICENSE b/LICENSE
index 50b3321..915251a 100644
--- a/LICENSE
+++ b/LICENSE
@@ -8,7 +8,7 @@
 If you modify libpng you may insert additional notices immediately following
 this sentence.
 
-libpng versions 1.2.6, August 15, 2004, through 1.2.9beta10, March 20, 2006, are
+libpng versions 1.2.6, August 15, 2004, through 1.2.9beta11, March 22, 2006, are
 Copyright (c) 2004, 2006 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.2.5
 with the following individual added to the list of Contributing Authors
@@ -106,4 +106,4 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-March 20, 2006
+March 22, 2006
diff --git a/README b/README
index a2f5bd0..0a25616 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.2.9beta10 - March 20, 2006 (shared library 12.0)
+README for libpng version 1.2.9beta11 - March 22, 2006 (shared library 12.0)
 See the note about version numbers near the top of png.h
 
 See INSTALL for instructions on how to install libpng.
@@ -190,11 +190,11 @@
        descrip.mms      =>  VMS makefile for MMS or MMK
        makefile.std     =>  Generic UNIX makefile (cc, creates static libpng.a)
        makefile.elf     =>  Linux/ELF makefile symbol versioning,
-                            gcc, creates libpng12.so.0.1.2.9beta10)
+                            gcc, creates libpng12.so.0.1.2.9beta11)
        makefile.linux   =>  Linux/ELF makefile
-                            (gcc, creates libpng12.so.0.1.2.9beta10)
+                            (gcc, creates libpng12.so.0.1.2.9beta11)
        makefile.gcmmx   =>  Linux/ELF makefile
-                            (gcc, creates libpng12.so.0.1.2.9beta10,
+                            (gcc, creates libpng12.so.0.1.2.9beta11,
                             uses assembler code tuned for Intel MMX platform)
        makefile.gcc     =>  Generic makefile (gcc, creates static libpng.a)
        makefile.knr     =>  Archaic UNIX Makefile that converts files with
@@ -216,12 +216,12 @@
        makefile.openbsd =>  OpenBSD makefile
        makefile.sgi     =>  Silicon Graphics IRIX (cc, creates static lib)
        makefile.sggcc   =>  Silicon Graphics
-                            (gcc, creates libpng12.so.0.1.2.9beta10)
+                            (gcc, creates libpng12.so.0.1.2.9beta11)
        makefile.sunos   =>  Sun makefile
        makefile.solaris =>  Solaris 2.X makefile
-                            (gcc, creates libpng12.so.0.1.2.9beta10)
+                            (gcc, creates libpng12.so.0.1.2.9beta11)
        makefile.so9     =>  Solaris 9 makefile
-                            (gcc, creates libpng12.so.0.1.2.9beta10)
+                            (gcc, creates libpng12.so.0.1.2.9beta11)
        makefile.32sunu  =>  Sun Ultra 32-bit makefile
        makefile.64sunu  =>  Sun Ultra 64-bit makefile
        makefile.sco     =>  For SCO OSr5  ELF and Unixware 7 with Native cc
diff --git a/Y2KINFO b/Y2KINFO
index b88e6f1..fd68751 100644
--- a/Y2KINFO
+++ b/Y2KINFO
@@ -1,13 +1,13 @@
    Y2K compliance in libpng:
    =========================
 
-      March 20, 2006
+      March 22, 2006
 
       Since the PNG Development group is an ad-hoc body, we can't make
       an official declaration.
 
       This is your unofficial assurance that libpng from version 0.71 and
-      upward through 1.2.9beta10 are Y2K compliant.  It is my belief that earlier
+      upward through 1.2.9beta11 are Y2K compliant.  It is my belief that earlier
       versions were also Y2K compliant.
 
       Libpng only has three year fields.  One is a 2-byte unsigned integer
diff --git a/configure b/configure
index 314e5d7..7701f37 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for libpng 1.2.9beta10.
+# Generated by GNU Autoconf 2.59 for libpng 1.2.9beta11.
 #
 # Report bugs to <png-mng-implement@lists.sourceforge.net>.
 #
@@ -423,8 +423,8 @@
 # Identity of this package.
 PACKAGE_NAME='libpng'
 PACKAGE_TARNAME='libpng'
-PACKAGE_VERSION='1.2.9beta10'
-PACKAGE_STRING='libpng 1.2.9beta10'
+PACKAGE_VERSION='1.2.9beta11'
+PACKAGE_STRING='libpng 1.2.9beta11'
 PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
 
 ac_unique_file="pngget.c"
@@ -954,7 +954,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libpng 1.2.9beta10 to adapt to many kinds of systems.
+\`configure' configures libpng 1.2.9beta11 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1020,7 +1020,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libpng 1.2.9beta10:";;
+     short | recursive ) echo "Configuration of libpng 1.2.9beta11:";;
    esac
   cat <<\_ACEOF
 
@@ -1167,7 +1167,7 @@
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-libpng configure 1.2.9beta10
+libpng configure 1.2.9beta11
 generated by GNU Autoconf 2.59
 
 Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1181,7 +1181,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libpng $as_me 1.2.9beta10, which was
+It was created by libpng $as_me 1.2.9beta11, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   $ $0 $@
@@ -1824,7 +1824,7 @@
 
 # Define the identity of the package.
  PACKAGE='libpng'
- VERSION='1.2.9beta10'
+ VERSION='1.2.9beta11'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -1979,7 +1979,7 @@
 
 
 
-PNGLIB_VERSION=1.2.9beta10
+PNGLIB_VERSION=1.2.9beta11
 PNGLIB_MAJOR=12
 PNGLIB_MINOR=9
 
@@ -20833,7 +20833,7 @@
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by libpng $as_me 1.2.9beta10, which was
+This file was extended by libpng $as_me 1.2.9beta11, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -20896,7 +20896,7 @@
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-libpng config.status 1.2.9beta10
+libpng config.status 1.2.9beta11
 configured by $0, generated by GNU Autoconf 2.59,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 
diff --git a/configure.ac b/configure.ac
index e46fc5e..36736a5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,12 +18,12 @@
 
 dnl Version number stuff here:
 
-AC_INIT([libpng], [1.2.9beta10], [png-mng-implement@lists.sourceforge.net])
+AC_INIT([libpng], [1.2.9beta11], [png-mng-implement@lists.sourceforge.net])
 AM_INIT_AUTOMAKE
 dnl stop configure from automagically running automake
 AM_MAINTAINER_MODE
 
-PNGLIB_VERSION=1.2.9beta10
+PNGLIB_VERSION=1.2.9beta11
 PNGLIB_MAJOR=12
 PNGLIB_MINOR=9
 
diff --git a/libpng.3 b/libpng.3
index ae95467..cf3140b 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "March 20, 2006"
+.TH LIBPNG 3 "March 22, 2006"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.9beta10
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.9beta11
 .SH SYNOPSIS
 \fI\fB
 
@@ -821,7 +821,7 @@
 .SH LIBPNG.TXT
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.2.9beta10 - March 20, 2006
+ libpng version 1.2.9beta11 - March 22, 2006
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2005 Glenn Randers-Pehrson
@@ -3730,13 +3730,13 @@
 
 .SH IX. Y2K Compliance in libpng
 
-March 20, 2006
+March 22, 2006
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
 
 This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.2.9beta10 are Y2K compliant.  It is my belief that earlier
+upward through 1.2.9beta11 are Y2K compliant.  It is my belief that earlier
 versions were also Y2K compliant.
 
 Libpng only has three year fields.  One is a 2-byte unsigned integer that
@@ -3890,7 +3890,7 @@
  1.0.18              10    10018  12.so.0.1.0.18
  1.2.8               13    10208  12.so.0.1.2.8
  1.2.9beta1-3        13    10209  12.so.0.1.2.9beta1-3
- 1.2.9beta4-10       13    10209  12.so.0.9[.0]
+ 1.2.9beta4-11       13    10209  12.so.0.9[.0]
 
 Henceforth the source version will match the shared-library minor
 and patch numbers; the shared-library major version number will be
@@ -3946,7 +3946,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.2.9beta10 - March 20, 2006:
+Libpng version 1.2.9beta11 - March 22, 2006:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
 
@@ -3967,7 +3967,7 @@
 If you modify libpng you may insert additional notices immediately following
 this sentence.
 
-libpng versions 1.2.6, August 15, 2004, through 1.2.9beta10, March 20, 2006, are
+libpng versions 1.2.6, August 15, 2004, through 1.2.9beta11, March 22, 2006, are
 Copyright (c) 2004-2006 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.2.5
 with the following individual added to the list of Contributing Authors
@@ -4066,7 +4066,7 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-March 20, 2006
+March 22, 2006
 
 .\" end of man page
 
diff --git a/libpng.txt b/libpng.txt
index c247627..756e82b 100644
--- a/libpng.txt
+++ b/libpng.txt
@@ -1,6 +1,6 @@
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.2.9beta10 - March 20, 2006
+ libpng version 1.2.9beta11 - March 22, 2006
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2005 Glenn Randers-Pehrson
@@ -2909,13 +2909,13 @@
 
 IX. Y2K Compliance in libpng
 
-March 20, 2006
+March 22, 2006
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
 
 This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.2.9beta10 are Y2K compliant.  It is my belief that earlier
+upward through 1.2.9beta11 are Y2K compliant.  It is my belief that earlier
 versions were also Y2K compliant.
 
 Libpng only has three year fields.  One is a 2-byte unsigned integer that
diff --git a/libpngpf.3 b/libpngpf.3
index e9f1374..994c55f 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "March 20, 2006"
+.TH LIBPNGPF 3 "March 22, 2006"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.9beta10
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.9beta11
 (private functions)
 .SH SYNOPSIS
 \fB#include <png.h>\fP
diff --git a/png.5 b/png.5
index 197b5c8..3e113aa 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "March 20, 2006"
+.TH PNG 5 "March 22, 2006"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index dfcaf45..9fc333d 100644
--- a/png.c
+++ b/png.c
@@ -1,7 +1,7 @@
 
 /* png.c - location for general purpose libpng functions
  *
- * Last changed in libpng 1.2.9 March 20, 2006
+ * Last changed in libpng 1.2.9 March 22, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2006 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -13,7 +13,7 @@
 #include "png.h"
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_2_9beta10 Your_png_h_is_not_version_1_2_9beta10;
+typedef version_1_2_9beta11 Your_png_h_is_not_version_1_2_9beta11;
 
 /* Version information for C files.  This had better match the version
  * string defined in png.h.  */
@@ -693,7 +693,7 @@
 png_get_copyright(png_structp png_ptr)
 {
    if (&png_ptr != NULL)  /* silence compiler warning about unused png_ptr */
-   return ((png_charp) "\n libpng version 1.2.9beta10 - March 20, 2006\n\
+   return ((png_charp) "\n libpng version 1.2.9beta11 - March 22, 2006\n\
    Copyright (c) 1998-2006 Glenn Randers-Pehrson\n\
    Copyright (c) 1996-1997 Andreas Dilger\n\
    Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.\n");
diff --git a/png.h b/png.h
index 635ad4f..11417ff 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.2.9beta10 - March 20, 2006
+ * libpng version 1.2.9beta11 - March 22, 2006
  * Copyright (c) 1998-2006 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -9,7 +9,7 @@
  * Authors and maintainers:
  *  libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
  *  libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
- *  libpng versions 0.97, January 1998, through 1.2.9beta10 - March 20, 2006: Glenn
+ *  libpng versions 0.97, January 1998, through 1.2.9beta11 - March 22, 2006: Glenn
  *  See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -113,7 +113,7 @@
  *    1.0.18                  10    10018  12.so.0.1.0.18
  *    1.2.8                   13    10208  12.so.0.1.2.8
  *    1.2.9beta1-3            13    10209  12.so.0.1.2.9beta1-3
- *    1.2.9beta4-10           13    10209  12.so.0.9[.0]
+ *    1.2.9beta4-11           13    10209  12.so.0.9[.0]
  *
  *    Henceforth the source version will match the shared-library major
  *    and minor numbers; the shared-library major version number will be
@@ -143,7 +143,7 @@
  * If you modify libpng you may insert additional notices immediately following
  * this sentence.
  *
- * libpng versions 1.2.6, August 15, 2004, through 1.2.9beta10, March 20, 2006, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.2.9beta11, March 22, 2006, are
  * Copyright (c) 2004, 2006 Glenn Randers-Pehrson, and are
  * distributed according to the same disclaimer and license as libpng-1.2.5
  * with the following individual added to the list of Contributing Authors:
@@ -255,13 +255,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    March 20, 2006
+ *    March 22, 2006
  *
  *    Since the PNG Development group is an ad-hoc body, we can't make
  *    an official declaration.
  *
  *    This is your unofficial assurance that libpng from version 0.71 and
- *    upward through 1.2.9beta10 are Y2K compliant.  It is my belief that earlier
+ *    upward through 1.2.9beta11 are Y2K compliant.  It is my belief that earlier
  *    versions were also Y2K compliant.
  *
  *    Libpng only has three year fields.  One is a 2-byte unsigned integer
@@ -317,9 +317,9 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.2.9beta10"
+#define PNG_LIBPNG_VER_STRING "1.2.9beta11"
 #define PNG_HEADER_VERSION_STRING \
-   " libpng version 1.2.9beta10 - March 20, 2006 (header)\n"
+   " libpng version 1.2.9beta11 - March 22, 2006 (header)\n"
 
 #define PNG_LIBPNG_VER_SONUM   0
 #define PNG_LIBPNG_VER_DLLNUM  13
@@ -331,7 +331,7 @@
 /* This should match the numeric part of the final component of
  * PNG_LIBPNG_VER_STRING, omitting any leading zero: */
 
-#define PNG_LIBPNG_VER_BUILD  10
+#define PNG_LIBPNG_VER_BUILD  11
 
 /* Release Status */
 #define PNG_LIBPNG_BUILD_ALPHA    1
@@ -1361,7 +1361,7 @@
 /* This triggers a compiler error in png.c, if png.c and png.h
  * do not agree upon the version number.
  */
-typedef png_structp version_1_2_9beta10;
+typedef png_structp version_1_2_9beta11;
 
 typedef png_struct FAR * FAR * png_structpp;
 
diff --git a/pngconf.h b/pngconf.h
index 83d08d2..9d02cd5 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng version 1.2.9beta10 - March 20, 2006
+ * libpng version 1.2.9beta11 - March 22, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2005 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngerror.c b/pngerror.c
index f13eb1b..f97a759 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,7 +1,7 @@
 
 /* pngerror.c - stub functions for i/o and memory allocation
  *
- * Last changed in libpng 1.2.9 March 20, 2006
+ * Last changed in libpng 1.2.9 March 22, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2006 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pnggccrd.c b/pnggccrd.c
index 6723073..bc19f9a 100644
--- a/pnggccrd.c
+++ b/pnggccrd.c
@@ -7,7 +7,7 @@
  *     and http://www.intel.com/drg/pentiumII/appnotes/923/923.htm
  *     for Intel's performance analysis of the MMX vs. non-MMX code.
  *
- * Last changed in libpng 1.2.9 March 20, 2006
+ * Last changed in libpng 1.2.9 March 22, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2006 Glenn Randers-Pehrson
  * Copyright (c) 1998, Intel Corporation
diff --git a/pngget.c b/pngget.c
index 1f37d8c..b3339e8 100644
--- a/pngget.c
+++ b/pngget.c
@@ -1,7 +1,7 @@
 
 /* pngget.c - retrieval of values from info struct
  *
- * Last changed in libpng 1.2.9 March 20, 2006
+ * Last changed in libpng 1.2.9 March 22, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2006 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngmem.c b/pngmem.c
index 7f6cb56..c01c67d 100644
--- a/pngmem.c
+++ b/pngmem.c
@@ -1,7 +1,7 @@
 
 /* pngmem.c - stub functions for memory allocation
  *
- * Last changed in libpng 1.2.9 March 20, 2006
+ * Last changed in libpng 1.2.9 March 22, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2006 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngread.c b/pngread.c
index 26c18b3..e37c215 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,7 +1,7 @@
 
 /* pngread.c - read a PNG file
  *
- * Last changed in libpng 1.2.9 March 20, 2006
+ * Last changed in libpng 1.2.9 March 22, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2006 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngrio.c b/pngrio.c
index 3d84880..895ae88 100644
--- a/pngrio.c
+++ b/pngrio.c
@@ -1,7 +1,7 @@
 
 /* pngrio.c - functions for data input
  *
- * Last changed in libpng 1.2.9 March 20, 2006
+ * Last changed in libpng 1.2.9 March 22, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2006 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngrtran.c b/pngrtran.c
index 59f3d02..0be2639 100644
--- a/pngrtran.c
+++ b/pngrtran.c
@@ -1,7 +1,7 @@
 
 /* pngrtran.c - transforms the data in a row for PNG readers
  *
- * Last changed in libpng 1.2.9 March 20, 2006
+ * Last changed in libpng 1.2.9 March 22, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2006 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngrutil.c b/pngrutil.c
index 0109fe6..814a994 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,7 +1,7 @@
 
 /* pngrutil.c - utilities to read a PNG file
  *
- * Last changed in libpng 1.2.9 March 20, 2006
+ * Last changed in libpng 1.2.9 March 22, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2006 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngset.c b/pngset.c
index 2051f7b..ddc45b9 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1,7 +1,7 @@
 
 /* pngset.c - storage of image information into info struct
  *
- * Last changed in libpng 1.2.9 March 20, 2006
+ * Last changed in libpng 1.2.9 March 22, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2006 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngtest.c b/pngtest.c
index 40409b9..ac7336b 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1551,4 +1551,4 @@
 }
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_2_9beta10 your_png_h_is_not_version_1_2_9beta10;
+typedef version_1_2_9beta11 your_png_h_is_not_version_1_2_9beta11;
diff --git a/pngtrans.c b/pngtrans.c
index 7bf20cb..e19b6a0 100644
--- a/pngtrans.c
+++ b/pngtrans.c
@@ -1,7 +1,7 @@
 
 /* pngtrans.c - transforms the data in a row (used by both readers and writers)
  *
- * Last changed in libpng 1.2.9 March 20, 2006
+ * Last changed in libpng 1.2.9 March 22, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2006 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngwrite.c b/pngwrite.c
index 88e01d1..720cdb9 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -1,7 +1,7 @@
 
 /* pngwrite.c - general routines to write a PNG file
  *
- * Last changed in libpng 1.2.9 March 20, 2006
+ * Last changed in libpng 1.2.9 March 22, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2006 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -625,10 +625,11 @@
    jmp_buf tmp_jmp; /* to save current jump buffer */
 #endif
 
+   int i = 0;
+
    if (png_ptr == NULL)
       return;
 
-   int i = 0;
    do
    {
      if (user_png_ver[i] != png_libpng_ver[i])
diff --git a/pngwtran.c b/pngwtran.c
index fb7694a..26bd469 100644
--- a/pngwtran.c
+++ b/pngwtran.c
@@ -1,7 +1,7 @@
 
 /* pngwtran.c - transforms the data in a row for PNG writers
  *
- * Last changed in libpng 1.2.9 March 20, 2006
+ * Last changed in libpng 1.2.9 March 22, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2006 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngwutil.c b/pngwutil.c
index a4812d9..f9cfdc7 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -1,7 +1,7 @@
 
 /* pngwutil.c - utilities to write a PNG file
  *
- * Last changed in libpng 1.2.9 March 20, 2006
+ * Last changed in libpng 1.2.9 March 22, 2006
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2006 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in
index 45c19cb..509af6c 100755
--- a/scripts/libpng-config-head.in
+++ b/scripts/libpng-config-head.in
@@ -8,7 +8,7 @@
 
 # Modeled after libxml-config.
 
-version=1.2.9beta10
+version=1.2.9beta11
 prefix=""
 libdir=""
 libs=""
diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu
index 06f76e2..2498344 100644
--- a/scripts/makefile.32sunu
+++ b/scripts/makefile.32sunu
@@ -5,11 +5,21 @@
 # Copyright (C) 1996, 1997 Andreas Dilger
 # For conditions of distribution and use, see copyright notice in png.h
 
+# Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.9beta10
+PNGMIN = 1.2.9beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOVER=$(LIBNAME).so.$(PNGVER)
+OLDSO=libpng.so
+OLDSOMAJ=libpng.so.0
+OLDSOVER=libpng.so.0.$(PNGMIN)
+
+# Utilities:
 CC=cc
 AR_RC=ar rc
 MKDIR_P=mkdir -p
@@ -71,7 +81,7 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) -KPIC -o $@ $*.c
 
-all: libpng.a $(LIBNAME).so pngtest libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -93,13 +103,13 @@
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
 
-$(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ)
-	$(LN_SF) $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so
+$(LIBSO): $(LIBSOMAJ)
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBNAME).so.$(PNGMAJ): $(LIBNAME).so.$(PNGVER)
-	$(LN_SF) $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ)
+$(LIBSOMAJ): $(LIBSOVER)
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
 
-$(LIBNAME).so.$(PNGVER): $(OBJSDLL)
+$(LIBSOVER): $(OBJSDLL)
 	@case "`type ld`" in *ucb*) \
 	echo; \
 	echo '## WARNING:'; \
@@ -112,14 +122,14 @@
 	echo; \
 	;; \
 	esac
-	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h $(LIBNAME).so.$(PNGMAJ) \
-	 -o $(LIBNAME).so.$(PNGVER) $(OBJSDLL)
+	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h $(LIBSOMAJ) \
+	 -o $(LIBSOVER) $(OBJSDLL)
 
-libpng.so.0.$(PNGMIN): $(OBJSDLL)
-	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h libpng.so.0 \
-	 -o libpng.so.0.$(PNGMIN)  $(OBJSDLL)
+$(OLDSOVER): $(OBJSDLL)
+	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h $(OLDSOMAJ) \
+	 -o $(OLDSOVER)  $(OBJSDLL)
 
-pngtest: pngtest.o $(LIBNAME).so
+pngtest: pngtest.o $(LIBSO)
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
 test: pngtest
@@ -141,24 +151,24 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
-	libpng.so.0.$(PNGMIN)
+install-shared: install-headers $(LIBSOVER) libpng.pc \
+	$(OLDSOVER)
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
-	-@$(RM_F) $(DL)/$(LIBNAME).so.$(PNGMAJ)
-	-@$(RM_F) $(DL)/$(LIBNAME).so
-	-@$(RM_F) $(DL)/libpng.so
-	-@$(RM_F) $(DL)/libpng.so.0
-	-@$(RM_F) $(DL)/libpng.so.0.$(PNGVER)*
-	cp $(LIBNAME).so.$(PNGVER) $(DL)
-	cp libpng.so.0.$(PNGMIN) $(DL)
-	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
-	chmod 755 $(DL)/libpng.so.0.$(PNGMIN)
+	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(OLDSO)
+	-@$(RM_F) $(DL)/$(OLDSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSOMAJ).$(PNGVER)*
+	cp $(LIBSOVER) $(DL)
+	cp $(OLDSOVER) $(DL)
+	chmod 755 $(DL)/$(LIBSOVER)
+	chmod 755 $(DL)/$(OLDSOVER)
 	(cd $(DL); \
-	$(LN_SF) libpng.so.0.$(PNGMIN) libpng.so.0; \
-	$(LN_SF) libpng.so.0 libpng.so; \
-	$(LN_SF) $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
-	$(LN_SF) $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
+	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
+	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -211,8 +221,8 @@
 
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
-	libpng-config $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
-	libpng.so.0.$(PNGMIN) \
+	libpng-config $(LIBSO) $(LIBSOMAJ)* \
+	$(OLDSOVER) \
 	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu
index 3697df6..ec7d273 100644
--- a/scripts/makefile.64sunu
+++ b/scripts/makefile.64sunu
@@ -5,11 +5,21 @@
 # Copyright (C) 1996, 1997 Andreas Dilger
 # For conditions of distribution and use, see copyright notice in png.h
 
+# Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.9beta10
+PNGMIN = 1.2.9beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOVER=$(LIBNAME).so.$(PNGVER)
+OLDSO=libpng.so
+OLDSOMAJ=libpng.so.0
+OLDSOVER=libpng.so.0.$(PNGMIN)
+
+# Utilities:
 CC=cc
 AR_RC=ar rc
 MKDIR_P=mkdir -p
@@ -71,7 +81,7 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) -KPIC -o $@ $*.c
 
-all: libpng.a $(LIBNAME).so pngtest libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -93,13 +103,13 @@
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
 
-$(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ)
-	$(LN_SF) $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so
+$(LIBSO): $(LIBSOMAJ)
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBNAME).so.$(PNGMAJ): $(LIBNAME).so.$(PNGVER)
-	$(LN_SF) $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ)
+$(LIBSOMAJ): $(LIBSOVER)
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
 
-$(LIBNAME).so.$(PNGVER): $(OBJSDLL)
+$(LIBSOVER): $(OBJSDLL)
 	@case "`type ld`" in *ucb*) \
 	echo; \
 	echo '## WARNING:'; \
@@ -112,14 +122,14 @@
 	echo; \
 	;; \
 	esac
-	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h $(LIBNAME).so.$(PNGMAJ) \
-	 -o $(LIBNAME).so.$(PNGVER) $(OBJSDLL)
+	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h $(LIBSOMAJ) \
+	 -o $(LIBSOVER) $(OBJSDLL)
 
-libpng.so.0.$(PNGMIN): $(OBJSDLL)
-	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h libpng.so.0 \
-	 -o libpng.so.0.$(PNGMIN)  $(OBJSDLL)
+$(OLDSOVER): $(OBJSDLL)
+	$(LD) -G -L$(ZLIBLIB) -R$(ZLIBLIB) -h $(OLDSOMAJ) \
+	 -o $(OLDSOVER)  $(OBJSDLL)
 
-pngtest: pngtest.o $(LIBNAME).so
+pngtest: pngtest.o $(LIBSO)
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
 test: pngtest
@@ -141,24 +151,24 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
-	libpng.so.0.$(PNGMIN)
+install-shared: install-headers $(LIBSOVER) libpng.pc \
+	$(OLDSOVER)
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
-	-@$(RM_F) $(DL)/$(LIBNAME).so.$(PNGMAJ)
-	-@$(RM_F) $(DL)/$(LIBNAME).so
-	-@$(RM_F) $(DL)/libpng.so
-	-@$(RM_F) $(DL)/libpng.so.0
-	-@$(RM_F) $(DL)/libpng.so.0.$(PNGVER)*
-	cp $(LIBNAME).so.$(PNGVER) $(DL)
-	cp libpng.so.0.$(PNGMIN) $(DL)
-	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
-	chmod 755 $(DL)/libpng.so.0.$(PNGMIN)
+	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(OLDSO)
+	-@$(RM_F) $(DL)/$(OLDSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSOMAJ).$(PNGVER)*
+	cp $(LIBSOVER) $(DL)
+	cp $(OLDSOVER) $(DL)
+	chmod 755 $(DL)/$(LIBSOVER)
+	chmod 755 $(DL)/$(OLDSOVER)
 	(cd $(DL); \
-	$(LN_SF) libpng.so.0.$(PNGMIN) libpng.so.0; \
-	$(LN_SF) libpng.so.0 libpng.so; \
-	$(LN_SF) $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
-	$(LN_SF) $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
+	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
+	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -211,8 +221,8 @@
 
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
-	libpng-config $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
-	libpng.so.0.$(PNGMIN) \
+	libpng-config $(LIBSO) $(LIBSOMAJ)* \
+	$(OLDSOVER) \
 	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
diff --git a/scripts/makefile.aix b/scripts/makefile.aix
index c4a897b..3f8639e 100644
--- a/scripts/makefile.aix
+++ b/scripts/makefile.aix
@@ -20,7 +20,7 @@
 
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.9beta10
+PNGMIN = 1.2.9beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 prefix=/usr/local
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index 7216994..e84fd3f 100644
--- a/scripts/makefile.beos
+++ b/scripts/makefile.beos
@@ -5,6 +5,21 @@
 # Copyright (C) 1996, 1997 Andreas Dilger
 # For conditions of distribution and use, see copyright notice in png.h
 
+# Library name:
+LIBNAME=libpng12
+PNGMAJ = 0
+PNGMIN = 1.2.9beta11
+PNGVER = $(PNGMAJ).$(PNGMIN)
+
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOVER=$(LIBNAME).so.$(PNGVER)
+OLDSO=libpng.so
+OLDSOMAJ=libpng.so.0
+OLDSOVER=libpng.so.0.$(PNGMIN)
+
+# Utilities:
 CC=gcc
 AR_RC=ar rc
 MKDIR_P=mkdir -p
@@ -16,10 +31,6 @@
 ZLIBLIB=/usr/local/lib
 ZLIBINC=/usr/local/include
 
-PNGMAJ = 0
-PNGMIN = 1.2.9beta10
-PNGVER = $(PNGMAJ).$(PNGMIN)
-
 ALIGN=
 # For i386:
 # ALIGN=-malign-loops=2 -malign-functions=2
@@ -33,7 +44,7 @@
 CFLAGS=-I$(ZLIBINC) -Wall -O1 -funroll-loops \
 	$(ALIGN) # $(WARNMORE) -g -DPNG_DEBUG=5
 # LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng -lz -lm
-LDFLAGS=-L. -Wl,-soname=$(LIBNAME).so.$(PNGMAJ) -L$(ZLIBLIB) -lz -lm
+LDFLAGS=-L. -Wl,-soname=$(LIBSOMAJ) -L$(ZLIBLIB) -lz -lm
 
 # where make install puts libpng.a, libpng12.so*, and png.h
 prefix=/usr/local
@@ -58,8 +69,6 @@
 DL=$(DESTDIR)$(LIBPATH)
 DM=$(DESTDIR)$(MANPATH)
 
-LIBNAME=libpng12
-
 OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
 	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
 	pngwtran.o pngmem.o pngerror.o pngpread.o
@@ -68,7 +77,7 @@
 
 .SUFFIXES:      .c .o
 
-all: libpng.a $(LIBNAME).so pngtest libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -85,22 +94,22 @@
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
 
-$(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ)
-	$(LN_SF) $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so
-	cp $(LIBNAME).so* /boot/home/config/lib
+$(LIBSO): $(LIBSOMAJ)
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
+	cp $(LIBSO)* /boot/home/config/lib
 
-$(LIBNAME).so.$(PNGMAJ): $(LIBNAME).so.$(PNGVER)
-	$(LN_SF) $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ)
+$(LIBSOMAJ): $(LIBSOVER)
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
 
-$(LIBNAME).so.$(PNGVER): $(OBJSDLL)
-	$(CC) -nostart -Wl,-soname,$(LIBNAME).so.$(PNGMAJ) -o \
-	$(LIBNAME).so.$(PNGVER) $(OBJSDLL)
+$(LIBSOVER): $(OBJSDLL)
+	$(CC) -nostart -Wl,-soname,$(LIBSOMAJ) -o \
+	$(LIBSOVER) $(OBJSDLL)
 
-libpng.so.0.$(PNGMIN): $(OBJSDLL)
-	$(CC) -nostart -Wl,-soname,libpng.so.0 -o \
-	libpng.so.0.$(PNGMIN) $(OBJSDLL)
+$(OLDSOVER): $(OBJSDLL)
+	$(CC) -nostart -Wl,-soname,$(OLDSOMAJ) -o \
+	$(OLDSOVER) $(OBJSDLL)
 
-pngtest: pngtest.o $(LIBNAME).so
+pngtest: pngtest.o $(LIBSO)
 	$(CC) -L$(ZLIBLIB) -lz -lpng12 -o pngtest pngtest.o
 
 test: pngtest
@@ -122,23 +131,23 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
-	libpng.so.0.$(PNGMIN)
+install-shared: install-headers $(LIBSOVER) libpng.pc \
+	$(OLDSOVER)
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
-	-@$(RM_F) $(DL)/$(LIBNAME).so.$(PNGMAJ)
-	-@$(RM_F) $(DL)/libpng.so
-	-@$(RM_F) $(DL)/libpng.so.0
-	-@$(RM_F) $(DL)/libpng.so.0.$(PNGMIN)*
-	cp $(LIBNAME).so.$(PNGVER) $(DL)
-	cp libpng.so.0.$(PNGMIN) $(DL)
-	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
-	chmod 755 $(DL)/libpng.so.0.$(PNGMIN)
+	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSO)
+	-@$(RM_F) $(DL)/$(OLDSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSOVER)*
+	cp $(LIBSOVER) $(DL)
+	cp $(OLDSOVER) $(DL)
+	chmod 755 $(DL)/$(LIBSOVER)
+	chmod 755 $(DL)/$(OLDSOVER)
 	(cd $(DL); \
-	$(LN_SF) libpng.so.0.$(PNGMIN) libpng.so.0; \
-	$(LN_SF) libpng.so.0 libpng.so; \
-	$(LN_SF) $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
-	$(LN_SF) $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
+	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
+	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -189,8 +198,8 @@
 
 clean:
 	$(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
-	$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtesti \
-	libpng.so.0.$(PNGMIN) \
+	$(LIBSO) $(LIBSOMAJ)* pngtesti \
+	$(OLDSOVER) \
 	libpng.pc
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin
index 2d9c94c..297706e 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -80,7 +80,7 @@
 LIBNAME = libpng12
 PNGMAJ = 0
 CYGDLL = 12
-PNGMIN = 1.2.9beta10
+PNGMIN = 1.2.9beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=cygpng$(CYGDLL).dll
diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin
index 8558960..fee0539 100644
--- a/scripts/makefile.darwin
+++ b/scripts/makefile.darwin
@@ -16,6 +16,21 @@
 ZLIBLIB=../zlib
 ZLIBINC=../zlib
 
+# Library name:
+LIBNAME = libpng12
+PNGMAJ = 0
+PNGMIN = 1.2.9beta11
+PNGVER = $(PNGMAJ).$(PNGMIN)
+
+# Shared library names:
+LIBSO=$(LIBNAME).dylib
+LIBSOMAJ=$(LIBNAME).$(PNGMAJ).dylib
+LIBSOVER=$(LIBNAME).$(PNGVER).dylib
+OLDSO=libpng.dylib
+OLDSOMAJ=libpng.0.dylib
+OLDSOVER=libpng.0.$(PNGMIN).dylib
+
+# Utilities:
 CC=cc
 AR_RC=ar rc
 MKDIR_P=mkdir -p
@@ -26,11 +41,6 @@
 CFLAGS=-I$(ZLIBINC) -Wall -O3 -funroll-loops
 LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz
 
-PNGMAJ = 0
-PNGMIN = 1.2.9beta10
-PNGVER = $(PNGMAJ).$(PNGMIN)
-LIBNAME = libpng12
-
 INCPATH=$(prefix)/include
 LIBPATH=$(exec_prefix)/lib
 MANPATH=$(prefix)/man
@@ -62,7 +72,7 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) -fno-common -o $@ $*.c
 
-all: libpng.a $(LIBNAME).dylib pngtest libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -81,27 +91,27 @@
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
 
-$(LIBNAME).dylib: $(LIBNAME).$(PNGMAJ).dylib
-	$(LN_SF) $(LIBNAME).$(PNGMAJ).dylib $(LIBNAME).dylib
+$(LIBSO): $(LIBSOMAJ)
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBNAME).$(PNGMAJ).dylib: $(LIBNAME).$(PNGVER).dylib
-	$(LN_SF) $(LIBNAME).$(PNGVER).dylib $(LIBNAME).$(PNGMAJ).dylib
+$(LIBSOMAJ): $(LIBSOVER)
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
 
-$(LIBNAME).$(PNGVER).dylib: $(OBJSDLL)
+$(LIBSOVER): $(OBJSDLL)
 	$(CC) -dynamiclib \
-	 -install_name $(LIBPATH)/$(LIBNAME).$(PNGMAJ).dylib \
+	 -install_name $(LIBPATH)/$(LIBSOMAJ) \
 	 -current_version $(PNGVER) -compatibility_version $(PNGVER) \
-	 -o $(LIBNAME).$(PNGVER).dylib \
+	 -o $(LIBSOVER) \
 	 $(OBJSDLL) -L$(ZLIBLIB) -lz
 
-libpng.3.$(PNGMIN).dylib: $(OBJSDLL)
+$(OLDSOVER): $(OBJSDLL)
 	$(CC) -dynamiclib \
-	 -install_name $(LIBPATH)/libpng.3.dylib \
+	 -install_name $(LIBPATH)/$(OLDSOMAJ) \
 	 -current_version 3 -compatibility_version 3 \
-	 -o libpng.3.$(PNGMIN).dylib \
+	 -o $(OLDSOVER) \
 	 $(OBJSDLL) -L$(ZLIBLIB) -lz
 
-pngtest: pngtest.o $(LIBNAME).dylib
+pngtest: pngtest.o $(LIBSO)
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
 test: pngtest
@@ -124,24 +134,24 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).dylib libpng.pc \
-	libpng.3.$(PNGMIN).dylib
+install-shared: install-headers $(LIBSO) libpng.pc \
+	$(OLDSOVER)
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
 	-@$(RM_F) $(DL)/$(LIBNAME).$(PNGVER)*.dylib
 	-@$(RM_F) $(DL)/$(LIBNAME).$(PNGMAJ)*.dylib
-	-@$(RM_F) $(DL)/$(LIBNAME).dylib
-	-@$(RM_F) $(DL)/libpng.dylib
-	-@$(RM_F) $(DL)/libpng.3.dylib
+	-@$(RM_F) $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(OLDSO)
+	-@$(RM_F) $(DL)/$(OLDSOMAJ)
 	-@$(RM_F) $(DL)/libpng.3.$(PNGMIN)*.dylib
-	cp $(LIBNAME).$(PNGVER).dylib $(DL)
-	cp libpng.3.$(PNGMIN).dylib $(DL)
-	chmod 755 $(DL)/$(LIBNAME).$(PNGVER).dylib
-	chmod 755 $(DL)/libpng.3.$(PNGMIN).dylib
+	cp $(LIBSOVER) $(DL)
+	cp $(OLDSOVER) $(DL)
+	chmod 755 $(DL)/$(LIBSOVER)
+	chmod 755 $(DL)/$(OLDSOVER)
 	(cd $(DL); \
-	$(LN_SF) libpng.3.$(PNGMIN).dylib libpng.3.dylib; \
-	$(LN_SF) libpng.3.dylib libpng.dylib; \
-	$(LN_SF) $(LIBNAME).$(PNGVER).dylib $(LIBNAME).$(PNGMAJ).dylib; \
-	$(LN_SF) $(LIBNAME).$(PNGMAJ).dylib $(LIBNAME).dylib)
+	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
+	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -192,7 +202,7 @@
 
 clean:
 	$(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
-	libpng.3.$(PNGMIN).dylib \
+	$(OLDSOVER) \
 	libpng.pc $(LIBNAME).*dylib pngtesti
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index dd72b0d..93c2692 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -3,6 +3,28 @@
 # Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
 # For conditions of distribution and use, see copyright notice in png.h
 
+# Library name:
+PNGMAJ = 0
+PNGMIN = 1.2.9beta11
+PNGVER = $(PNGMAJ).$(PNGMIN)
+LIBNAME = libpng12
+
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOVER=$(LIBNAME).so.$(PNGVER)
+OLDSO=libpng.so
+OLDSOMAJ=libpng.so.0
+OLDSOVER=libpng.so.0.$(PNGMIN)
+
+# Utilities:
+AR_RC=ar rc
+CC=cc
+MKDIR_P=mkdir
+LN_SF=ln -f -s
+RANLIB=ranlib
+RM_F=/bin/rm -f
+
 # where make install puts libpng.a and png.h
 prefix=/usr/local
 exec_prefix=$prefix
@@ -32,18 +54,6 @@
 ZLIBLIB=../zlib
 ZLIBINC=../zlib
 
-PNGMAJ = 0
-PNGMIN = 1.2.9beta10
-PNGVER = $(PNGMAJ).$(PNGMIN)
-LIBNAME = libpng12
-
-AR_RC=ar rc
-CC=cc
-MKDIR_P=mkdir
-LN_SF=ln -f -s
-RANLIB=ranlib
-RM_F=/bin/rm -f
-
 CFLAGS=-std -w1 -I$(ZLIBINC) -O # -g -DPNG_DEBUG=1
 LDFLAGS=-L$(ZLIBLIB) -rpath $(ZLIBLIB) libpng.a -lz -lm
 
@@ -51,7 +61,7 @@
 	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
 	pngwtran.o pngmem.o pngerror.o pngpread.o
 
-all: $(LIBNAME).so libpng.a pngtest libpng.pc libpng-config
+all: $(LIBSO) libpng.a pngtest libpng.pc libpng-config
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@  $(OBJS)
@@ -70,19 +80,19 @@
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
 
-$(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ)
-	$(LN_SF) $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so
+$(LIBSO): $(LIBSOMAJ)
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBNAME).so.$(PNGMAJ): $(LIBNAME).so.$(PNGVER)
-	$(LN_SF) $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ)
+$(LIBSOMAJ): $(LIBSOVER)
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
 
-$(LIBNAME).so.$(PNGVER): $(OBJS)
+$(LIBSOVER): $(OBJS)
 	$(CC) -shared -o $@ $(OBJS) -L$(ZLIBLIB) \
-	-soname $(LIBNAME).so.$(PNGMAJ)
+	-soname $(LIBSOMAJ)
 
-libpng.so.0.$(PNGMIN): $(OBJS)
+$(OLDSOVER): $(OBJS)
 	$(CC) -shared -o $@ $(OBJS) -L$(ZLIBLIB) \
-	-soname libpng.so.0
+	-soname $(OLDSOMAJ)
 
 pngtest: pngtest.o libpng.a
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
@@ -106,23 +116,23 @@
 	-@/bin/rm -f $(DL)/libpng.a
 	(cd $(DL); $(LN_SF)(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
-	libpng.so.0.$(PNGMIN)
+install-shared: install-headers $(LIBSOVER) libpng.pc \
+	$(OLDSOVER)
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
-	-@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ)
-	-@/bin/rm -f $(DL)/libpng.so
-	-@/bin/rm -f $(DL)/libpng.so.0
-	-@/bin/rm -f $(DL)/libpng.so.0.$(PNGMIN)*
-	cp $(LIBNAME).so.$(PNGVER) $(DL)
-	cp libpng.so.0.$(PNGMIN) $(DL)
-	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
-	chmod 755 $(DL)/libpng.so.0.$(PNGMIN)
+	-@/bin/rm -f $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
+	-@/bin/rm -f $(DL)/$(LIBSOMAJ)
+	-@/bin/rm -f $(DL)/$(OLDSO)
+	-@/bin/rm -f $(DL)/$(OLDSOMAJ)
+	-@/bin/rm -f $(DL)/$(OLDSOVER)*
+	cp $(LIBSOVER) $(DL)
+	cp $(OLDSOVER) $(DL)
+	chmod 755 $(DL)/$(LIBSOVER)
+	chmod 755 $(DL)/$(OLDSOVER)
 	(cd $(DL); \
-	$(LN_SF) libpng.so.0.$(PNGMIN) libpng.so.0; \
-	$(LN_SF) libpng.so.0 libpng.so; \
-	$(LN_SF)(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
-	$(LN_SF)(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
+	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
+	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
+	$(LN_SF)(LIBSOVER) $(LIBSOMAJ); \
+	$(LN_SF)(LIBSOMAJ) $(LIBSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
 	-@/bin/rm -f $(DL)/pkgconfig/libpng.pc
@@ -175,8 +185,8 @@
 
 clean:
 	/bin/rm -f *.o libpng.a pngtest pngtesti pngout.png \
-	libpng-config $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
-	libpng.so.0.$(PNGMIN) \
+	libpng-config $(LIBSO) $(LIBSOMAJ)* \
+	$(OLDSOVER) \
 	libpng.pc
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/scripts/makefile.elf b/scripts/makefile.elf
index b2ba695..cd912e1 100644
--- a/scripts/makefile.elf
+++ b/scripts/makefile.elf
@@ -6,14 +6,24 @@
 # Modified for Debian by Junichi Uekawa and Josselin Mouette
 # Major modifications are:
 #    * link libpng explicitly with libz and libm
-#    * libpng.so.%OLDSONUM% is a symlink rather than a different library
+#    * $(OLDSO).%OLDSONUM% is a symlink rather than a different library
 #    * versioned symbols
 
+# Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.9beta10
+PNGMIN = 1.2.9beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOVER=$(LIBNAME).so.$(PNGVER)
+OLDSO=libpng.so
+OLDSOMAJ=libpng.so.0
+OLDSOVER=libpng.so.0.$(PNGMIN)
+
+# Utilities:
 AR_RC=ar rc
 CC=gcc
 MKDIR_P=mkdir -p
@@ -82,7 +92,7 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
 
-all: libpng.a $(LIBNAME).so pngtest pngtest-static libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest pngtest-static libpng.pc libpng-config
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -115,25 +125,25 @@
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
 
-$(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ)
-	$(LN_SF) $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so
+$(LIBSO): $(LIBSOMAJ)
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBNAME).so.$(PNGMAJ): $(LIBNAME).so.$(PNGVER)
-	$(LN_SF) $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ)
+$(LIBSOMAJ): $(LIBSOVER)
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
 
-$(LIBNAME).so.$(PNGVER): $(OBJSDLL) libpng.syms
-	$(CC) -shared -Wl,-soname,$(LIBNAME).so.$(PNGMAJ) \
+$(LIBSOVER): $(OBJSDLL) libpng.syms
+	$(CC) -shared -Wl,-soname,$(LIBSOMAJ) \
 	-Wl,-version-script,libpng.syms \
-	-o $(LIBNAME).so.$(PNGVER) \
+	-o $(LIBSOVER) \
 	$(OBJSDLL)
 
-libpng.so.0.$(PNGMIN): $(OBJSDLL) libpng.syms
-	$(CC) -shared -Wl,-soname,libpng.so.0 \
+$(OLDSOVER): $(OBJSDLL) libpng.syms
+	$(CC) -shared -Wl,-soname,$(OLDSOMAJ) \
 	-Wl,-version-script,libpng.syms \
-	-o libpng.so.0.$(PNGMIN) \
+	-o $(OLDSOVER) \
 	$(OBJSDLL)
 
-pngtest: pngtest.o $(LIBNAME).so
+pngtest: pngtest.o $(LIBSO)
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
 pngtest-static: pngtest.o libpng.a
@@ -141,7 +151,7 @@
 
 test: pngtest pngtest-static
 	@echo ""
-	@echo "   Running pngtest dynamically linked with $(LIBNAME).so:"
+	@echo "   Running pngtest dynamically linked with $(LIBSO):"
 	@echo ""
 	LD_LIBRARY_PATH=".:${LD_LIBRARY_PATH}" ./pngtest
 	@echo ""
@@ -165,23 +175,23 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
-	libpng.so.0.$(PNGMIN)
+install-shared: install-headers $(LIBSOVER) libpng.pc \
+	$(OLDSOVER)
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
-	-@$(RM_F) $(DL)/$(LIBNAME).so.$(PNGMAJ)
-	-@$(RM_F) $(DL)/libpng.so
-	-@$(RM_F) $(DL)/libpng.so.0
-	-@$(RM_F) $(DL)/libpng.so.0.$(PNGMIN)*
-	cp $(LIBNAME).so.$(PNGVER) $(DL)
-	cp libpng.so.0.$(PNGMIN) $(DL)
-	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
-	chmod 755 $(DL)/libpng.so.0.$(PNGMIN)
+	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSO)
+	-@$(RM_F) $(DL)/$(OLDSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSOVER)*
+	cp $(LIBSOVER) $(DL)
+	cp $(OLDSOVER) $(DL)
+	chmod 755 $(DL)/$(LIBSOVER)
+	chmod 755 $(DL)/$(OLDSOVER)
 	(cd $(DL); \
-	$(LN_SF) libpng.so.0.$(PNGMIN) libpng.so.0; \
-	$(LN_SF) libpng.so.0 libpng.so; \
-	$(LN_SF) $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
-	$(LN_SF) $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
+	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
+	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -232,8 +242,8 @@
 
 clean:
 	$(RM_F) *.o libpng.a libpng.syms pngtest pngout.png libpng-config \
-	$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtest-static pngtesti \
-	libpng.so.0.$(PNGMIN) \
+	$(LIBSO) $(LIBSOMAJ)* pngtest-static pngtesti \
+	$(OLDSOVER) \
 	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx
index b8f35dc..4502b51 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -13,12 +13,21 @@
 #        there are no floating-point programs (e.g., SETI@Home) running in
 #        the background!  Context switches between MMX and FPU are expensive.
 
+# Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.9beta10
+PNGMIN = 1.2.9beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
-# Compiler, linker, lib and other tools
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOVER=$(LIBNAME).so.$(PNGVER)
+OLDSO=libpng.so
+OLDSOMAJ=libpng.so.0
+OLDSOVER=libpng.so.0.$(PNGMIN)
+
+# Utilities:
 CC = gcc
 LD = $(CC)
 AR_RC = ar rc
@@ -98,7 +107,7 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
 
-all: libpng.a $(LIBNAME).so pngtest pngtest-static libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest pngtest-static libpng.pc libpng-config
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -124,23 +133,23 @@
 pnggccrd.pic.o:	pnggccrd.c png.h pngconf.h
 	$(CC) -c $(CFLAGS) -fPIC -o $@ pnggccrd.c
 
-$(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ)
-	$(LN_SF) $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so
+$(LIBSO): $(LIBSOMAJ)
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBNAME).so.$(PNGMAJ): $(LIBNAME).so.$(PNGVER)
-	$(LN_SF) $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ)
+$(LIBSOMAJ): $(LIBSOVER)
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
 
-$(LIBNAME).so.$(PNGVER): $(OBJSDLL)
-	$(CC) -shared -Wl,-soname,$(LIBNAME).so.$(PNGMAJ) \
-	-o $(LIBNAME).so.$(PNGVER) \
+$(LIBSOVER): $(OBJSDLL)
+	$(CC) -shared -Wl,-soname,$(LIBSOMAJ) \
+	-o $(LIBSOVER) \
 	$(OBJSDLL)
 
-libpng.so.0.$(PNGMIN): $(OBJSDLL)
-	$(CC) -shared -Wl,-soname,libpng.so.0 \
-	-o libpng.so.0.$(PNGMIN) \
+$(OLDSOVER): $(OBJSDLL)
+	$(CC) -shared -Wl,-soname,$(OLDSOMAJ) \
+	-o $(OLDSOVER) \
 	$(OBJSDLL)
 
-pngtest: pngtest.o $(LIBNAME).so
+pngtest: pngtest.o $(LIBSO)
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
 pngtest-static: pngtest.o libpng.a
@@ -148,7 +157,7 @@
 
 test: pngtest pngtest-static
 	@echo ""
-	@echo "   Running pngtest dynamically linked with $(LIBNAME).so:"
+	@echo "   Running pngtest dynamically linked with $(LIBSO):"
 	@echo ""
 	./pngtest
 	@echo ""
@@ -172,23 +181,23 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
-	libpng.so.0.$(PNGMIN)
+install-shared: install-headers $(LIBSOVER) libpng.pc \
+	$(OLDSOVER)
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
-	-@$(RM_F) $(DL)/$(LIBNAME).so.$(PNGMAJ)
-	-@$(RM_F) $(DL)/libpng.so
-	-@$(RM_F) $(DL)/libpng.so.0
-	-@$(RM_F) $(DL)/libpng.so.0.$(PNGMIN)*
-	cp $(LIBNAME).so.$(PNGVER) $(DL)
-	cp libpng.so.0.$(PNGMIN) $(DL)
-	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
-	chmod 755 $(DL)/libpng.so.0.$(PNGMIN)
+	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSO)
+	-@$(RM_F) $(DL)/$(OLDSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSOVER)*
+	cp $(LIBSOVER) $(DL)
+	cp $(OLDSOVER) $(DL)
+	chmod 755 $(DL)/$(LIBSOVER)
+	chmod 755 $(DL)/$(OLDSOVER)
 	(cd $(DL); \
-	$(LN_SF) libpng.so.0.$(PNGMIN) libpng.so.0; \
-	$(LN_SF) libpng.so.0 libpng.so; \
-	$(LN_SF) $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
-	$(LN_SF) $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
+	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
+	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -239,8 +248,8 @@
 
 clean:
 	$(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
-	$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtest-static pngtesti \
-	libpng.so.0.$(PNGMIN) \
+	$(LIBSO) $(LIBSOMAJ)* pngtest-static pngtesti \
+	$(OLDSOVER) \
 	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64
index a3fe2ec..8d4fcaa 100644
--- a/scripts/makefile.hp64
+++ b/scripts/makefile.hp64
@@ -15,6 +15,21 @@
 #   LDSHARED=ld -b
 #   SHAREDLIB=libz.sl
 
+# Library name:
+LIBNAME = libpng12
+PNGMAJ = 0
+PNGMIN = 1.2.9beta11
+PNGVER = $(PNGMAJ).$(PNGMIN)
+
+# Shared library names:
+LIBSO=$(LIBNAME).sl
+LIBSOMAJ=$(LIBNAME).sl.$(PNGMAJ)
+LIBSOVER=$(LIBNAME).sl.$(PNGVER)
+OLDSO=libpng.sl
+OLDSOMAJ=libpng.sl.0
+OLDSOVER=libpng.sl.0.$(PNGMIN)
+
+# Utilities:
 AR_RC=ar rc
 CC=cc
 MKDIR_P=mkdir -p
@@ -30,12 +45,6 @@
 
 LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
 
-
-PNGMAJ = 0
-PNGMIN = 1.2.9beta10
-PNGVER = $(PNGMAJ).$(PNGMIN)
-LIBNAME = libpng12
-
 # where make install puts libpng.a, libpng12.sl, and png.h
 prefix=/opt/libpng
 exec_prefix=$prefix
@@ -70,7 +79,7 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) +z -o $@ $*.c
 
-all: libpng.a $(LIBNAME).sl pngtest libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -89,19 +98,19 @@
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
 
-$(LIBNAME).sl: $(LIBNAME).sl.$(PNGMAJ)
-	$(LN_SF) $(LIBNAME).sl.$(PNGMAJ) $(LIBNAME).sl
+$(LIBSO): $(LIBSOMAJ)
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBNAME).sl.$(PNGMAJ): $(LIBNAME).sl.$(PNGVER)
-	$(LN_SF) $(LIBNAME).sl.$(PNGVER) $(LIBNAME).sl.$(PNGMAJ)
+$(LIBSOMAJ): $(LIBSOVER)
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
 
-$(LIBNAME).sl.$(PNGVER): $(OBJSDLL)
+$(LIBSOVER): $(OBJSDLL)
 	$(LD) -b +s \
-	+h $(LIBNAME).sl.$(PNGMAJ) -o $(LIBNAME).sl.$(PNGVER) $(OBJSDLL)
+	+h $(LIBSOMAJ) -o $(LIBSOVER) $(OBJSDLL)
 
-libpng.sl.3.$(PNGMIN): $(OBJSDLL)
+$(OLDSOVER): $(OBJSDLL)
 	$(LD) -b +s \
-	+h libpng.sl.3 -o libpng.sl.3.$(PNGMIN) $(OBJSDLL)
+	+h $(OLDSOMAJ) -o $(OLDSOVER) $(OBJSDLL)
 
 pngtest: pngtest.o libpng.a
 	$(CC) -o pngtest $(CCFLAGS) pngtest.o $(LDFLAGS)
@@ -125,23 +134,23 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).sl.$(PNGVER) libpng.pc \
-	libpng.sl.3.$(PNGMIN)
+install-shared: install-headers $(LIBSOVER) libpng.pc \
+	$(OLDSOVER)
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBNAME).sl.$(PNGVER)* $(DL)/$(LIBNAME).sl
-	-@$(RM_F) $(DL)/$(LIBNAME).sl.$(PNGMAJ)
-	-@$(RM_F) $(DL)/libpng.sl
-	-@$(RM_F) $(DL)/libpng.sl.3
-	-@$(RM_F) $(DL)/libpng.sl.3.$(PNGMIN)*
-	cp $(LIBNAME).sl.$(PNGVER) $(DL)
-	cp libpng.sl.3.$(PNGMIN) $(DL)
-	chmod 755 $(DL)/$(LIBNAME).sl.$(PNGVER)
-	chmod 755 $(DL)/libpng.sl.3.$(PNGMIN)
+	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSO)
+	-@$(RM_F) $(DL)/$(OLDSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSOVER)*
+	cp $(LIBSOVER) $(DL)
+	cp $(OLDSOVER) $(DL)
+	chmod 755 $(DL)/$(LIBSOVER)
+	chmod 755 $(DL)/$(OLDSOVER)
 	(cd $(DL); \
-	$(LN_SF) libpng.sl.3.$(PNGMIN) libpng.sl.3; \
-	$(LN_SF) libpng.sl.3 libpng.sl; \
-	$(LN_SF) $(LIBNAME).sl.$(PNGVER) $(LIBNAME).sl.$(PNGMAJ); \
-	$(LN_SF) $(LIBNAME).sl.$(PNGMAJ) $(LIBNAME).sl)
+	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
+	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -194,8 +203,8 @@
 
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
-	libpng-config $(LIBNAME).sl $(LIBNAME).sl.$(PNGMAJ)* \
-	libpng.sl.3.$(PNGMIN) \
+	libpng-config $(LIBSO) $(LIBSOMAJ)* \
+	$(OLDSOVER) \
 	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc
index 8290c71..ea62557 100644
--- a/scripts/makefile.hpgcc
+++ b/scripts/makefile.hpgcc
@@ -5,6 +5,21 @@
 # Copyright (C) 1996, 1997 Andreas Dilger
 # For conditions of distribution and use, see copyright notice in png.h
 
+# Library name:
+LIBNAME = libpng12
+PNGMAJ = 0
+PNGMIN = 1.2.9beta11
+PNGVER = $(PNGMAJ).$(PNGMIN)
+
+# Shared library names:
+LIBSO=$(LIBNAME).sl
+LIBSOMAJ=$(LIBNAME).sl.$(PNGMAJ)
+LIBSOVER=$(LIBNAME).sl.$(PNGVER)
+OLDSO=libpng.sl
+OLDSOMAJ=libpng.sl.0
+OLDSOVER=libpng.sl.0.$(PNGMIN)
+
+# Utilities:
 CC=gcc
 LD=ld
 AR_RC=ar rc
@@ -13,7 +28,7 @@
 RANLIB=ranlib
 RM_F=/bin/rm -f
 
-# where "make install" puts libpng.a, libpng.sl*, png.h and pngconf.h
+# where "make install" puts libpng.a, $(OLDSO)*, png.h and pngconf.h
 prefix=/usr/local
 exec_prefix=$prefix
 
@@ -43,11 +58,6 @@
 #LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng12 -lz -lm
 LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz -lm
 
-PNGMAJ = 0
-PNGMIN = 1.2.9beta10
-PNGVER = $(PNGMAJ).$(PNGMIN)
-LIBNAME = libpng12
-
 INCPATH=$(prefix)/include
 LIBPATH=$(exec_prefix)/lib
 MANPATH=$(prefix)/man
@@ -79,7 +89,7 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
 
-all: libpng.a $(LIBNAME).sl pngtest libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -96,21 +106,21 @@
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
 
-$(LIBNAME).sl: $(LIBNAME).sl.$(PNGMAJ)
-	$(LN_SF) $(LIBNAME).sl.$(PNGMAJ) $(LIBNAME).sl
+$(LIBSO): $(LIBSOMAJ)
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBNAME).sl.$(PNGMAJ): $(LIBNAME).sl.$(PNGVER)
-	$(LN_SF) $(LIBNAME).sl.$(PNGVER) $(LIBNAME).sl.$(PNGMAJ)
+$(LIBSOMAJ): $(LIBSOVER)
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
 
-$(LIBNAME).sl.$(PNGVER): $(OBJSDLL)
+$(LIBSOVER): $(OBJSDLL)
 	$(LD) -b +s \
-	+h $(LIBNAME).sl.$(PNGMAJ) -o $(LIBNAME).sl.$(PNGVER) $(OBJSDLL)
+	+h $(LIBSOMAJ) -o $(LIBSOVER) $(OBJSDLL)
 
-libpng.sl.3.$(PNGMIN): $(OBJSDLL)
+$(OLDSOVER): $(OBJSDLL)
 	$(LD) -b +s \
-	+h libpng.sl.3 -o libpng.sl.3.$(PNGMIN) $(OBJSDLL)
+	+h $(OLDSOMAJ) -o $(OLDSOVER) $(OBJSDLL)
 
-pngtest: pngtest.o $(LIBNAME).sl
+pngtest: pngtest.o $(LIBSO)
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
 test: pngtest
@@ -133,23 +143,23 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).sl.$(PNGVER) libpng.pc \
-	libpng.sl.3.$(PNGMIN)
+install-shared: install-headers $(LIBSOVER) libpng.pc \
+	$(OLDSOVER)
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBNAME).sl.$(PNGVER)* $(DL)/$(LIBNAME).sl
-	-@$(RM_F) $(DL)/$(LIBNAME).sl.$(PNGMAJ)
-	-@$(RM_F) $(DL)/libpng.sl
-	-@$(RM_F) $(DL)/libpng.sl.3
-	-@$(RM_F) $(DL)/libpng.sl.3.$(PNGMIN)*
-	cp $(LIBNAME).sl.$(PNGVER) $(DL)
-	cp libpng.sl.3.$(PNGMIN) $(DL)
-	chmod 755 $(DL)/$(LIBNAME).sl.$(PNGVER)
-	chmod 755 $(DL)/libpng.sl.3.$(PNGMIN)
+	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSO)
+	-@$(RM_F) $(DL)/$(OLDSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSOVER)*
+	cp $(LIBSOVER) $(DL)
+	cp $(OLDSOVER) $(DL)
+	chmod 755 $(DL)/$(LIBSOVER)
+	chmod 755 $(DL)/$(OLDSOVER)
 	(cd $(DL); \
-	$(LN_SF) libpng.sl.3.$(PNGMIN) libpng.sl.3; \
-	$(LN_SF) libpng.sl.3 libpng.sl; \
-	$(LN_SF) $(LIBNAME).sl.$(PNGVER) $(LIBNAME).sl.$(PNGMAJ); \
-	$(LN_SF) $(LIBNAME).sl.$(PNGMAJ) $(LIBNAME).sl)
+	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
+	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -202,8 +212,8 @@
 
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
-	libpng-config $(LIBNAME).sl $(LIBNAME).sl.$(PNGMAJ)* \
-	libpng.sl.3.$(PNGMIN) \
+	libpng-config $(LIBSO) $(LIBSOMAJ)* \
+	$(OLDSOVER) \
 	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index 4c48a94..369ab7c 100644
--- a/scripts/makefile.hpux
+++ b/scripts/makefile.hpux
@@ -15,6 +15,21 @@
 #   LDSHARED=ld -b
 #   SHAREDLIB=libz.sl
 
+# Library name:
+LIBNAME = libpng12
+PNGMAJ = 0
+PNGMIN = 1.2.9beta11
+PNGVER = $(PNGMAJ).$(PNGMIN)
+
+# Shared library names:
+LIBSO=$(LIBNAME).sl
+LIBSOMAJ=$(LIBNAME).sl.$(PNGMAJ)
+LIBSOVER=$(LIBNAME).sl.$(PNGVER)
+OLDSO=libpng.sl
+OLDSOMAJ=libpng.sl.0
+OLDSOVER=libpng.sl.0.$(PNGMIN)
+
+# Utilities:
 AR_RC=ar rc
 CC=cc
 MKDIR_P=mkdir -p
@@ -22,16 +37,6 @@
 RANLIB=ranlib
 RM_F=/bin/rm -f
 
-CFLAGS=-I$(ZLIBINC) -O -Ae +DA1.1 +DS2.0
-# Caution: be sure you have built zlib with the same CFLAGS.
-CCFLAGS=-I$(ZLIBINC) -O -Ae +DA1.1 +DS2.0
-LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
-
-PNGMAJ = 0
-PNGMIN = 1.2.9beta10
-PNGVER = $(PNGMAJ).$(PNGMIN)
-LIBNAME = libpng12
-
 # where make install puts libpng.a, libpng12.sl, and png.h
 prefix=/opt/libpng
 exec_prefix=$prefix
@@ -40,6 +45,11 @@
 MANPATH=$(prefix)/man
 BINPATH=$(exec_prefix)/bin
 
+CFLAGS=-I$(ZLIBINC) -O -Ae +DA1.1 +DS2.0
+# Caution: be sure you have built zlib with the same CFLAGS.
+CCFLAGS=-I$(ZLIBINC) -O -Ae +DA1.1 +DS2.0
+LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
+
 # override DESTDIR= on the make install command line to easily support
 # installing into a temporary location.  Example:
 #
@@ -66,7 +76,7 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) +z -o $@ $*.c
 
-all: libpng.a $(LIBNAME).sl pngtest libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -85,19 +95,19 @@
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
 
-$(LIBNAME).sl: $(LIBNAME).sl.$(PNGMAJ)
-	$(LN_SF) $(LIBNAME).sl.$(PNGMAJ) $(LIBNAME).sl
+$(LIBSO): $(LIBSOMAJ)
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBNAME).sl.$(PNGMAJ): $(LIBNAME).sl.$(PNGVER)
-	$(LN_SF) $(LIBNAME).sl.$(PNGVER) $(LIBNAME).sl.$(PNGMAJ)
+$(LIBSOMAJ): $(LIBSOVER)
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
 
-$(LIBNAME).sl.$(PNGVER): $(OBJSDLL)
+$(LIBSOVER): $(OBJSDLL)
 	$(LD) -b +s \
-	+h $(LIBNAME).sl.$(PNGMAJ) -o $(LIBNAME).sl.$(PNGVER) $(OBJSDLL)
+	+h $(LIBSOMAJ) -o $(LIBSOVER) $(OBJSDLL)
 
-libpng.sl.3.$(PNGMIN): $(OBJSDLL)
+$(OLDSOVER): $(OBJSDLL)
 	$(LD) -b +s \
-	+h libpng.sl.3 -o libpng.sl.3.$(PNGMIN) $(OBJSDLL)
+	+h $(OLDSOMAJ) -o $(OLDSOVER) $(OBJSDLL)
 
 pngtest: pngtest.o libpng.a
 	$(CC) -o pngtest $(CCFLAGS) pngtest.o $(LDFLAGS)
@@ -121,23 +131,23 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).sl.$(PNGVER) libpng.pc \
-	libpng.sl.3.$(PNGMIN)
+install-shared: install-headers $(LIBSOVER) libpng.pc \
+	$(OLDSOVER)
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBNAME).sl.$(PNGVER)* $(DL)/$(LIBNAME).sl
-	-@$(RM_F) $(DL)/$(LIBNAME).sl.$(PNGMAJ)
-	-@$(RM_F) $(DL)/libpng.sl
-	-@$(RM_F) $(DL)/libpng.sl.3
-	-@$(RM_F) $(DL)/libpng.sl.3.$(PNGMIN)*
-	cp $(LIBNAME).sl.$(PNGVER) $(DL)
-	cp libpng.sl.3.$(PNGMIN) $(DL)
-	chmod 755 $(DL)/$(LIBNAME).sl.$(PNGVER)
-	chmod 755 $(DL)/libpng.sl.3.$(PNGMIN)
+	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSO)
+	-@$(RM_F) $(DL)/$(OLDSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSOVER)*
+	cp $(LIBSOVER) $(DL)
+	cp $(OLDSOVER) $(DL)
+	chmod 755 $(DL)/$(LIBSOVER)
+	chmod 755 $(DL)/$(OLDSOVER)
 	(cd $(DL); \
-	$(LN_SF) libpng.sl.3.$(PNGMIN) libpng.sl.3; \
-	$(LN_SF) libpng.sl.3 libpng.sl; \
-	$(LN_SF) $(LIBNAME).sl.$(PNGVER) $(LIBNAME).sl.$(PNGMAJ); \
-	$(LN_SF) $(LIBNAME).sl.$(PNGMAJ) $(LIBNAME).sl)
+	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
+	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -190,8 +200,8 @@
 
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
-	libpng-config $(LIBNAME).sl $(LIBNAME).sl.$(PNGMAJ)* \
-	libpng.sl.3.$(PNGMIN) \
+	libpng-config $(LIBSO) $(LIBSOMAJ)* \
+	$(OLDSOVER) \
 	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index 171b749..213c25b 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -3,11 +3,21 @@
 # Copyright (C) 1996, 1997 Andreas Dilger
 # For conditions of distribution and use, see copyright notice in png.h
 
+# Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.9beta10
+PNGMIN = 1.2.9beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOVER=$(LIBNAME).so.$(PNGVER)
+OLDSO=libpng.so
+OLDSOMAJ=libpng.so.0
+OLDSOVER=libpng.so.0.$(PNGMIN)
+
+# Utilities:
 AR_RC=ar rc
 CC=gcc
 MKDIR_P=mkdir -p
@@ -74,7 +84,7 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
 
-all: libpng.a $(LIBNAME).so pngtest pngtest-static libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest pngtest-static libpng.pc libpng-config
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -93,23 +103,21 @@
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
 
-$(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ)
-	$(LN_SF) $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so
+$(LIBSO): $(LIBSOMAJ)
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBNAME).so.$(PNGMAJ): $(LIBNAME).so.$(PNGVER)
-	$(LN_SF) $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ)
+$(LIBSOMAJ): $(LIBSOVER)
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
 
-$(LIBNAME).so.$(PNGVER): $(OBJSDLL)
-	$(CC) -shared -Wl,-soname,$(LIBNAME).so.$(PNGMAJ) \
-	-o $(LIBNAME).so.$(PNGVER) \
+$(LIBSOVER): $(OBJSDLL)
+	$(CC) -shared -Wl,-soname,$(LIBSOMAJ) -o $(LIBSOVER) $(OBJSDLL)
+
+$(OLDSOVER): $(OBJSDLL)
+	$(CC) -shared -Wl,-soname,$(OLDSOMAJ) \
+	-o $(OLDSOVER) \
 	$(OBJSDLL)
 
-libpng.so.0.$(PNGMIN): $(OBJSDLL)
-	$(CC) -shared -Wl,-soname,libpng.so.0 \
-	-o libpng.so.0.$(PNGMIN) \
-	$(OBJSDLL)
-
-pngtest: pngtest.o $(LIBNAME).so
+pngtest: pngtest.o $(LIBSO)
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
 pngtest-static: pngtest.o libpng.a
@@ -117,7 +125,7 @@
 
 test: pngtest pngtest-static
 	@echo ""
-	@echo "   Running pngtest dynamically linked with $(LIBNAME).so:"
+	@echo "   Running pngtest dynamically linked with $(LIBSO):"
 	@echo ""
 	./pngtest
 	@echo ""
@@ -141,23 +149,23 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
-	libpng.so.0.$(PNGMIN)
+install-shared: install-headers $(LIBSOVER) libpng.pc \
+	$(OLDSOVER)
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
-	-@$(RM_F) $(DL)/$(LIBNAME).so.$(PNGMAJ)
-	-@$(RM_F) $(DL)/libpng.so
-	-@$(RM_F) $(DL)/libpng.so.0
-	-@$(RM_F) $(DL)/libpng.so.0.$(PNGMIN)*
-	cp $(LIBNAME).so.$(PNGVER) $(DL)
-	cp libpng.so.0.$(PNGMIN) $(DL)
-	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
-	chmod 755 $(DL)/libpng.so.0.$(PNGMIN)
+	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSO)
+	-@$(RM_F) $(DL)/$(OLDSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSOVER)*
+	cp $(LIBSOVER) $(DL)
+	cp $(OLDSOVER) $(DL)
+	chmod 755 $(DL)/$(LIBSOVER)
+	chmod 755 $(DL)/$(OLDSOVER)
 	(cd $(DL); \
-	$(LN_SF) libpng.so.0.$(PNGMIN) libpng.so.0; \
-	$(LN_SF) libpng.so.0 libpng.so; \
-	$(LN_SF) $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
-	$(LN_SF) $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
+	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
+	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -208,8 +216,8 @@
 
 clean:
 	$(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
-	$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtest-static pngtesti \
-	libpng.so.0.$(PNGMIN) \
+	$(LIBSO) $(LIBSOMAJ)* pngtest-static pngtesti \
+	$(OLDSOVER) \
 	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
diff --git a/scripts/makefile.mingw b/scripts/makefile.mingw
index fcdc2bb..460e12e 100644
--- a/scripts/makefile.mingw
+++ b/scripts/makefile.mingw
@@ -76,7 +76,7 @@
 LIBNAME = libpng12
 PNGMAJ = 0
 MINGDLL = 12
-PNGMIN = 1.2.9beta10
+PNGMIN = 1.2.9beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=libpng$(MINGDLL).dll
diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd
index 24c7332..4fdac08 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -13,7 +13,7 @@
 
 LIB=	png12
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.2.9beta10
+SHLIB_MINOR=	1.2.9beta11
 SRCS=	pnggccrd.c png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
 		pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
 		pngwtran.c pngmem.c pngerror.c pngpread.c
diff --git a/scripts/makefile.netbsd b/scripts/makefile.netbsd
index 9a28232..8d93034 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -13,7 +13,7 @@
 
 LIB=	png
 SHLIB_MAJOR=	3
-SHLIB_MINOR=	1.2.9beta10
+SHLIB_MINOR=	1.2.9beta11
 SRCS=	pnggccrd.c png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
 		pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
 		pngwtran.c pngmem.c pngerror.c pngpread.c
diff --git a/scripts/makefile.openbsd b/scripts/makefile.openbsd
index 0a57697..a155b18 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -7,7 +7,7 @@
 MANDIR= ${PREFIX}/man/cat
 
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.2.9beta10
+SHLIB_MINOR=	1.2.9beta11
 
 LIB=	png
 SRCS=	png.c pngerror.c pnggccrd.c pngget.c pngmem.c pngpread.c \
diff --git a/scripts/makefile.sco b/scripts/makefile.sco
index 0114f6c..ff6b622 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -6,6 +6,21 @@
 # Copyright (C) 1996, 1997 Andreas Dilger
 # For conditions of distribution and use, see copyright notice in png.h
 
+# Library name:
+LIBNAME = libpng12
+PNGMAJ = 0
+PNGMIN = 1.2.9beta11
+PNGVER = $(PNGMAJ).$(PNGMIN)
+
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOVER=$(LIBNAME).so.$(PNGVER)
+OLDSO=libpng.so
+OLDSOMAJ=libpng.so.0
+OLDSOVER=libpng.so.0.$(PNGMIN)
+
+# Utilities:
 CC=cc
 AR_RC=ar rc
 MKDIR_P=mkdir
@@ -13,7 +28,7 @@
 RANLIB=echo
 RM_F=/bin/rm -f
 
-# where make install puts libpng.a, libpng.so*, and png.h
+# where make install puts libpng.a, $(OLDSO)*, and png.h
 prefix=/usr/local
 exec_prefix=$prefix
 
@@ -26,11 +41,6 @@
 CFLAGS= -dy -belf -I$(ZLIBINC) -O3
 LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz -lm
 
-PNGMAJ = 0
-PNGMIN = 1.2.9beta10
-PNGVER = $(PNGMAJ).$(PNGMIN)
-LIBNAME = libpng12
-
 INCPATH=$(prefix)/include/libpng
 LIBPATH=$(exec_prefix)/lib
 MANPATH=$(prefix)/man
@@ -62,7 +72,7 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) -KPIC -o $@ $*.c
 
-all: libpng.a $(LIBNAME).so pngtest libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -81,21 +91,21 @@
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
 
-$(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ)
-	$(LN_FS) $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so
+$(LIBSO): $(LIBSOMAJ)
+	$(LN_FS) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBNAME).so.$(PNGMAJ): $(LIBNAME).so.$(PNGVER)
-	$(LN_FS) $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ)
+$(LIBSOMAJ): $(LIBSOVER)
+	$(LN_FS) $(LIBSOVER) $(LIBSOMAJ)
 
-$(LIBNAME).so.$(PNGVER): $(OBJSDLL)
-	$(CC) -G  -Wl,-h,$(LIBNAME).so.$(PNGMAJ) -o $(LIBNAME).so.$(PNGVER) \
+$(LIBSOVER): $(OBJSDLL)
+	$(CC) -G  -Wl,-h,$(LIBSOMAJ) -o $(LIBSOVER) \
 	 $(OBJSDLL)
 
-libpng.so.0.$(PNGMIN): $(OBJSDLL)
-	$(CC) -G  -Wl,-h,libpng.so.0 -o libpng.so.0.$(PNGMIN) \
+$(OLDSOVER): $(OBJSDLL)
+	$(CC) -G  -Wl,-h,$(OLDSOMAJ) -o $(OLDSOVER) \
 	$(OBJSDLL)
 
-pngtest: pngtest.o $(LIBNAME).so
+pngtest: pngtest.o $(LIBSO)
 	LD_RUN_PATH=.:$(ZLIBLIB) $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
 test: pngtest
@@ -119,23 +129,23 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_FS) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
-	libpng.so.0.$(PNGMIN)
+install-shared: install-headers $(LIBSOVER) libpng.pc \
+	$(OLDSOVER)
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
-	-@$(RM_F) $(DL)/$(LIBNAME).so.$(PNGMAJ)
-	-@$(RM_F) $(DL)/libpng.so
-	-@$(RM_F) $(DL)/libpng.so.0
-	-@$(RM_F) $(DL)/libpng.so.0.$(PNGMIN)*
-	cp $(LIBNAME).so.$(PNGVER) $(DL)
-	cp libpng.so.0.$(PNGMIN) $(DL)
-	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
-	chmod 755 $(DL)/libpng.so.0.$(PNGMIN)
+	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSO)
+	-@$(RM_F) $(DL)/$(OLDSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSOVER)*
+	cp $(LIBSOVER) $(DL)
+	cp $(OLDSOVER) $(DL)
+	chmod 755 $(DL)/$(LIBSOVER)
+	chmod 755 $(DL)/$(OLDSOVER)
 	(cd $(DL); \
-	$(LN_FS) libpng.so.0.$(PNGMIN) libpng.so.0; \
-	$(LN_FS) libpng.so.0 libpng.so; \
-	$(LN_FS) $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
-	$(LN_FS) $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
+	$(LN_FS) $(OLDSOVER) $(OLDSOMAJ); \
+	$(LN_FS) $(OLDSOMAJ) $(OLDSO); \
+	$(LN_FS) $(LIBSOVER) $(LIBSOMAJ); \
+	$(LN_FS) $(LIBSOMAJ) $(LIBSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -186,8 +196,8 @@
 
 clean:
 	$(RM_F) *.o libpng.a pngtest pngout.png libpng-config \
-	$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtest-static pngtesti \
-	libpng.so.0.$(PNGMIN) \
+	$(LIBSO) $(LIBSOMAJ)* pngtest-static pngtesti \
+	$(OLDSOVER) \
 	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index c4e260a..a2dcb50 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -3,6 +3,28 @@
 # Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
 # For conditions of distribution and use, see copyright notice in png.h
 
+# Library name:
+LIBNAME=libpng12
+PNGMAJ = 0
+PNGMIN = 1.2.9beta11
+PNGVER = $(PNGMAJ).$(PNGMIN)
+
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOVER=$(LIBNAME).so.$(PNGVER)
+OLDSO=libpng.so
+OLDSOMAJ=libpng.so.0
+OLDSOVER=libpng.so.0.$(PNGMIN)
+
+# Utilities:
+AR_RC=ar rc
+CC=gcc
+MKDIR_P=mkdir -p
+LN_SF=ln -sf
+RANLIB=echo
+RM_F=/bin/rm -f
+
 # Where make install puts libpng.a, libpng12.so, and libpng12/png.h
 # Prefix must be a full pathname.
 
@@ -17,18 +39,6 @@
 ZLIBLIB=../zlib
 ZLIBINC=../zlib
 
-LIBNAME=libpng12
-PNGMAJ = 0
-PNGMIN = 1.2.9beta10
-PNGVER = $(PNGMAJ).$(PNGMIN)
-
-AR_RC=ar rc
-CC=gcc
-MKDIR_P=mkdir -p
-LN_SF=ln -sf
-RANLIB=echo
-RM_F=/bin/rm -f
-
 # ABI can be blank to use default for your system, -32, -o32, -n32, or -64
 # See "man abi".  zlib must be built with the same ABI.
 ABI=
@@ -36,15 +46,12 @@
 WARNMORE= # -g -DPNG_DEBUG=5
 CFLAGS=$(ABI) -I$(ZLIBINC) -O2 $(WARNMORE) -fPIC -mabi=n32
 LDFLAGS=$(ABI) -L. -L$(ZLIBLIB) -lpng -lz -lm
-LDSHARED=cc $(ABI) -shared -soname $(LIBNAME).so.$(PNGMAJ) \
+LDSHARED=cc $(ABI) -shared -soname $(LIBSOMAJ) \
   -set_version sgi$(PNGMAJ).0
-LDLEGACY=cc $(ABI) -shared -soname libpng.so.0 \
+LDLEGACY=cc $(ABI) -shared -soname $(OLDSOMAJ) \
   -set_version sgi$3.0
 # See "man dso" for info about shared objects
 
-RANLIB=echo
-#RANLIB=ranlib
-
 INCPATH=$(prefix)/include
 LIBPATH=$(exec_prefix)/lib
 #LIBPATH=$(exec_prefix)/lib32
@@ -76,7 +83,7 @@
 	$(AR_RC) $@ $(OBJS)
 	$(RANLIB) $@
 
-shared: $(LIBNAME).so.$(PNGVER)
+shared: $(LIBSOVER)
 
 libpng.pc:
 	cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
@@ -93,17 +100,17 @@
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
 
-$(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ)
-	ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so
+$(LIBSO): $(LIBSOMAJ)
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBNAME).so.$(PNGMAJ): $(LIBNAME).so.$(PNGVER)
-	ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ)
+$(LIBSOMAJ): $(LIBSOVER)
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
 
-$(LIBNAME).so.$(PNGVER): $(OBJS)
+$(LIBSOVER): $(OBJS)
 	$(LDSHARED) -o $@ $(OBJS)
-	$(RM_F) $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)
+	$(RM_F) $(LIBSO) $(LIBSOMAJ)
 
-libpng.so.0.$(PNGMIN): $(OBJS)
+$(OLDSOVER): $(OBJS)
 	$(LDLEGACY) -o $@ $(OBJS)
 
 pngtest: pngtest.o libpng.a
@@ -121,38 +128,38 @@
 	chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h
 	-@$(RM_F) $(DI)/png.h $(DI)/pngconf.h
 	-@$(RM_F) $(DI)/libpng
-	(cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
+	(cd $(DI); $(LN_SF) $(LIBNAME) libpng; $(LN_SF) $(LIBNAME)/* .)
 
 install-static: install-headers libpng.a
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
 	cp libpng.a $(DL)/$(LIBNAME).a
 	chmod 644 $(DL)/$(LIBNAME).a
 	-@$(RM_F) $(DL)/libpng.a
-	(cd $(DL); ln -sf $(LIBNAME).a libpng.a)
+	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
-	libpng.so.0.$(PNGMIN)
+install-shared: install-headers $(LIBSOVER) libpng.pc \
+	$(OLDSOVER)
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
-	-@$(RM_F) $(DL)/$(LIBNAME).so.$(PNGMAJ)
-	-@$(RM_F) $(DL)/libpng.so
-	-@$(RM_F) $(DL)/libpng.so.0
-	-@$(RM_F) $(DL)/libpng.so.0.$(PNGMIN)*
-	cp $(LIBNAME).so.$(PNGVER) $(DL)
-	cp libpng.so.0.$(PNGMIN) $(DL)
-	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
-	chmod 755 $(DL)/libpng.so.0.$(PNGMIN)
+	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSO)
+	-@$(RM_F) $(DL)/$(OLDSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSOVER)*
+	cp $(LIBSOVER) $(DL)
+	cp $(OLDSOVER) $(DL)
+	chmod 755 $(DL)/$(LIBSOVER)
+	chmod 755 $(DL)/$(OLDSOVER)
 	(cd $(DL); \
-	ln -sf libpng.so.0.$(PNGMIN) libpng.so.0; \
-	ln -sf libpng.so.0 libpng.so; \
-	ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
-	ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
+	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
+	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
 	cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
 	chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc
-	(cd $(DL)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc)
+	(cd $(DL)/pkgconfig; $(LN_SF) $(LIBNAME).pc libpng.pc)
 
 install-man: libpng.3 libpngpf.3 png.5
 	-@if [ ! -d $(DM) ]; then $(MKDIR_P) $(DM); fi
@@ -171,7 +178,7 @@
 	-@$(RM_F) $(DB)/$(LIBNAME)-config
 	cp libpng-config $(DB)/$(LIBNAME)-config
 	chmod 755 $(DB)/$(LIBNAME)-config
-	(cd $(DB); ln -sf $(LIBNAME)-config libpng-config)
+	(cd $(DB); $(LN_SF) $(LIBNAME)-config libpng-config)
 
 install: install-static install-shared install-man install-config
 
@@ -185,7 +192,7 @@
 	$(CC) -I$(DI) -I$(ZLIBINC) \
 	   `$(BINPATH)/$(LIBNAME)-config --cflags` pngtest.c \
 	   -L$(DL) -L$(ZLIBLIB) \
-           -rpath $(ZLIBLIB):$(DL)\
+           -rpath $(ZLIBLIB):$(DL) \
 	   -o pngtestd `$(BINPATH)/$(LIBNAME)-config --ldflags`
 	./pngtestd pngtest.png
 
@@ -201,8 +208,8 @@
 
 clean:
 	$(RM_F) libpng.a pngtest pngtesti pngout.png libpng.pc libpng-config \
-	$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
-	libpng.so.0.$(PNGMIN) \
+	$(LIBSO) $(LIBSOMAJ)* \
+	$(OLDSOVER) \
 	so_locations
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi
index c5bd816..7325c74 100644
--- a/scripts/makefile.sgi
+++ b/scripts/makefile.sgi
@@ -3,11 +3,28 @@
 # Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
 # For conditions of distribution and use, see copyright notice in png.h
 
+# Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.9beta10
+PNGMIN = 1.2.9beta11
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOVER=$(LIBNAME).so.$(PNGVER)
+OLDSO=libpng.so
+OLDSOMAJ=libpng.so.0
+OLDSOVER=libpng.so.0.$(PNGMIN)
+
+# Utilities:
+AR_RC=ar rc
+CC=cc
+MKDIR_P=mkdir -p
+LN_SF=ln -sf
+RANLIB=echo
+RM_F=/bin/rm -f
+
 # Where make install puts libpng.a, libpng12.so, and libpng12/png.h
 # Prefix must be a full pathname.
 
@@ -22,13 +39,6 @@
 ZLIBLIB=../zlib
 ZLIBINC=../zlib
 
-AR_RC=ar rc
-CC=cc
-MKDIR_P=mkdir -p
-LN_SF=ln -sf
-RANLIB=echo
-RM_F=/bin/rm -f
-
 # ABI can be blank to use default for your system, -32, -o32, -n32, or -64
 # See "man abi".  zlib must be built with the same ABI.
 ABI=
@@ -40,9 +50,9 @@
   -DPNG_NO_ASSEMBLER_CODE
 LDFLAGS_A=$(ABI) -L. -L$(ZLIBLIB) -lpng12 -lz -lm
 LDFLAGS=$(ABI) -L. -L$(ZLIBLIB) -lpng -lz -lm
-LDSHARED=cc $(ABI) -shared -soname $(LIBNAME).so.$(PNGMAJ) \
+LDSHARED=cc $(ABI) -shared -soname $(LIBSOMAJ) \
   -set_version sgi$(PNGMAJ).0
-LDLEGACY=cc $(ABI) -shared -soname libpng.so.0 \
+LDLEGACY=cc $(ABI) -shared -soname $(OLDSOMAJ) \
   -set_version sgi$3.0
 # See "man dso" for info about shared objects
 
@@ -77,7 +87,7 @@
 	$(AR_RC) $@ $(OBJS)
 	$(RANLIB) $@
 
-shared: $(LIBNAME).so.$(PNGVER)
+shared: $(LIBSOVER)
 
 libpng.pc:
 	cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc
@@ -95,17 +105,17 @@
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
 
-$(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ)
-	$(LN_SF) $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so
+$(LIBSO): $(LIBSOMAJ)
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBNAME).so.$(PNGMAJ): $(LIBNAME).so.$(PNGVER)
-	$(LN_SF) $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ)
+$(LIBSOMAJ): $(LIBSOVER)
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
 
-$(LIBNAME).so.$(PNGVER): $(OBJS)
+$(LIBSOVER): $(OBJS)
 	$(LDSHARED) -o $@ $(OBJS)
-	$(RM_F) $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)
+	$(RM_F) $(LIBSO) $(LIBSOMAJ)
 
-libpng.so.0.$(PNGMIN): $(OBJS)
+$(OLDSOVER): $(OBJS)
 	$(LDLEGACY) -o $@ $(OBJS)
 
 pngtest: pngtest.o libpng.a
@@ -132,23 +142,23 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
-	libpng.so.0.$(PNGMIN)
+install-shared: install-headers $(LIBSOVER) libpng.pc \
+	$(OLDSOVER)
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
-	-@$(RM_F) $(DL)/$(LIBNAME).so.$(PNGMAJ)
-	-@$(RM_F) $(DL)/libpng.so
-	-@$(RM_F) $(DL)/libpng.so.0
-	-@$(RM_F) $(DL)/libpng.so.0.$(PNGMIN)*
-	cp $(LIBNAME).so.$(PNGVER) $(DL)
-	cp libpng.so.0.$(PNGMIN) $(DL)
-	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
-	chmod 755 $(DL)/libpng.so.0.$(PNGMIN)
+	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSO)
+	-@$(RM_F) $(DL)/$(OLDSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSOVER)*
+	cp $(LIBSOVER) $(DL)
+	cp $(OLDSOVER) $(DL)
+	chmod 755 $(DL)/$(LIBSOVER)
+	chmod 755 $(DL)/$(OLDSOVER)
 	(cd $(DL); \
-	$(LN_SF) libpng.so.0.$(PNGMIN) libpng.so.0; \
-	$(LN_SF) libpng.so.0 libpng.so; \
-	$(LN_SF) $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
-	$(LN_SF) $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
+	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
+	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -203,8 +213,8 @@
 
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png libpng.pc libpng-config \
-	$(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
-	libpng.so.0.$(PNGMIN) \
+	$(LIBSO) $(LIBSOMAJ)* \
+	$(OLDSOVER) \
 	so_locations
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
diff --git a/scripts/makefile.so9 b/scripts/makefile.so9
index 850ff71..2b92f78 100644
--- a/scripts/makefile.so9
+++ b/scripts/makefile.so9
@@ -6,6 +6,21 @@
 # Copyright (C) 1996-1997 Andreas Dilger
 # For conditions of distribution and use, see copyright notice in png.h
 
+# Library name:
+PNGMAJ = 0
+PNGMIN = 1.2.9beta11
+PNGVER = $(PNGMAJ).$(PNGMIN)
+LIBNAME = libpng12
+
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOVER=$(LIBNAME).so.$(PNGVER)
+OLDSO=libpng.so
+OLDSOMAJ=libpng.so.0
+OLDSOVER=libpng.so.0.$(PNGMIN)
+
+# Utilities:
 # gcc 2.95 doesn't work.
 CC=cc
 AR_RC=ar rc
@@ -14,7 +29,7 @@
 RANLIB=echo
 RM_F=/bin/rm -f
 
-# Where make install puts libpng.a, libpng.so*, and png.h
+# Where make install puts libpng.a, $(OLDSO)*, and png.h
 prefix=/usr/local
 exec_prefix=$prefix
 
@@ -36,11 +51,6 @@
 CFLAGS=-I$(ZLIBINC) -O3
 LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng12 -lz -lm
 
-PNGMAJ = 0
-PNGMIN = 1.2.9beta10
-PNGVER = $(PNGMAJ).$(PNGMIN)
-LIBNAME = libpng12
-
 INCPATH=$(prefix)/include
 LIBPATH=$(exec_prefix)/lib
 MANPATH=$(prefix)/man
@@ -72,7 +82,7 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) -KPIC -o $@ $*.c
 
-all: libpng.a $(LIBNAME).so pngtest libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -91,13 +101,13 @@
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
 
-$(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ)
-	$(LN_SF) $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so
+$(LIBSO): $(LIBSOMAJ)
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBNAME).so.$(PNGMAJ): $(LIBNAME).so.$(PNGVER)
-	$(LN_SF) $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ)
+$(LIBSOMAJ): $(LIBSOVER)
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ)
 
-$(LIBNAME).so.$(PNGVER): $(OBJSDLL)
+$(LIBSOVER): $(OBJSDLL)
 	@case "`type ld`" in *ucb*) \
 	echo; \
 	echo '## WARNING:'; \
@@ -110,14 +120,14 @@
 	echo; \
 	;; \
 	esac
-	$(LD) -G -h $(LIBNAME).so.$(PNGMAJ) \
-	 -o $(LIBNAME).so.$(PNGVER) $(OBJSDLL)
+	$(LD) -G -h $(LIBSOMAJ) \
+	 -o $(LIBSOVER) $(OBJSDLL)
 
-libpng.so.0.$(PNGMIN): $(OBJS)
-	$(LD) -G -h libpng.so.0 \
-	 -o libpng.so.0.$(PNGMIN) $(OBJSDLL)
+$(OLDSOVER): $(OBJS)
+	$(LD) -G -h $(OLDSOMAJ) \
+	 -o $(OLDSOVER) $(OBJSDLL)
 
-pngtest: pngtest.o $(LIBNAME).so
+pngtest: pngtest.o $(LIBSO)
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
 test: pngtest
@@ -139,23 +149,23 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_SF) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
-	libpng.so.0.$(PNGMIN)
+install-shared: install-headers $(LIBSOVER) libpng.pc \
+	$(OLDSOVER)
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
-	-@$(RM_F) $(DL)/$(LIBNAME).so.$(PNGMAJ)
-	-@$(RM_F) $(DL)/libpng.so
-	-@$(RM_F) $(DL)/libpng.so.0
-	-@$(RM_F) $(DL)/libpng.so.0.$(PNGMIN)*
-	cp $(LIBNAME).so.$(PNGVER) $(DL)
-	cp libpng.so.0.$(PNGMIN) $(DL)
-	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
-	chmod 755 $(DL)/libpng.so.0.$(PNGMIN)
+	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSO)
+	-@$(RM_F) $(DL)/$(OLDSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSOVER)*
+	cp $(LIBSOVER) $(DL)
+	cp $(OLDSOVER) $(DL)
+	chmod 755 $(DL)/$(LIBSOVER)
+	chmod 755 $(DL)/$(OLDSOVER)
 	(cd $(DL); \
-	$(LN_SF) libpng.so.0.$(PNGMIN) libpng.so.0; \
-	$(LN_SF) libpng.so.0 libpng.so; \
-	$(LN_SF) $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \
-	$(LN_SF) $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so)
+	$(LN_SF) $(OLDSOVER) $(OLDSOMAJ); \
+	$(LN_SF) $(OLDSOMAJ) $(OLDSO); \
+	$(LN_SF) $(LIBSOVER) $(LIBSOMAJ); \
+	$(LN_SF) $(LIBSOMAJ) $(LIBSO))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -208,8 +218,8 @@
 
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
-	libpng-config $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
-	libpng.so.0.$(PNGMIN) \
+	libpng-config $(LIBSO) $(LIBSOMAJ)* \
+	$(OLDSOVER) \
 	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index 6fdb398..28f6327 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -5,6 +5,21 @@
 # Copyright (C) 1996, 1997 Andreas Dilger
 # For conditions of distribution and use, see copyright notice in png.h
 
+# Library name:
+LIBNAME = libpng12
+PNGMAJ = 0
+PNGMIN = 1.2.9beta11
+PNGVER = $(PNGMAJ).$(PNGMIN)
+
+# Shared library names:
+LIBSO=$(LIBNAME).so
+LIBSOMAJ=$(LIBNAME).so.$(PNGMAJ)
+LIBSOVER=$(LIBNAME).so.$(PNGVER)
+OLDSO=libpng.so
+OLDSOMAJ=libpng.so.0
+OLDSOVER=libpng.so.0.$(PNGMIN)
+
+# Utilities:
 AR_RC=ar rc
 CC=gcc
 MKDIR_P=mkdir -p
@@ -32,11 +47,6 @@
 	# $(WARNMORE) -g -DPNG_DEBUG=5
 LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng12 -lz -lm
 
-PNGMAJ = 0
-PNGMIN = 1.2.9beta10
-PNGVER = $(PNGMAJ).$(PNGMIN)
-LIBNAME = libpng12
-
 INCPATH=$(prefix)/include
 LIBPATH=$(exec_prefix)/lib
 MANPATH=$(prefix)/man
@@ -68,7 +78,7 @@
 .c.pic.o:
 	$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
 
-all: libpng.a $(LIBNAME).so pngtest libpng.pc libpng-config
+all: libpng.a $(LIBSO) pngtest libpng.pc libpng-config
 
 libpng.a: $(OBJS)
 	$(AR_RC) $@ $(OBJS)
@@ -88,13 +98,13 @@
 	cat scripts/libpng-config-body.in ) > libpng-config
 	chmod +x libpng-config
 
-$(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ)
-	$(LN_FS) $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so
+$(LIBSO): $(LIBSOMAJ)
+	$(LN_FS) $(LIBSOMAJ) $(LIBSO)
 
-$(LIBNAME).so.$(PNGMAJ): $(LIBNAME).so.$(PNGVER)
-	$(LN_FS) $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ)
+$(LIBSOMAJ): $(LIBSOVER)
+	$(LN_FS) $(LIBSOVER) $(LIBSOMAJ)
 
-$(LIBNAME).so.$(PNGVER): $(OBJSDLL)
+$(LIBSOVER): $(OBJSDLL)
 	@case "`type ld`" in *ucb*) \
 	echo; \
 	echo '## WARNING:'; \
@@ -107,14 +117,14 @@
 	echo; \
 	;; \
 	esac
-	$(LD) -G -h $(LIBNAME).so.$(PNGMAJ) \
-	 -o $(LIBNAME).so.$(PNGVER) $(OBJSDLL)
+	$(LD) -G -h $(LIBSOMAJ) \
+	 -o $(LIBSOVER) $(OBJSDLL)
 
-libpng.so.0.$(PNGMIN): $(OBJS)
-	$(LD) -G -h libpng.so.0 \
-	 -o libpng.so.0.$(PNGMIN) $(OBJSDLL)
+$(OLDSOVER): $(OBJS)
+	$(LD) -G -h $(OLDSOMAJ) \
+	 -o $(OLDSOVER) $(OBJSDLL)
 
-pngtest: pngtest.o $(LIBNAME).so
+pngtest: pngtest.o $(LIBSO)
 	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
 
 test: pngtest
@@ -136,23 +146,23 @@
 	-@$(RM_F) $(DL)/libpng.a
 	(cd $(DL); $(LN_FS) $(LIBNAME).a libpng.a)
 
-install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \
-	libpng.so.0.$(PNGMIN)
+install-shared: install-headers $(LIBSOVER) libpng.pc \
+	$(OLDSOVER)
 	-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-	-@$(RM_F) $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so
-	-@$(RM_F) $(DL)/$(LIBNAME).so.$(PNGMAJ)
-	-@$(RM_F) $(DL)/libpng.so
-	-@$(RM_F) $(DL)/libpng.so.0
-	-@$(RM_F) $(DL)/libpng.so.0.$(PNGMIN)*
-	cp $(LIBNAME).so.$(PNGVER) $(DL)
-	cp libpng.so.0.$(PNGMIN) $(DL)
-	chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER)
-	chmod 755 $(DL)/libpng.so.0.$(PNGMIN)
+	-@$(RM_F) $(DL)/$(LIBSOVER)* $(DL)/$(LIBSO)
+	-@$(RM_F) $(DL)/$(LIBSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSO)
+	-@$(RM_F) $(DL)/$(OLDSOMAJ)
+	-@$(RM_F) $(DL)/$(OLDSOVER)*
+	cp $(LIBSOVER) $(DL)
+	cp $(OLDSOVER) $(DL)
+	chmod 755 $(DL)/$(LIBSOVER)
+	chmod 755 $(DL)/$(OLDSOVER)
 	(cd $(DL); \
-	$(LN_FS) libpng.so.0.$(PNGMIN) libpng.so.0; \
-	$(LN_FS) libpng.so.0 libpng.so; \
-	$(LN_FS) $(LIBNAME).so.$(PNGVER) $(LIBNAME).so; \
-	$(LN_FS) $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ))
+	$(LN_FS) $(OLDSOVER) $(OLDSOMAJ); \
+	$(LN_FS) $(OLDSOMAJ) $(OLDSO); \
+	$(LN_FS) $(LIBSOVER) $(LIBSO); \
+	$(LN_FS) $(LIBSOVER) $(LIBSOMAJ))
 	-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
 	-@$(RM_F) $(DL)/pkgconfig/$(LIBNAME).pc
 	-@$(RM_F) $(DL)/pkgconfig/libpng.pc
@@ -205,8 +215,8 @@
 
 clean:
 	$(RM_F) *.o libpng.a pngtest pngtesti pngout.png \
-	libpng-config $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* \
-	libpng.so.0.$(PNGMIN) \
+	libpng-config $(LIBSO) $(LIBSOMAJ)* \
+	$(OLDSOVER) \
 	libpng.pc
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
diff --git a/scripts/pngos2.def b/scripts/pngos2.def
index 3de06d1..4bdd1e0 100644
--- a/scripts/pngos2.def
+++ b/scripts/pngos2.def
@@ -2,7 +2,7 @@
 ; PNG.LIB module definition file for OS/2
 ;----------------------------------------
 
-; Version 1.2.9beta10
+; Version 1.2.9beta11
 
 LIBRARY		PNG
 DESCRIPTION	"PNG image compression library for OS/2"
diff --git a/scripts/pngw32.def b/scripts/pngw32.def
index 808f608..fc667b3 100644
--- a/scripts/pngw32.def
+++ b/scripts/pngw32.def
@@ -5,7 +5,7 @@
 LIBRARY
 
 EXPORTS
-;Version 1.2.9beta10
+;Version 1.2.9beta11
   png_build_grayscale_palette  @1
   png_check_sig        @2
   png_chunk_error      @3
