diff --git a/ANNOUNCE b/ANNOUNCE
index 78dba92..6602e0a 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.2.41rc01 - November 14, 2009
+Libpng 1.2.41rc01 - November 15, 2009
 
 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.
@@ -158,8 +158,11 @@
 version 1.2.41beta18 [November 11, 2009]
   Revised scripts/*.def to reflect functions actually exported by libpng.
 
-version 1.2.41rc01 and 1.0.51rc01 [November 14, 2009]
+version 1.2.41rc01 and 1.0.51rc01 [November 15, 2009]
   Revised scripts/*.def to reflect functions actually exported by libpng.
+  Updated the copyright year in scripts/pngw32.rc from 2004 to 2009.
+  Moved descriptions of makefiles and other scripts out of INSTALL into
+    scripts/README.txt
 
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 
diff --git a/CHANGES b/CHANGES
index 077dcab..c92ad45 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2586,9 +2586,11 @@
   Renamed scripts/makefile.wce to scripts/makefile.cegcc
   Marked nonexported functions with PNG_PRIVATE macro.
 
-version 1.2.41rc01 and 1.0.51rc01 [November 14, 2009]
+version 1.2.41rc01 and 1.0.51rc01 [November 15, 2009]
   Revised scripts/*.def to reflect functions actually exported by libpng.
-
+  Updated the copyright year in scripts/pngw32.rc from 2004 to 2009.
+  Moved descriptions of makefiles and other scripts out of INSTALL into
+    scripts/README.txt
 
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 (subscription required; visit
diff --git a/INSTALL b/INSTALL
index 201c931..4b75dad 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.2.41rc01 - November 14, 2009
+Installing libpng version 1.2.41rc01 - November 15, 2009
 
 On Unix/Linux and similar systems, you can simply type
 
@@ -25,27 +25,29 @@
     make test
     make install
 
+The files that are presently available in the scripts directory
+are listed and described in scripts/README.txt.
+
 Or you can use one of the "projects" in the "projects" directory.
 
-If you want to use "cmake" (see www.cmake.org), copy CMakeLists.txt
-from the "scripts" directory to this directory and type
-
-   cmake . [-DPNG_MMX=YES] -DCMAKE_INSTALL_PREFIX=/path
-   make
-   make install
-
 Before installing libpng, you must first install zlib, if it
 is not already on your system.  zlib can usually be found
 wherever you got libpng.  zlib can be placed in another directory,
 at the same level as libpng.
 
+If you want to use "cmake" (see www.cmake.org), type
+
+   cmake . -DCMAKE_INSTALL_PREFIX=/path
+   make
+   make install
+
 If your system already has a preinstalled zlib you will still need
 to have access to the zlib.h and zconf.h include files that
 correspond to the version of zlib that's installed.
 
 You can rename the directories that you downloaded (they
-might be called "libpng-1.2.41rc01" or "lpng109" and "zlib-1.2.1"
-or "zlib121") so that you have directories called "zlib" and "libpng".
+might be called "libpng-1.2.41rc01" or "libpng12" and "zlib-1.2.3"
+or "zlib123") so that you have directories called "zlib" and "libpng".
 
 Your directory structure should look like this:
 
@@ -55,19 +57,28 @@
           README
           *.h
           *.c
+          CMakeLists.txt    =>  "cmake" script
+          configuration files:
+             configure.ac, configure, Makefile.am, Makefile.in,
+%12-%             autogen.sh, config.guess, ltmain.sh, missing,
+%12-%             aclocal.m4, config.h.in, config.sub,
+%14+%             autogen.sh, config.guess, ltmain.sh, missing, libpng-pc.in,
+%14+%             libpng-config.in, aclocal.m4, config.h.in, config.sub,
+             depcomp, install-sh, mkinstalldirs, test-pngtest.sh
           contrib
              gregbook
+             pngminim
              pngminus
              pngsuite
              visupng
           projects
-             beos
-             c5builder (Borland)
+             cbuilder5 (Borland)
              visualc6 (msvc)
-             netware.txt
-             wince.txt
+             visualc71
+             xcode
           scripts
              makefile.*
+             *.def (module definition files)
           pngtest.png
           etc.
       zlib
@@ -82,81 +93,13 @@
 endings) and zip (DOS style line endings) formats.
 
 If you are building libpng with MSVC, you can enter the
-libpng projects\visualc6 directory and follow the instructions in
-projects\visualc6\README.txt.
+libpng projects\visualc6 or visualc71 directory and follow the instructions
+in README.txt.
 
-You can build libpng for WindowsCE by downloading and installing
-the projects\wince directory as instructed in the projects\wince.txt file, and
-then following the instructions in the README* files.  Similarly, you can
-build libpng for Netware or Beos as instructed in projects\netware.txt
-or projects\beos.
-
-Else enter the zlib directory and follow the instructions in zlib/README,
+Otherwise enter the zlib directory and follow the instructions in zlib/README,
 then come back here and run "configure" or choose the appropriate
 makefile.sys in the scripts directory.
 
-The files that are presently available in the scripts directory
-include
-
- CMakeLists.txt    =>  "cmake" script
- makefile.std      =>  Generic UNIX makefile (cc, creates static libpng.a)
- makefile.elf      =>  Linux/ELF makefile symbol versioning,
-                       gcc, creates libpng12.so.0.1.2.41rc01)
- makefile.linux    =>  Linux/ELF makefile
-                       (gcc, creates libpng12.so.0.1.2.41rc01)
- makefile.gcc      =>  Generic makefile (gcc, creates static libpng.a)
- makefile.knr      =>  Archaic UNIX Makefile that converts files with
-                       ansi2knr (Requires ansi2knr.c from
-                       ftp://ftp.cs.wisc.edu/ghost)
- makefile.aix      =>  AIX/gcc makefile
- makefile.cegcc    =>  minge32ce for Windows CE makefile
- makefile.cygwin   =>  Cygwin/gcc makefile
- makefile.darwin   =>  Darwin makefile, can use on MacosX
- makefile.dec      =>  DEC Alpha UNIX makefile
- makefile.freebsd  =>  FreeBSD makefile
- makefile.hpgcc    =>  HPUX makefile using gcc
- makefile.hpux     =>  HPUX (10.20 and 11.00) makefile
- makefile.hp64     =>  HPUX (10.20 and 11.00) makefile, 64-bit
- makefile.ibmc     =>  IBM C/C++ version 3.x for Win32 and OS/2 (static)
- makefile.intel    =>  Intel C/C++ version 4.0 and later
- libpng.icc        =>  Project file for IBM VisualAge/C++ version 4.0 or later
- makefile.netbsd   =>  NetBSD/cc makefile, uses PNGGCCRD, makes libpng.so.
- makefile.ne12bsd  =>  NetBSD/cc makefile, uses PNGGCCRD,
-                       makes libpng12.so
- 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.41rc01)
- makefile.sunos    =>  Sun makefile
- makefile.solaris  =>  Solaris 2.X makefile (gcc,
-                       creates libpng12.so.0.1.2.41rc01)
- makefile.solaris-x86 =>  Solaris/intelMMX 2.X makefile (gcc,
-                       creates libpng12.so.0.1.2.41rc01)
- makefile.so9      =>  Solaris 9 makefile (gcc,
-                       creates libpng12.so.0.1.2.41rc01)
- 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
- makefile.mips     =>  MIPS makefile
- makefile.acorn    =>  Acorn makefile
- makefile.amiga    =>  Amiga makefile
- smakefile.ppc     =>  AMIGA smakefile for SAS C V6.58/7.00 PPC compiler
-                       (Requires SCOPTIONS, copied from scripts/SCOPTIONS.ppc)
- makefile.atari    =>  Atari makefile
- makefile.beos     =>  BEOS makefile for X86
- makefile.bor      =>  Borland makefile (uses bcc)
- makefile.bc32     =>  32-bit Borland C++ (all modules compiled in C mode)
- makefile.tc3      =>  Turbo C 3.0 makefile
- makefile.dj2      =>  DJGPP 2 makefile
- makefile.msc      =>  Microsoft C makefile
- makefile.vcwin32  =>  makefile for Microsoft Visual C++ 4.0 and later
- makefile.os2      =>  OS/2 Makefile (gcc and emx, requires pngos2.def)
- pngos2.def        =>  OS/2 module definition file used by makefile.os2
- makefile.watcom   =>  Watcom 10a+ Makefile, 32-bit flat memory model
- makevms.com       =>  VMS build script
- descrip.mms       =>  VMS makefile for MMS or MMK
- SCOPTIONS.ppc     =>  Used with smakefile.ppc
-
 Copy the file (or files) that you need from the
 scripts directory into this directory, for example
 
@@ -186,9 +129,11 @@
 
 If you encounter a compiler error message complaining about the
 lines
+
       __png.h__ already includes setjmp.h;
       __dont__ include it again.;
-This means you have compiled another module that includes setjmp.h,
+
+this means you have compiled another module that includes setjmp.h,
 which is hazardous because the two modules might not include exactly
 the same setjmp.h.  If you are sure that you know what you are doing
 and that they are exactly the same, then you can comment out or
diff --git a/scripts/README.txt b/scripts/README.txt
new file mode 100644
index 0000000..e8f22c5
--- /dev/null
+++ b/scripts/README.txt
@@ -0,0 +1,76 @@
+
+Makefiles for  libpng version 1.2.41rc01 - November 15, 2009
+
+ makefile.linux    =>  Linux/ELF makefile
+                       (gcc, creates libpng12.so.0.1.2.41rc01)
+ makefile.gcc      =>  Generic makefile (gcc, creates static libpng.a)
+ makefile.knr      =>  Archaic UNIX Makefile that converts files with
+                       ansi2knr (Requires ansi2knr.c from
+                       ftp://ftp.cs.wisc.edu/ghost)
+ makefile.acorn    =>  Acorn makefile
+ makefile.aix      =>  AIX/gcc makefile
+ makefile.amiga    =>  Amiga makefile
+ makefile.atari    =>  Atari makefile
+ makefile.bc32     =>  32-bit Borland C++ (all modules compiled in C mode)
+ makefile.beos     =>  beos makefile
+ makefile.bor      =>  Borland makefile (uses bcc)
+ makefile.cegcc    =>  minge32ce for Windows CE makefile
+ makefile.cygwin   =>  Cygwin/gcc makefile
+ makefile.darwin   =>  Darwin makefile, can use on MacosX
+ makefile.dec      =>  DEC Alpha UNIX makefile
+ makefile.dj2      =>  DJGPP 2 makefile
+ makefile.elf      =>  Linux/ELF makefile symbol versioning,
+                       gcc, creates libpng12.so.0.1.2.41rc01)
+ makefile.freebsd  =>  FreeBSD makefile
+ makefile.gcc      =>  Generic gcc makefile
+ makefile.gccmmx   =>  Generic gcc makefile previously using MMX code
+ makefile.hpgcc    =>  HPUX makefile using gcc
+ makefile.hpux     =>  HPUX (10.20 and 11.00) makefile
+ makefile.hp64     =>  HPUX (10.20 and 11.00) makefile, 64-bit
+ makefile.ibmc     =>  IBM C/C++ version 3.x for Win32 and OS/2 (static)
+ makefile.intel    =>  Intel C/C++ version 4.0 and later
+ makefile.mingw    =>  Mingw makefile
+ makefile.mips     =>  MIPS makefile
+ makefile.msc      =>  Microsoft C makefile
+ makefile.netbsd   =>  NetBSD/cc makefile, makes libpng.so.
+ makefile.nommx    =>  Generic gcc makefile not using MMX code
+ makefile.openbsd  =>  OpenBSD makefile
+ makefile.os2      =>  OS/2 Makefile (gcc and emx, requires pngos2.def)
+ makefile.sco      =>  For SCO OSr5  ELF and Unixware 7 with Native cc
+ makefile.sggcc    =>  Silicon Graphics (gcc,
+                       creates libpng12.so.0.1.2.41rc01)
+ makefile.sgi      =>  Silicon Graphics IRIX makefile (cc, creates static lib)
+ makefile.solaris  =>  Solaris 2.X makefile (gcc,
+                       creates libpng12.so.0.1.2.41rc01)
+ makefile.solaris-x86  =>  Solaris 2.X makefile (gcc, no MMX code,
+                       creates libpng12.so.0.1.2.41rc01)
+ makefile.so9      =>  Solaris 9 makefile (gcc,
+                       creates libpng12.so.0.1.2.41rc01)
+ makefile.std      =>  Generic UNIX makefile (cc, creates static libpng.a)
+ makefile.sunos    =>  Sun makefile
+ makefile.32sunu   =>  Sun Ultra 32-bit makefile
+ makefile.64sunu   =>  Sun Ultra 64-bit makefile
+ makefile.tc3      =>  Turbo C 3.0 makefile
+ makefile.vcawin32 =>  makefile for Microsoft Visual C++ 4.0 and later
+                       previously using MMX code
+ makefile.vcwin32  =>  makefile for Microsoft Visual C++ 4.0 and later
+ makefile.watcom   =>  Watcom 10a+ Makefile, 32-bit flat memory model
+ makevms.com       =>  VMS build script
+ smakefile.ppc     =>  AMIGA smakefile for SAS C V6.58/7.00 PPC compiler
+                       (Requires SCOPTIONS, copied from scripts/SCOPTIONS.ppc)
+
+Other supporting scripts:
+ descrip.mms       =>  VMS makefile for MMS or MMK
+ libpng-config.in  =>  Used by "configure" to create libpng-config.
+ libpng-config-body.in => used by several makefiles to create libpng-config
+ libpng-config-head.in => used by several makefiles to create libpng-config
+ libpng.pc.in      =>  Used by several makefiles to create libpng.pc
+ libpng.pc-configure.in => Used by "configure" to create libpng.pc
+ libpng.icc
+ pngos2.def        =>  OS/2 module definition file used by makefile.os2
+ pngw32.def        =>  Module definitions for makefile.cygwin and mingw
+ png32ce.def       =>  Module definition file used by makefile.cegcc
+ pngw32.rc         =>  Used by the visualc6 and visualc71 projects.
+ SCOPTIONS.ppc     =>  Used with smakefile.ppc
+
+Further information can be found in comments in the individual makefiles.
diff --git a/scripts/pngw32.rc b/scripts/pngw32.rc
index 02e30e2..9335cbb 100644
--- a/scripts/pngw32.rc
+++ b/scripts/pngw32.rc
@@ -90,7 +90,7 @@
       VALUE "FileDescription", "PNG image compression library\000"
       VALUE "FileVersion", PNG_LIBPNG_VER_STRING "\000"
       VALUE "InternalName", PNG_LIBPNG_DLLFNAME QUOTE(PNG_LIBPNG_VER_DLLNUM) PNG_LIBPNG_DLLFNAME_POSTFIX " (Windows 32 bit)\000"
-      VALUE "LegalCopyright", "\251 1998-2004 Glenn Randers-Pehrson et al.\000"
+      VALUE "LegalCopyright", "\251 1998-2009 Glenn Randers-Pehrson et al.\000"
 #ifdef PNG_USER_VERSIONINFO_LEGALTRADEMARKS
       VALUE "LegalTrademarks", PNG_USER_VERSIONINFO_LEGALTRADEMARKS "\000"
 #endif /* PNG_USER_VERSIONINFO_LEGALTRADEMARKS */
