diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libhtmlw/htmlapplet.c mosaic4_2/libhtmlw/HTMLapplet.c
--- mosaic4_2.orig/libhtmlw/htmlapplet.c	2006-11-21 08:23:54.000000000 +0800
+++ mosaic4_2/libhtmlw/HTMLapplet.c	2011-12-20 14:28:18.000000000 +0800
@@ -15,17 +15,17 @@
 #include <Xm/Xm.h>
 #include <Xm/Frame.h>
 #include <Xm/DrawingA.h>
 #include <Xm/ScrolledW.h>
 #include <Xm/Text.h>
 #include <Xm/TextF.h>
 #include <Xm/RowColumn.h>
 #include <Xm/List.h>
-#include <Xm/Scrollbar.h>
+#include <Xm/ScrollBar.h>
 #include <Xm/Label.h>
 
 void _FreeAppletStruct(AppletInfo * ats)
 {
 	int i;
 
 	if (ats->src)
 		free(ats->src);
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libhtmlw/htmlformat.c mosaic4_2/libhtmlw/HTMLformat.c
--- mosaic4_2.orig/libhtmlw/htmlformat.c	2007-08-06 07:33:09.000000000 +0800
+++ mosaic4_2/libhtmlw/HTMLformat.c	2011-12-20 14:10:46.000000000 +0800
@@ -54,16 +54,17 @@
 #include "../config.h"
 
 /* Some part of this file is Copyright (C) 1996 - G.Dauphin
  *
  * Copyright (C) 1998, 1999, 2000, 2003, 2004, 2005, 2006, 2007
  * The VMS Mosaic Project
  */
 
+#include <sys/time.h>
 #include <time.h>
 #ifndef VMS
 struct timeval Tv;
 struct timezone Tz;
 #endif
 #include <stdio.h>
 #include <stdlib.h>
 #include <ctype.h>
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libhtmlw/htmlimagemap.c mosaic4_2/libhtmlw/HTMLimagemap.c
--- mosaic4_2.orig/libhtmlw/htmlimagemap.c	2007-03-19 06:00:56.000000000 +0800
+++ mosaic4_2/libhtmlw/HTMLimagemap.c	2011-12-20 14:29:24.000000000 +0800
@@ -27,17 +27,17 @@
 #include "../config.h"
 
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
 #include <ctype.h>
 #include <math.h>
 
-#include "../libhtmlw/HTMLp.h"
+#include "../libhtmlw/HTMLP.h"
 #include "../libhtmlw/HTMLPutil.h"
 
 #ifndef DISABLE_TRACE
 extern int htmlwTrace;
 #endif
 
 /**************************************************************************/
 /* Test whether x/y point lies within polygon defined by point within
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libhtmlw/htmlparse.c mosaic4_2/libhtmlw/HTMLparse.c
--- mosaic4_2.orig/libhtmlw/htmlparse.c	2007-08-23 06:53:43.000000000 +0800
+++ mosaic4_2/libhtmlw/HTMLparse.c	2011-12-20 20:43:07.000000000 +0800
@@ -50,17 +50,17 @@
  *                                                                          *
  * Comments and questions are welcome and can be sent to                    *
  * mosaic-x@ncsa.uiuc.edu.                                                  *
  ****************************************************************************/
 #include "../config.h"
 
 /* Copyright (C) 1997 - G.Dauphin
  *
- * Copyright (C) 1998, 1999, 2000, 2003, 2004, 2005, 2006, 2007
+ * Copyright (C) 1998, 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2008
  * The VMS Mosaic Project
  */
 
 #include <stdio.h>
 #include <stdlib.h>
 #include <ctype.h>
 #include <string.h>
 
@@ -643,16 +643,20 @@
 					/* Invalid */
 					val = '\0';
 					*endp = (char *)NULL;
 				}
 			}
 		} else {
 			/* Unicode punctuation, etc. */
 			switch (value) {
+			    case 712:
+				/* Vertical line */
+				val = '|';
+				break;
 			    case 956:
 				/* mu */
 				*new = "SYMC m";
 				break;
 			    case 8210:
 				/* Figure dash */
 			    case 8211:
 				/* En dash */
@@ -698,36 +702,48 @@
 			    case 8249:
 				/* lsaquo */
 			        val = '<';
 				break;
 			    case 8250:
 			        /* rsaquo */
 			        val = '>';
 				break;
+			    case 8260:
+			        /* fraction slash */
+			        val = '/';
+				break;
 			    case 8482:
 				/* Trademark */
 				*new = "SYM 212";
 				break;
 			    case 8810:
 				/* Much Less Than */
 				*new = "<<";
 				break;
 			    case 8811:
 				/* Much Greater Than */
 				*new = ">>";
 				break;
 			    case 9650:
 				/* Up pointing triangle */
 				*new = "SYM 221";
 				break;
+			    case 9658:
+				/* Right pointing black arrow */
+				*new = "SYM 174";
+				break;
 			    case 9660:
 				/* Down pointing triangle */
 				*new = "SYM 223";
 				break;
+			    case 9668:
+				/* Left pointing black arrow */
+				*new = "SYM 172";
+				break;
 			    default:
 				/* No support */
 				val = '\0';
 				*endp = (char *)NULL;
 			}
 		}
 	} else {
 		AmpEsc *AmpEscapes;
@@ -946,16 +962,18 @@
 	if (!txt)
 		return(NULL);
 
 	/* Fixup UTF-8 encoding of ASCII characters 160 thru 255 and specials */
 	if (charset_is_UTF8) {
 	    char *newtext;
 	    char *ptr = txt;
 	    char *ptr2 = txt;
+	    char *ori_txt = txt;
+	    int remalloc_txt = 0;
 
 	    while (*ptr) {
 		unsigned char c1 = (unsigned char)*ptr;
 		unsigned char c2 = (unsigned char)*(ptr + 1);
 
 		if (!c2) {	/* At end */
 		    *ptr2++ = *ptr++;
 		    break;
@@ -1004,16 +1022,17 @@
 			do_symbol = GreekLower[c2 - 0xB1];
 		    }
 		    if (do_symbol > 0) {
 			*ptr = '\0';
 			newtext = expand_escapes(strdup(txt), expand, is_white);
 			text_mark(newtext, is_white);
 			free(newtext);
 			txt = ptr2 = ptr += 2;
+			remalloc_txt = 1; 
 			symbol_marks(do_symbol);
 		    } else {
 			trace_utf8(ptr);
 			ptr += 2;
 			*ptr2++ = '?';
 		    }
 		    break;
 		  }
@@ -1033,31 +1052,37 @@
 			do_symbol = 'v';
 		    }
 		    if (do_symbol > 0) {
 			*ptr = '\0';
 			newtext = expand_escapes(strdup(txt), expand, is_white);
 			text_mark(newtext, is_white);
 			free(newtext);
 			txt = ptr2 = ptr += 2;
+			remalloc_txt = 1;
 			symbol_marks(do_symbol);
 		    } else {
 			trace_utf8(ptr);
 			ptr += 2;
 			*ptr2++ = '?';
 		    }
 		    break;
 		  }
 		  case 0xE2: {
 		    unsigned char c3 = (unsigned char)*(ptr + 2);
 		    int do_symbol = 0;
 
 		    switch (c2) {
 		      case 0x80:
 			switch (c3) {
+			  case 0x8E:
+			  case 0x8F:
+			    /* LRM and RLM */
+			    ptr += 3;
+			    break;
 			  case 0x92:
 			    /* Figure dash */
 			  case 0x93:
 			    /* En dash */
 			    *ptr2++ = '-';
 			    ptr += 3;
 			    break;
 			  case 0x94:
@@ -1419,16 +1444,17 @@
 			do_symbol = -1;
 		    }
 		    if (do_symbol > 0) {
 			*ptr = '\0';
 			newtext = expand_escapes(strdup(txt), expand, is_white);
 			text_mark(newtext, is_white);
 			free(newtext);
 			txt = ptr2 = ptr += 3;
+			remalloc_txt = 1;
 			symbol_marks(do_symbol);
 		    } else if (do_symbol < 0) {
 			trace_utf8(ptr);
 			ptr += 3;
 			*ptr2++ = '?';
 		    }
 		    break;
 		  }
@@ -1454,17 +1480,27 @@
 		        *ptr2++ = '?';
 		    } else {
 			/* First 128 ASCII */
 			*ptr2++ = *ptr++;
 		    }
 		}
 	    }
 	    *ptr2 = '\0';
+
+	    /* Keep pointer at start of memory segment to prevent
+	     * free routine problems */
+	    if (remalloc_txt) {
+		char *new_txt = strdup(txt);
+
+		free(ori_txt);
+		txt = new_txt;
+	    }
 	}
+
 	return expand_escapes(txt, expand, is_white);
 }
 
 /* Get a block of text from an HTML document.  All text from start to
  * the end, or the first mark (a mark is '<' followed by any char)
  * is returned in a malloced buffer.  Also, endp returns a pointer to the
  * next '<' or '\0'.  The returned text has already expanded '&' escapes.
  */
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libhtmlw/htmlwidgets.c mosaic4_2/libhtmlw/HTMLwidgets.c
--- mosaic4_2.orig/libhtmlw/htmlwidgets.c	2007-07-24 08:44:31.000000000 +0800
+++ mosaic4_2/libhtmlw/HTMLwidgets.c	2011-12-20 14:12:43.000000000 +0800
@@ -68,17 +68,17 @@
 #include <Xm/ScrolledW.h>
 #include <Xm/Text.h>
 #include <Xm/TextF.h>
 #include <Xm/ToggleB.h>
 #include <Xm/PushB.h>
 #include <Xm/RowColumn.h>
 #include <Xm/Label.h>
 #include <Xm/List.h>
-#include <Xm/Scrollbar.h>
+#include <Xm/ScrollBar.h>
 
 #include "HTMLmiscdefs.h"
 #include "HTMLparse.h"
 #include "HTMLP.h"
 #include "HTMLPutil.h"
 #include "HTMLwidgets.h"
 
 #define X_NAME	"x"
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libhtmlw/Makefile mosaic4_2/libhtmlw/Makefile
--- mosaic4_2.orig/libhtmlw/Makefile	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/libhtmlw/Makefile	2011-12-20 14:15:46.000000000 +0800
@@ -0,0 +1,21 @@
+LIBTARGET = libhtmlw.a
+
+all: $(LIBTARGET)
+
+CFILES = HTML.c HTMLlists.c HTMLformat.c HTMLparse.c HTMLimages.c HTMLwidgets.c HTML-PSformat.c HTMLtable.c HTMLapplet.c HTMLfont.c HTMLform.c HTMLframe.c HTMLimagemap.c HTMLtext.c list.c 
+
+OBJS = $(CFILES:.c=.o)
+$(OBJS): HTML.h HTMLP.h
+
+
+$(LIBTARGET): $(OBJS)
+	-rm -f $(LIBTARGET)
+	ar rv $(LIBTARGET) $(OBJS)
+	$(RANLIB) $(LIBTARGET)
+
+HTMLimages.o: AnchoredImage.xbm DelayedImage.xbm
+
+clean:
+	-rm $(LIBTARGET) *.o
+tags:
+	etags -t *.[ch]
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libliteclue/liteclue.c mosaic4_2/libliteclue/LiteClue.c
--- mosaic4_2.orig/libliteclue/liteclue.c	2007-07-16 06:39:40.000000000 +0800
+++ mosaic4_2/libliteclue/LiteClue.c	2011-12-20 18:05:15.000000000 +0800
@@ -109,17 +109,21 @@
 #include <unistd.h>
 #else
 #include <stdlib.h>
 #endif
 #include <signal.h>
 #include <X11/IntrinsicP.h> 
 #include <X11/StringDefs.h>
 #include <Xm/Xm.h>
+#ifdef VMS
 #include <X11/Shape.h>
+#else
+#include <X11/extensions/shape.h>
+#endif
 #include <Xmu/Converters.h>
 #include "LiteClueP.h"
 
 #include <stdio.h>
 
 #define CheckWidgetClass(routine) \
 	if (XtClass(w) != xcgLiteClueWidgetClass) \
 		wrong_widget(routine)
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libliteclue/Makefile mosaic4_2/libliteclue/Makefile
--- mosaic4_2.orig/libliteclue/Makefile	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/libliteclue/Makefile	2011-12-20 15:51:51.000000000 +0800
@@ -0,0 +1,27 @@
+#
+# Makefile for libliteclue
+#
+
+CC=gcc
+CFLAGS=-g -O
+ODIR=./objs
+OBJDIR=objs
+LIB=libliteclue.a
+####Set in main Mosaic Makefile -- uncomment if not compiled under Mosaic
+#RANLIB=ranlib
+OBJ=$(ODIR)/LiteClue.o
+all: objs $(LIB)
+
+$(LIB): $(OBJ)
+	-rm -f $(LIB)
+	ar rv $(LIB) $(OBJ)
+	$(RANLIB) $(LIB)
+
+$(ODIR)/LiteClue.o: LiteClue.c LiteClue.h LiteClueP.h
+	$(CC) $(CFLAGS) -c LiteClue.c -o $(ODIR)/LiteClue.o
+
+objs:
+	mkdir objs
+
+clean:
+	rm -f $(LIB) $(OBJ)
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libnut/Makefile mosaic4_2/libnut/Makefile
--- mosaic4_2.orig/libnut/Makefile	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/libnut/Makefile	1996-03-21 08:48:17.000000000 +0800
@@ -0,0 +1,44 @@
+#
+# Makefile for libnut (NCSA Unix Tools Library)
+#
+
+CC=gcc
+CFLAGS=-g -O
+ODIR=./objs
+OBJDIR=objs
+LIB=libnut.a
+####Set in main Mosaic Makefile -- uncomment if not compiled under Mosaic
+#RANLIB=ranlib
+OBJ=$(ODIR)/mm.o \
+$(ODIR)/str-tools.o \
+$(ODIR)/system.o \
+$(ODIR)/url-utils.o \
+$(ODIR)/ellipsis.o
+
+all: objs $(LIB)
+
+$(LIB): $(OBJ)
+	-rm -f $(LIB)
+	ar rv $(LIB) $(OBJ)
+	$(RANLIB) $(LIB)
+
+$(ODIR)/mm.o: mm.c mm.h
+	$(CC) $(CFLAGS) -c mm.c -o $(ODIR)/mm.o
+
+$(ODIR)/str-tools.o: str-tools.c
+	$(CC) $(CFLAGS) -c str-tools.c -o $(ODIR)/str-tools.o
+
+$(ODIR)/system.o: system.c system.h
+	$(CC) $(CFLAGS) -c system.c -o $(ODIR)/system.o
+
+$(ODIR)/url-utils.o: url-utils.c url-utils.h
+	$(CC) $(CFLAGS) -c url-utils.c -o $(ODIR)/url-utils.o
+
+$(ODIR)/ellipsis.o: ellipsis.c
+	$(CC) $(CFLAGS) -c ellipsis.c -o $(ODIR)/ellipsis.o
+
+objs:
+	mkdir objs
+
+clean:
+	rm -f $(LIB) $(OBJ)
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libnut/system.c mosaic4_2/libnut/system.c
--- mosaic4_2.orig/libnut/system.c	2007-02-24 09:45:46.000000000 +0800
+++ mosaic4_2/libnut/system.c	2011-12-20 14:32:53.000000000 +0800
@@ -111,17 +111,19 @@
 /* Use builtin strdup when appropriate -- code duplicated in tcp.h. PGE */
 /* DEC C V5.2 string.h has for VMS V7.0, GEC */
 #if defined(ultrix) || (defined(VMS) && (!defined(__GNUC__) || defined(vax)) && (!defined(__DECC) || (__VMS_VER < 70000000) || (__DECC_VER <= 50230003))) || defined(NeXT)
 extern char *strdup(char *str);
 #endif
 
 #ifndef VMS
 extern int sys_nerr;
+#ifndef linux
 extern char *sys_errlist[];
+#endif
 extern int errno;
 #endif
 
 #ifndef DISABLE_TRACE
 extern int reportBugs;
 int nutTrace = 0;
 #endif
 
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libnut/url-utils.c mosaic4_2/libnut/url-utils.c
--- mosaic4_2.orig/libnut/url-utils.c	2007-02-24 08:28:06.000000000 +0800
+++ mosaic4_2/libnut/url-utils.c	2011-12-20 14:33:27.000000000 +0800
@@ -174,17 +174,17 @@
     for (x = strlen(s) - 1; x != -1; x--) {
         if (s[x] == c)
 	    return x;
     }
     return -1;
 }
 
 
-int getline(char *s, int n, FILE *f)
+int _getline(char *s, int n, FILE *f)
 {
     register int i = 0;
 
     while (1) {
         s[i] = (char)fgetc(f);
 
         if (s[i] == CR)
             s[i] = fgetc(f);
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libnut/url-utils.h mosaic4_2/libnut/url-utils.h
--- mosaic4_2.orig/libnut/url-utils.h	1995-11-22 06:03:04.000000000 +0800
+++ mosaic4_2/libnut/url-utils.h	2011-12-20 14:33:38.000000000 +0800
@@ -1,12 +1,12 @@
 
 void getword(char *word, char *line, char stop);
 char *makeword(char *line, char stop);
 char *fmakeword(FILE *f, char stop, int *cl);
 char x2c(char *what);
 void unescape_url(char *url);
 void plustospace(char *str);
 int rind(char *s, char c);
-int getline(char *s, int n, FILE *f);
+int _getline(char *s, int n, FILE *f);
 void send_fd(FILE *f, FILE *fd);
 int ind(char *s, char c);
 void escape_shell_cmd(char *cmd);
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libwww2/htaccess.c mosaic4_2/libwww2/HTAccess.c
--- mosaic4_2.orig/libwww2/htaccess.c	2007-08-25 06:17:57.000000000 +0800
+++ mosaic4_2/libwww2/HTAccess.c	2011-12-20 16:09:55.000000000 +0800
@@ -30,17 +30,17 @@
 #include "HTUtils.h"
 #include "HTML.h"
 
 #include <stdio.h>
 
 #include "HTList.h"
 #include "HText.h"	/* See bugs above */
 #include "HTAlert.h"
-#include "HTMime.h"
+#include "HTMIME.h"
 #include "HTTP.h"
 
 #include "../libnut/str-tools.h"
 #include "../src/proxy.h"
 #include "HTMultiLoad.h"
 
 #ifdef HAVE_SSL
 #include <openssl/ssl.h>
@@ -109,17 +109,19 @@
  * Dummy routine for VMS with VAXC.  Call routines so that the modules
  * containing the various HTProtocol definitions are loaded.  An extern
  * declaration seems not to be enough do to this with VAXC.
  */
 PUBLIC void SILLY_VAXC()
 {
     HTLoadHTTP();
     HTLoadFile();
+#ifdef VMS
     HTLoadTelnet();
+#endif
     HTLoadFinger();
     HTGetNewsHost();
     HTLoadGopher();
 #ifdef HAVE_WAIS
     HTLoadWAIS();
 #endif /* WAIS */
     HTSendMailTo();
 }
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libwww2/htbtree.c mosaic4_2/libwww2/HTBTree.c
--- mosaic4_2.orig/libwww2/htbtree.c	2007-05-18 05:52:12.000000000 +0800
+++ mosaic4_2/libwww2/HTBTree.c	2011-12-20 14:22:55.000000000 +0800
@@ -14,16 +14,18 @@
 
 #include "HTUtils.h"
 #include "HTBTree.h"
 #ifndef __STRICT_BSD__
 #include <stdlib.h>
 #endif
 #include <string.h>
 
+#include "../src/mosaic.h"
+
 #define MAXIMUM(a, b) ((a) > (b) ? (a) : (b))
 
 PRIVATE Boolean add_only_new = False;
 
 PUBLIC HTBTree *HTBTree_new (HTComparer comp)
     /*********************************************************
     ** This function returns an HTBTree with memory allocated 
     ** for it when given a mean to compare things
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libwww2/htcookie.c mosaic4_2/libwww2/HTCookie.c
--- mosaic4_2.orig/libwww2/htcookie.c	2007-08-30 06:17:39.000000000 +0800
+++ mosaic4_2/libwww2/HTCookie.c	2011-12-20 14:27:22.000000000 +0800
@@ -53,27 +53,31 @@
 /* Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007
  * The VMS Mosaic Project
  */
 
 #include "../config.h"
 
 #include "HTUtils.h"
 #include "HTParse.h"
-#include "HTTCP.H"
+#include "HTTCP.h"
 #include "HTFile.h"
 #include "HTTP.h"
 #include "HTAlert.h"
 #include "HTBTree.h"
 #include "HTCookie.h"
 
 #include "../src/mosaic.h"
 #include "../libnut/str-tools.h"
 #include "../libnut/system.h"
 
+#ifndef VMS
+#include <pwd.h>
+#endif
+
 #ifndef DISABLE_TRACE
 int cookieTrace;
 extern int reportBugs;
 #endif
 
 extern char *ident_ver;
 extern mo_window *current_win;
 extern XtAppContext app_context;       /* From gui.c */
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libwww2/htfile.c mosaic4_2/libwww2/HTFile.c
--- mosaic4_2.orig/libwww2/htfile.c	2007-06-10 04:56:46.000000000 +0800
+++ mosaic4_2/libwww2/HTFile.c	2011-12-20 12:48:25.000000000 +0800
@@ -37,21 +37,23 @@
 #include "HTAnchor.h"
 #include "HTAtom.h"
 #include "HTWriter.h"
 #include "HTFWriter.h"
 #include "HTInit.h"
 #include "HTIcon.h"
 #include "HTSort.h"
 
-#ifdef __GNUC__
+#if defined(VMS) && defined(__GNUC__)
 #include <stat.h>
 #endif /* GNU C, probably should do in tcp.h */
 
+#ifdef VMS
 #include "HTVMSUtils.h"
+#endif
 #include "../libnut/system.h"
 
 /* Define parameter that everyone should already have */
 #ifndef MAXPATHLEN
 #define MAXPATHLEN 1024
 #endif
 
 typedef struct _HTSuffix {
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libwww2/htftp.c mosaic4_2/libwww2/HTFTP.c
--- mosaic4_2.orig/libwww2/htftp.c	2007-08-17 06:22:06.000000000 +0800
+++ mosaic4_2/libwww2/HTFTP.c	2011-12-20 14:01:27.000000000 +0800
@@ -60,43 +60,45 @@
 #ifndef CADDR_T
 #define CADDR_T 1     /* DECwindows Motif 1.1 xresource.h wants CADDR_T, GEC */
 #endif
 #else  /* Needed for DEC C types.h, GEC */
 #if defined(MULTINET) && !defined(__alpha)
 #define _POSIX_C_SOURCE  /* Work around the inclusion of types.h, GEC */
 #endif
 #endif
-#include "../src/prefs.h"  /* Does the required include of X11/Intrinsic.h */
 #if defined(__DECC) && defined(MULTINET) && !defined(__alpha)
 #undef _POSIX_C_SOURCE
 #undef _ANSI_C_SOURCE  /* Gets defined because of _POSIX_C_SOURCE */
 #endif /* DEC C, GEC */
 #endif /* VMS, moved after tcp.h to avoid conflict, GEC */
 
 #include "HTTCP.h"
 #include "HTAnchor.h"
 #include "HTFile.h"
 #include "HTChunk.h"
 #include "HTIcon.h"
 #include "HText.h"
 
+#include "../src/prefs.h"  /* Does the required include of X11/Intrinsic.h */
+
+
 #ifndef MAXHOSTNAMELEN
 #define MAXHOSTNAMELEN 64           /* Arbitrary limit */
 #endif
 
 /*For HTAA_LOGIN */
 #include "HTAAUtil.h"
 
 #ifdef SOCKETSHR
 #include <signal.h>
 #include <setjmp.h>
 #endif /* SOCKETSHR, GEC */
 
-#ifdef __GNUC__
+#if defined(VMS) && defined(__GNUC__)
 #include <stat.h>
 #endif /* GNU C, probably should do in tcp.h, GEC */
 
 #ifndef IPPORT_FTP
 #define IPPORT_FTP 21
 #endif
 
 #ifdef __STDC__
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libwww2/htinit.c mosaic4_2/libwww2/HTInit.c
--- mosaic4_2.orig/libwww2/htinit.c	2007-07-11 07:35:40.000000000 +0800
+++ mosaic4_2/libwww2/HTInit.c	2011-12-20 12:49:28.000000000 +0800
@@ -556,17 +556,17 @@
 
 /* -------------------- Extension config file reading --------------------- */
 
 /* The following is lifted from NCSA httpd 1.0a1, by Rob McCool;
  * NCSA httpd is in the public domain, as is this code. */
 
 #define MAX_STRING_LEN 256
 
-static int getline(char *s, int n, FILE *f) 
+static int _getline(char *s, int n, FILE *f) 
 {
   register int i = 0;
   
   while (1) {
       s[i] = (char)fgetc(f);
       
       if (s[i] == CR)
           s[i] = fgetc(f);
@@ -613,17 +613,17 @@
   if (!(f = fopen(fn, "r"))) {
 #ifndef DISABLE_TRACE
       if (www2Trace)
           fprintf(stderr, "Could not open extensions config file '%s'\n", fn);
 #endif
       return -1;
   }
 
-  while (!getline(l, MAX_STRING_LEN, f)) {
+  while (!_getline(l, MAX_STRING_LEN, f)) {
       /* Always get rid of leading white space for "line" */
       for (ptr = l; *ptr && isspace(*ptr); ptr++)
 	  ;
       getword(w, ptr, ' ', '\t');
       if (!*ptr || *w == '#')
           continue;
       ct = strdup(w);
       while (*ptr) {
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libwww2/htmime.h mosaic4_2/libwww2/HTMIME.h
--- mosaic4_2.orig/libwww2/htmime.h	2007-05-01 07:56:33.000000000 +0800
+++ mosaic4_2/libwww2/HTMIME.h	2011-12-20 12:32:17.000000000 +0800
@@ -11,16 +11,26 @@
 
 #ifndef HTSTREAM_H
 #include "HTStream.h"
 #endif
 #ifndef HTANCHOR_H
 #include "HTAnchor.h"
 #endif
 
+#ifdef MOTIF
+#include <Xm/XmP.h>
+# ifdef MOTIF1_2
+#  include <Xm/ManagerP.h>
+# endif /* MOTIF1_2 */
+#else
+#include <X11/IntrinsicP.h>
+#include <X11/ConstrainP.h>
+#endif /* MOTIF */
+
 typedef struct mime_rec {
 	char *last_modified;
 	char *expires;
 	char *refresh;
 	char *charset;
 } MIMEInfo;
 
 extern int HTMIME_get_header_length(HTStream *me);
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libwww2/htnews.c mosaic4_2/libwww2/HTNews.c
--- mosaic4_2.orig/libwww2/htnews.c	2007-08-17 06:36:36.000000000 +0800
+++ mosaic4_2/libwww2/HTNews.c	2011-12-20 20:33:45.000000000 +0800
@@ -24,16 +24,18 @@
 #include "../config.h"
 #include "HTNews.h"
 #include "HTAlert.h"
 #include "HTTCP.h"
 #include "../src/mosaic.h"
 #include "../src/newsrc.h"
 #include "../src/prefs.h"
 
+#include <pwd.h>
+
 #define NEWS_PORT 119		/* See rfc977 */
 
 #ifndef DEFAULT_NEWS_HOST
 #define DEFAULT_NEWS_HOST "news"
 #endif
 #ifndef SERVER_FILE
 #define SERVER_FILE "/usr/local/lib/rn/server"
 #endif
@@ -76,16 +78,18 @@
 PUBLIC char *HTNewsHost = NULL;
 PRIVATE int s;					/* Socket for NewsHost */
 PRIVATE char response_text[LINE_LENGTH + 1];	/* Last response */
 
 PRIVATE HTStructured *target;			/* The output sink */
 PRIVATE HTStructuredClass targetClass;		/* Copy of fn addresses */
 PRIVATE HTParentAnchor *node_anchor;		/* Its anchor */
 
+PRIVATE HTList *NNTP_AuthInfo = NULL;		/* AUTHINFO database */
+
 int ConfigView = 0;                      	/* View format configure */
 int newsShowAllGroups = 0;
 int newsShowReadGroups = 0;
 int newsShowAllArticles = 0;
 int newsNoThreadJumping = 0;
 int newsGotList = 0;        
 int newsUseNewsRC = 1;   
 int newsNextIsUnread = 0;
@@ -93,16 +97,17 @@
 extern int newsNoNewsRC;
 int newsSubjWidth = 38;
 int newsAuthWidth = 30;
 
 #define PUTS(s) (*targetClass.put_string)(target, s)
 #define START(e) (*targetClass.start_element)(target, e, 0, 0)
 #define END(e) (*targetClass.end_element)(target, e)
 
+PRIVATE int response (WWW_CONST char *command);
 
 /* escapeString ()
    Expects: str -- String to escape
             buf -- Buffer to store escaped string
    Returns: nothing
 
    Escapes all <'s and >'s and ...
 */
@@ -684,16 +689,327 @@
   if (www2Trace)
     fprintf(stderr, "HTNews: initializing newsrc for host\n");
 #endif
   
   s = -1;		/* Disconnected */
   return YES;
 }
 
+typedef enum {
+    NNTPAUTH_ERROR = 0,		/* general failure */
+    NNTPAUTH_OK = 281,		/* authenticated successfully */
+    NNTPAUTH_CLOSE = 502	/* server probably closed connection */
+} NNTPAuthResult;
+
+typedef struct _NNTPAuth {
+    char *host;
+    char *user;
+    char *pass;
+} NNTPAuth;
+
+
+#ifndef NEWS_AUTH_FILE
+#define NEWS_AUTH_FILE ".newsauth"
+#endif
+
+/*
+ * Initialize the authentication list by loading the user's $HOME/.newsauth
+ * file.  That file is part of tin's configuration and is used by a few other
+ * programs.
+ */
+static void load_NNTP_AuthInfo(void)
+{
+    FILE *fp;
+    char buffer[LINE_LENGTH + 1];
+    char *fname, *home_ptr;
+    char *name = NEWS_AUTH_FILE;
+    char home[256];
+#ifndef VMS
+    struct passwd *pwdent;
+#endif
+
+    /*
+     * Try the HOME environment variable, then the password file
+     */
+    if (!(home_ptr = getenv("HOME"))) {
+#ifndef VMS
+        if (!(pwdent = getpwuid(getuid()))) {
+	    home[0] = '\0';
+        } else {
+            strcpy(home, pwdent->pw_dir);
+        }
+#else
+        home[0] = '\0';
+#endif
+    } else {
+        strcpy(home, home_ptr);
+    }
+
+    fname = (char *)malloc(strlen(home) + strlen(name) + 2);
+#ifndef VMS
+    sprintf(fname, "%s/%s", home, name);
+#else
+    sprintf(fname, "%s%s", home, name);
+#endif
+
+    if (fp = fopen(fname, "r")) {
+	while (fgets(buffer, sizeof(buffer), fp)) {
+	    char the_host[LINE_LENGTH + 1];
+	    char the_pass[LINE_LENGTH + 1];
+	    char the_user[LINE_LENGTH + 1];
+
+	    if ((buffer[0] != '#') &&
+		(sscanf(buffer, "%s%s%s", the_host, the_pass, the_user) == 3) &&
+		strlen(the_host) && strlen(the_pass) && strlen(the_user)) {
+		NNTPAuth *auth = calloc(1, sizeof(NNTPAuth));
+
+		if (!auth)
+		    break;
+		StrAllocCopy(auth->host, the_host);
+		StrAllocCopy(auth->pass, the_pass);
+		StrAllocCopy(auth->user, the_user);
+
+		HTList_addObject(NNTP_AuthInfo, auth);
+	    }
+	}
+	fclose(fp);
+    }
+    free(fname);
+}
+
+/*
+ *  This function handles nntp authentication. - FM
+ */
+static NNTPAuthResult HTHandleAuthInfo(char *host)
+{
+    HTList *cur = NULL;
+    NNTPAuth *auth = NULL;
+    char *UserName = NULL;
+    char *PassWord = NULL;
+    char *msg = NULL;
+    char buffer[512];
+    int status, tries;
+
+    /*
+     * Make sure we have an interactive user and a host.  - FM
+     */
+    if (!(host && *host))
+	return NNTPAUTH_ERROR;
+
+    /*
+     * Check for an existing authorization entry.  - FM
+     */
+    if (!NNTP_AuthInfo) {
+	NNTP_AuthInfo = HTList_new();
+	load_NNTP_AuthInfo();
+    }
+
+    cur = NNTP_AuthInfo;
+    while (auth = (NNTPAuth *) HTList_nextObject(cur)) {
+	if (!my_strcasecmp(auth->host, host)) {
+	    UserName = auth->user;
+	    PassWord = auth->pass;
+	    break;
+	}
+    }
+
+    /*
+     * Handle the username.  - FM
+     */
+    buffer[sizeof(buffer) - 1] = '\0';
+    tries = 3;
+
+    while (tries) {
+	if (!UserName) {
+	    sprintf(buffer, "Username for news host '%s':", host);
+	    UserName = HTPrompt(buffer, "guest");
+	    if (!(UserName && *UserName)) {
+		free(UserName);
+		return NNTPAUTH_ERROR;
+	    }
+	}
+	sprintf(buffer, "AUTHINFO USER %.*s\r\n",
+		(int) sizeof(buffer) - 17, UserName);
+	if ((status = response(buffer)) < 0) {
+	    if (status == HT_INTERRUPTED) {
+		HTProgress("Connection interrupted.");
+	    } else {
+		HTAlert("Connection aborted.");
+	    }
+	    if (auth) {
+		if (auth->user != UserName) {
+		    free(auth->user);
+		    auth->user = UserName;
+		}
+	    } else {
+		free(UserName);
+	    }
+	    return NNTPAUTH_CLOSE;
+	}
+	if (status == 281) {
+	    /*
+	     * Username is accepted and no password is required.  - FM
+	     */
+	    if (auth) {
+		if (auth->user != UserName) {
+		    free(auth->user);
+		    auth->user = UserName;
+		}
+	    } else {
+		/*
+		 * Store the accepted username and no password.  - FM
+		 */
+		if (auth = calloc(1, sizeof(NNTPAuth))) {
+		    StrAllocCopy(auth->host, host);
+		    auth->user = UserName;
+		    HTList_addObject(NNTP_AuthInfo, auth);
+		}
+	    }
+	    return NNTPAUTH_OK;
+	}
+	if (status != 381) {
+	    /*
+	     * Not success, nor a request for the password, so it must be an
+	     * error.  - FM
+	     */
+	    HTAlert(response_text);
+	    tries--;
+	    if ((tries > 0) && prompt_for_yes_or_no("Change username?")) {
+		if (!auth || auth->user != UserName)
+		    free(UserName);
+		if ((UserName = HTPrompt("Username:", "guest")) && *UserName)
+		    continue;
+	    }
+	    if (auth) {
+		if (auth->user != UserName) {
+		    free(auth->user);
+		    auth->user = NULL;
+		}
+		if (auth->pass) {
+		    free(auth->pass);
+		    auth->pass = NULL;
+		}
+	    }
+	    free(UserName);
+	    return NNTPAUTH_ERROR;
+	}
+	break;
+    }
+
+    if (status == 381) {
+	/*
+	 * Handle the password.  - FM
+	 */
+	tries = 3;
+	while (tries) {
+	    if (!PassWord) {
+		sprintf(buffer, "Password for news host '%s':", host);
+		PassWord = HTPromptPassword(buffer);
+		if (!(PassWord && *PassWord)) {
+		    free(PassWord);
+		    return NNTPAUTH_ERROR;
+		}
+	    }
+	    sprintf(buffer, "AUTHINFO PASS %.*s\r\n",
+		    (int) sizeof(buffer) - 17, PassWord);
+	    if ((status = response(buffer)) < 0) {
+		if (status == HT_INTERRUPTED) {
+		    HTProgress("Connection interrupted.");
+		} else {
+		    HTAlert("Connection aborted.");
+		}
+		if (auth) {
+		    if (auth->user != UserName) {
+			free(auth->user);
+			auth->user = UserName;
+		    }
+		    if (auth->pass != PassWord) {
+			free(auth->pass);
+			auth->pass = PassWord;
+		    }
+		} else {
+		    free(UserName);
+		    free(PassWord);
+		}
+		return NNTPAUTH_CLOSE;
+	    }
+	    if (status == 502) {
+		/*
+		 * That's what INN's nnrpd returns.  It closes the connection
+		 * after this.  - kw
+		 */
+		HTAlert(response_text);
+		if (auth) {
+		    if (auth->user == UserName)
+			UserName = NULL;
+		    free(auth->user);
+		    auth->user = NULL;
+		    if (auth->pass == PassWord)
+			PassWord = NULL;
+		    free(auth->pass);
+		    auth->pass = NULL;
+		}
+		if (UserName)
+		    free(UserName);
+		if (PassWord)
+		    free(PassWord);
+		return NNTPAUTH_CLOSE;
+	    }
+	    if (status == 281) {
+		/*
+		 * Password also is accepted, and everything has been stored. 
+		 * - FM
+		 */
+		if (auth) {
+		    if (auth->user != UserName) {
+			free(auth->user);
+			auth->user = UserName;
+		    }
+		    if (auth->pass != PassWord) {
+			free(auth->pass);
+			auth->pass = PassWord;
+		    }
+		} else {
+		    if (auth = calloc(1, sizeof(NNTPAuth))) {
+			StrAllocCopy(auth->host, host);
+			auth->user = UserName;
+			auth->pass = PassWord;
+			HTList_addObject(NNTP_AuthInfo, auth);
+		    }
+		}
+		return NNTPAUTH_OK;
+	    }
+	    /*
+	     * Not success, so it must be an error.  - FM
+	     */
+	    HTAlert(response_text);
+	    if (!auth || auth->pass != PassWord)
+		free(PassWord);
+	    PassWord = NULL;
+
+	    tries--;
+	    if ((tries > 0) && HTConfirm("Change password?"))
+		continue;
+
+	    if (auth) {
+		if (auth->user == UserName)
+		    UserName = NULL;
+		free(auth->user);
+		auth->user = NULL;
+		free(auth->pass);
+		auth->pass = NULL;
+	    }
+	    if (UserName)
+		free(UserName);
+	    break;
+	}
+    }
+    return NNTPAUTH_ERROR;
+}
 
 /*	Send NNTP Command line to remote host & Check Response
 **	------------------------------------------------------
 **
 ** On entry,
 **	command	points to the command to be sent, including CRLF, or is null
 **		pointer if no command to be sent.
 ** On exit,
@@ -715,17 +1031,19 @@
     return status;
 }
 
 
 PRIVATE int response (WWW_CONST char *command)
 {
   int result;    
   char *p = response_text;
+  int auth_tried = 0;
 
+ retry:
   if (command) {
     int status;
     int length = strlen(command);
 
 #ifndef DISABLE_TRACE
     if (www2Trace) 
       fprintf(stderr, "NNTP command to be sent: %s", command);
 #endif
@@ -745,16 +1063,30 @@
     if (((*p++ = HTGetCharacter()) == LF) ||
 	(p == &response_text[LINE_LENGTH])) {
       *p++ = '\0';				/* Terminate the string */
 #ifndef DISABLE_TRACE
       if (www2Trace)
 	fprintf(stderr, "NNTP Response: %s\n", response_text);
 #endif
       sscanf(response_text, "%d", &result);
+
+      if ((result == 480) && !auth_tried) {
+        /* Authentication needed */
+	NNTPAuthResult auth_result = HTHandleAuthInfo(HTNewsHost);
+
+	if ((auth_result == NNTPAUTH_CLOSE) && (s != -1)) {
+	  NETCLOSE(s);
+	  s = -1;
+	}
+	if ((auth_result == NNTPAUTH_OK) && !auth_tried) {
+	  auth_tried = 1;
+	  goto retry;
+	}
+      }
       return result;	    
     }
     
     if (*(p - 1) < 0) {
 #ifndef DISABLE_TRACE
       if (www2Trace)
 	fprintf(stderr, "HTNews: EOF on read, closing socket %d\n", s);
 #endif
@@ -1354,17 +1686,17 @@
   int l = strlen(str);
 
   if (l < len) {
     p = spaces;
     len -= l;
     while (len--)
       *p++ = ' ';
     *p = '\0';
-  } else if (l > len) { 
+  } else { 
     spaces[0] = '\0';
   }
   return spaces;
 }
 
 		
 /*	Read in an Article					read_article
 **	------------------
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libwww2/httcp.c mosaic4_2/libwww2/HTTCP.c
--- mosaic4_2.orig/libwww2/httcp.c	2007-08-16 04:53:28.000000000 +0800
+++ mosaic4_2/libwww2/HTTCP.c	2011-12-20 12:52:48.000000000 +0800
@@ -55,17 +55,19 @@
 ** On return,
 **	returns		a negative status in the unix way.
 */
 #ifndef errno
 extern int errno;
 #endif /* errno */
 
 #ifndef VMS
+#if !defined(linux) && !defined(__linux)
 extern char *sys_errlist[];		/* See man perror on cernvax */
+#endif
 extern int sys_nerr;
 #endif /* VMS, BSN */
 
 #if defined(VMS) && !defined(MULTINET) && !defined(WIN_TCP) && !defined(SOCKETSHR)
 /*
  * A routine to mimick the ioctl function for UCX.
  * Bjorn S. Nilsson, 25-Nov-1993.  Based on an example in the UCX manual.
  * Note.  This code was taken out because it crashed OpenVMS 1.5 systems
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libwww2/http.c mosaic4_2/libwww2/HTTP.c
--- mosaic4_2.orig/libwww2/http.c	2007-08-29 07:57:28.000000000 +0800
+++ mosaic4_2/libwww2/HTTP.c	2011-12-20 20:31:14.000000000 +0800
@@ -2154,23 +2154,27 @@
       if (HTMultiLoading) {
 	  HTMultiLoading->stream = (void *)target;
 	  HTMultiLoading->socket = s;
 	  HTMultiLoading->handle = (void *)handle;
 	  HTMultiLoading->length = done_length;
 	  status = HT_LOADED;
 	  lsocket = -1;
 	  /* Did we already read it all? */
-	  if ((target->isa == &HTMIME) &&
-      	      (((HTMIME_get_header_length(target) +
-	  	 HTMIME_get_content_length(target)) - done_length) < 1)) {
-	      HTMultiLoading->loaded = 1;
-	      (*target->isa->end_document)(target);
-	      HTTP_NETCLOSE(s, handle);
-	      (*target->isa->free)(target);
+	  if (target->isa == &HTMIME) {
+	      int content_length = HTMIME_get_content_length(target);
+
+      	      if ((content_length != -1) &&
+		  (((HTMIME_get_header_length(target) + content_length) -
+		    done_length) < 1)) {
+		  HTMultiLoading->loaded = 1;
+		  (*target->isa->end_document)(target);
+		  HTTP_NETCLOSE(s, handle);
+		  (*target->isa->free)(target);
+	      }
 	  }
           goto clean_up;
       }
       /* Go pull the bulk of the data down.
        * If we don't use length, header length is wrong due to the 
        * discarded first line.  HTCopy will get any loading length. */
       rv = HTCopy(s, target, done_length, handle, -1);
       if (rv < 0) {
@@ -2195,16 +2199,18 @@
 	      HTProgress("Retrying as HTTP0 request.");
 	      goto try_again;
 	  }
       }
   } else {
       /* return_nothing is high. */
       (*target->isa->put_string)(target, "<mosaic-access-override>\n");
       HTProgress("No content was returned.");
+      if (HTMultiLoading)
+	  HTMultiLoading->loaded = 1;
   }
 
   (*target->isa->end_document)(target);
 
   /* Close socket before doing free. */
   if (lsocket == -1) {
       HTTP_NETCLOSE(s, handle);
 #ifndef DISABLE_TRACE
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libwww2/Makefile mosaic4_2/libwww2/Makefile
--- mosaic4_2.orig/libwww2/Makefile	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/libwww2/Makefile	2011-12-20 14:18:18.000000000 +0800
@@ -0,0 +1,29 @@
+LIBTARGET = libwww.a
+
+all: $(LIBTARGET)
+
+CFILES = HTAABrow.c HTAAUtil.c HTAccess.c \
+  HTAlert.c HTAnchor.c HTAssoc.c HTAtom.c \
+  HTChunk.c HTCompressed.c HTFile.c HTFormat.c \
+  HTFTP.c HTFWriter.c HTGopher.c HTIcon.c \
+  HTInit.c HTList.c HTMailto.c HTMIME.c \
+  HTML.c HTMLDTD.c HTMLGen.c HTMosaicHTML.c \
+  HTNews.c HTParse.c HTPlain.c HTSort.c \
+  HTString.c HTTCP.c HTTelnet.c HTTP.c \
+  HTUU.c HTWriter.c HTWSRC.c \
+  HTBTree.c HTFinger.c HTCookie.c SGML.c
+
+OBJS = $(CFILES:.c=.o)
+
+$(LIBTARGET): $(OBJS)
+	-rm -f $(LIBTARGET)
+	ar rv $(LIBTARGET) $(OBJS)
+	$(RANLIB) $(LIBTARGET)
+
+$(OBJS): HTUtils.h
+HTFTP.o: HTFTP.h
+
+clean:
+	rm $(LIBTARGET) *.o
+tags:
+	etags -t *.[ch]
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libxmx/Makefile mosaic4_2/libXmx/Makefile
--- mosaic4_2.orig/libxmx/Makefile	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/libXmx/Makefile	1996-04-05 04:15:50.000000000 +0800
@@ -0,0 +1,22 @@
+# You shouldn't need to edit below here.
+
+LIBTARGET = libXmx.a
+
+all: $(LIBTARGET)
+
+CFILES = Xmx.c Xmx2.c
+
+OBJS = $(CFILES:.c=.o)
+
+$(LIBTARGET): $(OBJS)
+	-rm -f $(LIBTARGET)
+	ar rv $(LIBTARGET) $(OBJS)
+	$(RANLIB) $(LIBTARGET)
+
+Xmx.o: Xmx.c Xmx.h XmxP.h
+Xmx2.o: Xmx2.c Xmx.h XmxP.h
+
+clean:
+	-rm $(LIBTARGET) *.o
+tags:
+	etags -t *.[ch]
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/libxmx/xmx.c mosaic4_2/libXmx/Xmx.c
--- mosaic4_2.orig/libxmx/xmx.c	2007-07-17 07:51:05.000000000 +0800
+++ mosaic4_2/libXmx/Xmx.c	2011-12-20 17:51:20.000000000 +0800
@@ -61,17 +61,17 @@
 #endif /* VMS V7.0 has.  Define it before XmxP.h includes string.h.  GEC */
 
 #ifndef DISABLE_TRACE
 extern int srcTrace;
 #endif
 
 #include "XmxP.h"
 
-#include "../libliteclue/liteclue.h"
+#include "../libliteclue/LiteClue.h"
 
 #if defined(ultrix) || (defined(VMS) && (!defined(__DECC) || (__VMS_VER < 70000000) || (__DECC_VER <= 50230003))) || defined(NeXT)
 extern char *strdup();
 #endif /* DEC C V5.2 string.h has for VMS V7.0, GEC */
 
 extern Pixmap dialogError, dialogInformation, dialogQuestion, dialogWarning;
 
 static XmString blank = NULL;
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/Makefile mosaic4_2/Makefile
--- mosaic4_2.orig/Makefile	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/Makefile	2011-12-20 20:48:13.000000000 +0800
@@ -0,0 +1,241 @@
+##
+## Toplevel Makefile for all Makefiles
+##
+
+##
+## Scott Powers
+## Cameron Kaiser
+## and a cast of probably two or three people
+##
+
+CKVERS=27ck9
+
+all: dev_$(DEV_ARCH)
+
+list: dev_
+help: dev_
+dev_::
+	@echo "You must specify one of the following or set the environment variable"
+	@echo "[DEV_ARCH] to one of the following:"
+	@echo "-- CURRENTLY SUPPORTED --"
+	@echo "  ppcmt -- PowerPC running Power MachTen 4.1.4 or higher"
+	@echo "  osx -- Mac OS X 10.4+ PPC OR x86 (earlier possible but unsupported)"
+	@echo "  linux -- Current Linux 2.x"
+	@echo "-- USE SOMETHING ELSE UNLESS YOU KNOW WHAT YOU'RE DOING --"
+	@echo "  uosx -- Universal Binary Mac OS X 10.4+"
+	@echo "-- ARCHIVAL (AT YOUR OWN RISK) --"
+	@echo "  alpha -- DEC Alpha AXP running OSF/1"
+	@echo "  bsdi -- x86 running BSDI BSD/OS 2.1"
+	@echo "  dec -- DEC 2100 running Ultrix 4.3"
+	@echo "  hp -- HP 9000/735 running HP-UX A.09.01"
+	@echo "  ibm -- IBM RS6000 running AIX 4.4 BSD"
+	@echo "  indy -- SGI Indy running IRIX 5.3"
+	@echo "  linux1 -- x86 running Linux 1.2.13 DYNAMIC"
+	@echo "  linux1-static -- x86 running Linux 1.2.13 ALL STATIC"
+	@echo "  linux1-static-motif -- x86 running Linux 1.2.13 STATIC MOTIF"
+	@echo "  sco -- x86 running SCO System V 3.2"
+	@echo "  sgi -- SGI Iris running IRIS 4.0.2"
+	@echo "  solaris-23 -- SPARCstation 20 running Solaris 2.3"
+	@echo "  solaris-24 -- SPARCstation 20 running Solaris 2.4"
+	@echo "  solaris-24-x86 -- x86 running Solaris 2.4 for x86"
+	@echo "  sun -- SPARCserver 690MP running SunOS 4.1.3"
+	@echo "  sun-lresolv -- SPARCserver 690MP running SunOS 4.1.3"
+	@echo " "
+	@echo "To make a Purify or Quantify version of Mosaic, put a 'p_' or"
+	@echo "  'q_' in front of the platform. (NOT SUPPORTED EITHER)"
+	@echo "If your OS is not listed, you will need to copy one of the"
+	@echo "  the Makefiles.OS in the 'makefiles' directory, edit it for"
+	@echo "  your system, edit this Makefile to add your system, compile,"
+	@echo "  and send in your changes to: ckaiser@floodgap.com."
+
+purifyd:
+	$(MAKE) p_$(DEV_ARCH)
+
+quantifyd:
+	$(MAKE) q_$(DEV_ARCH)
+
+rm_and_touch:
+	@rm -f config.h
+	@touch config.h
+
+####### THESE ARE THE SUPPORTED TARGETS! #######
+
+dev_uosx: rm_and_touch uosx
+uosx: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.uosx DEV_ARCH=uosx
+p_uosx: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.uosx purifyd DEV_ARCH=uosx
+q_uosx: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.uosx quantifyd DEV_ARCH=uosx
+
+dev_osx: rm_and_touch osx
+osx: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.osx DEV_ARCH=osx
+p_osx: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.osx purifyd DEV_ARCH=osx
+q_osx: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.osx quantifyd DEV_ARCH=osx
+
+dev_ppcmt: rm_and_touch ppcmt
+ppcmt: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.ppcmt DEV_ARCH=ppcmt
+p_ppcmt: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.ppcmt purifyd DEV_ARCH=ppcmt
+q_ppcmt: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.ppcmt quantifyd DEV_ARCH=ppcmt
+
+####### THESE ARE NOT! #######
+
+dev_alpha: rm_and_touch alpha
+alpha: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.alpha DEV_ARCH=alpha
+p_alpha: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.alpha purifyd DEV_ARCH=alpha
+q_alpha: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.alpha quantifyd DEV_ARCH=alpha
+
+dev_bsdi: rm_and_touch bsdi
+bsdi: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.bsdi DEV_ARCH=bsdi
+p_bsdi: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.bsdi purifyd DEV_ARCH=bsdi
+q_bsdi: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.bsdi quantifyd DEV_ARCH=bsdi
+
+dev_dec: rm_and_touch dec
+dec: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.dec DEV_ARCH=dec
+p_dec: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.dec purifyd DEV_ARCH=dec
+q_dec: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.dec quantifyd DEV_ARCH=dec
+
+dev_hp: rm_and_touch hp
+hp: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.hp DEV_ARCH=hp
+p_hp: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.hp purifyd DEV_ARCH=hp
+q_hp: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.hp quantifyd DEV_ARCH=hp
+
+dev_ibm: rm_and_touch ibm
+ibm: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.ibm DEV_ARCH=ibm
+p_ibm: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.ibm purifyd DEV_ARCH=ibm
+q_ibm: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.ibm quantifyd DEV_ARCH=ibm
+
+dev_indy: rm_and_touch indy
+indy: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.indy DEV_ARCH=indy
+p_indy: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.indy purifyd DEV_ARCH=indy
+q_indy: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.indy quantifyd DEV_ARCH=indy
+
+dev_linux: rm_and_touch linux
+linux: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.linux DEV_ARCH=linux
+p_linux: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.linux purifyd DEV_ARCH=linux
+q_linux: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.linux quantifyd DEV_ARCH=linux
+
+dev_linux1: rm_and_touch linux1
+linux1: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.linux1 DEV_ARCH=linux
+p_linux1: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.linux1 purifyd DEV_ARCH=linux
+q_linux1: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.linux1 quantifyd DEV_ARCH=linux
+
+dev_linux1_static: rm_and_touch linux1_static
+linux1_static: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.linux1 staticd DEV_ARCH=linux
+p_linux1_static: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.linux1 p_staticd DEV_ARCH=linux
+q_linux1_static: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.linux1 q_staticd DEV_ARCH=linux
+
+dev_linux1_static_motif: rm_and_touch linux1_static_motif
+linux1_static_motif: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.linux1 static_motifd DEV_ARCH=linux
+p_linux1_static_motif: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.linux1 p_static_motifd DEV_ARCH=linux
+q_linux1_static_motif: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.linux1 q_static_motifd DEV_ARCH=linux
+
+dev_sco: rm_and_touch sco
+sco: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.sco DEV_ARCH=sco
+p_sco: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.sco purifyd DEV_ARCH=sco
+q_sco: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.sco quantifyd DEV_ARCH=sco
+
+dev_sgi: rm_and_touch sgi
+sgi: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.sgi DEV_ARCH=sgi
+p_sgi: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.sgi purifyd DEV_ARCH=sgi
+q_sgi: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.sgi quantifyd DEV_ARCH=sgi
+
+dev_solaris-23: rm_and_touch solaris-23
+solaris-23: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.solaris-23 DEV_ARCH=solaris-23
+p_solaris-23: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.solaris-23 purifyd DEV_ARCH=solaris-23
+q_solaris-23: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.solaris-23 quantifyd DEV_ARCH=solaris-23
+
+dev_solaris-24: rm_and_touch solaris-24
+solaris-24: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.solaris-24 DEV_ARCH=solaris-24
+p_solaris-24: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.solaris-24 purifyd DEV_ARCH=solaris-24
+q_solaris-24: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.solaris-24 quantifyd DEV_ARCH=solaris-24
+
+dev_solaris-24-x86: rm_and_touch solaris-24-x86
+solaris-24-x86: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.solaris-24-x86 DEV_ARCH=solaris-24-x86
+p_solaris-24-x86: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.solaris-24-x86 purifyd DEV_ARCH=solaris-24-x86
+q_solaris-24-x86: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.solaris-24-x86 quantifyd DEV_ARCH=solaris-24-x86
+
+dev_sun: rm_and_touch sun
+sun: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.sun DEV_ARCH=sun
+p_sun: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.sun purifyd DEV_ARCH=sun
+q_sun: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.sun quantifyd DEV_ARCH=sun
+
+dev_sun-lresolv: rm_and_touch sun-lresolv
+sun-lresolv: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.sun-lresolv DEV_ARCH=sun-lresolv
+p_sun-lresolv: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.sun-lresolv purifyd DEV_ARCH=sun-lresolv
+q_sun-lresolv: rm_and_touch
+	$(MAKE) -f makefiles/Makefile.sun-lresolv quantifyd DEV_ARCH=sun-lresolv
+
+clean:
+	cd libXmx; $(MAKE) clean
+	cd libdtm; $(MAKE) clean
+	cd libhtmlw; $(MAKE) clean
+	cd libnet; $(MAKE) clean
+	cd libnut; $(MAKE) clean
+	cd libwww2; $(MAKE) clean
+	cd src; $(MAKE) clean MOSAIC="Mosaic"
+	rm -f motifmaclauncher/mosaic-mml
+	rm -rf motifmaclauncher/build
+	@echo "Done cleaning..."
+
+dist: clean targz
+
+targz:
+	cd .. ; rm -f mosaic$(CKVERS).tar* ; tar cvf mosaic$(CKVERS).tar mosaic$(CKVERS) ; gzip mosaic$(CKVERS).tar
+
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/makefiles/Makefile.alpha mosaic4_2/makefiles/Makefile.alpha
--- mosaic4_2.orig/makefiles/Makefile.alpha	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/makefiles/Makefile.alpha	1996-06-12 07:45:24.000000000 +0800
@@ -0,0 +1,296 @@
+# Toplevel Makefile for NCSA Mosaic.
+
+# You shouldn't need to touch any of the Makefiles in the various
+# subdirectories if you configure this Makefile correctly.
+
+# If you need to make serious changes to get Mosaic to compile on your
+# platform, send context diffs to mosaic-x@ncsa.uiuc.edu.
+
+# -------------------------- CUSTOMIZABLE OPTIONS ----------------------------
+
+
+prereleaseflags = -DPRERELEASE
+
+RANLIB = /bin/true
+#### On non-SGI's, this should be ranlib.
+RANLIB = ranlib
+
+CC = cc
+#### On Sun's, this should be gcc (ANSI required).
+# CC = gcc
+
+#### Linker Flags -- Primarily for linking static on linux-elf.
+#ldflags = -static
+ldflags =
+
+#### For a few files in the source, some compilers may need to be kicked
+#### in K&R mode.  E.g., on SGI's, -cckr does this.
+knrflag = -cckr
+#### On most systems, no flag is needed.
+knrflag =
+
+
+#### Random system configuration flags.
+#### --> *** For Motif 1.2 ON ANY PLATFORM, do -DMOTIF1_2 *** <--
+#### For IBM AIX 3.2, do -D_BSD
+#### For NeXT, do -DNEXT
+#### For HP/UX, do -Aa -D_HPUX_SOURCE
+#### For Dell SVR4, do -DSVR4
+#### For Solaris, do -DSVR4 
+#### For Esix 4.0.4 and Solaris x86 2.1, do -DSVR4
+#### For Convex whatever, do -DCONVEX
+#### For SCO ODT 3.0, do -DSCO -DSVR4 -DMOTIF1_2
+#### For Motorola SVR4, do -DSVR4 -DMOTOROLA -DMOTIF1_2
+sysconfigflags =
+
+#### System libraries.
+syslibs = -lPW -lsun -lmalloc
+#### For AIX 3.2
+# syslibs = -lPW -lbsd
+#### For most other Motif platforms:
+syslibs = -lPW
+#### For Sun's and Ultrix and HP and BSD/386:
+# syslibs =
+#### For Sun's with no DNS:
+# syslibs = -lresolv
+#### For SCO ODT:
+# syslibs = -lPW -lsocket -lmalloc
+#### For Dell SVR4:
+# syslibs = -lnsl -lsocket -lc -lucb
+#### For Solaris (?)
+# syslibs = -lnsl -lsocket -lgen
+#### For Motorola SVR4:
+# syslibs = -lnsl -lsocket -lgen
+
+
+#### X include file locations -- if your platform puts the X include
+#### files in a strange place, set this variable appropriately.  Else
+#### don't worry about it.
+#### HP X11R4 version:
+# xinc = -I/usr/include/Motif1.1 -I/usr/include/X11R4
+#### HP X11R5 version:
+# xinc = -I/usr/include/Motif1.2 -I/usr/local/X11R5/include
+#### NeXT version:
+# xinc = -I/usr/include/X11
+#### BSD/386
+# xinc = -I/usr/X11/include
+
+#### X library locations.
+xlibs = -lXm_s -lXmu -lXt_s -lX11_s
+#### For Sun's (at least running stock X/Motif as installed on our machines):
+# xlibs = /usr/lib/libXm.a /usr/lib/libXmu.a /usr/lib/libXt.a /usr/lib/libXext.a /usr/lib/libX11.a -lm
+#### For HP-UX 8.00:
+# xlibs = -L/usr/lib/Motif1.1 -lXm -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For HP-UX 9.01: The X11R5 libraries are here on our systems
+# xlibs = -L/usr/lib/Motif1.2 -lXm -L/usr/lib/X11R5 -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For NeXT:
+# xlibs = -L/usr/lib/X11 -lXm -lXmu -lXt -lX11
+#### For Dell SVR4:
+# xlibs = -L/usr/X5/lib -lXm -lXmu -lXt -lXext -lX11
+#### For Solaris (?)
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+#### For SCO ODT 3.0 (I'm told that -lXtXm_s is *not* a typo :-):
+# xlibs = -lXtXm_s -lXmu -lX11_s
+#### For nearly everyone else:
+xlibs = -lXm -lXmu -lXt -lX11
+#### For BSD/386:
+# xlibs = -L/usr/X11/lib -lXm -lXmu -lXt -lX11
+#### For Motorola SVR4:
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+
+
+#### DTM AND HDF SUPPORT; READ CAREFULLY
+
+#### If you want to compile with DTM and HDF support, you should leave
+#### the following lines uncommented and make sure you have a copy of
+#### HDF 3.3 (r1 or later) installed and ready.  You can find HDF on
+#### ftp.ncsa.uiuc.edu in /HDF.
+
+#### If you do not want to compile with DTM and HDF support, comment
+#### the following lines out.  (If you are compiling from source for
+#### the first time, you should probably not bother with HDF and DTM
+#### support.)
+
+#### dtmmachtype needs to be set to one of the following:
+####   sun, sgi, dec, ibm, next, cray, convex
+#### If your platform is not one of the above, then either do not compile
+#### with HDF/DTM support or try hacking libdtm/makefile.
+
+#dtmmachtype = alpha
+#dtmdirs = libdtm libnet
+#dtmlibs = ../libnet/libnet.a ../libdtm/libdtm.a
+#dtmflags = -DHAVE_DTM -I.. -I../libnet
+#hdfdir = /hdf2/install/osf
+#hdflibs = $(hdfdir)/lib/libmfhdf.a $(hdfdir)/lib/libdf.a
+#hdfflags = -DHAVE_HDF -DHDF -I$(hdfdir)/include
+
+#### PNG SUPPORT
+#### For inline PNG support, the following should be defined:
+#### The libraries currently used are PNGLIB 0.81 and ZLIB 0.95
+
+pngdir = /xdev/mosaic/libpng/alpha
+pnglibdir = $(pngdir)/lib
+pngincludedir = $(pngdir)/include
+pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a -lm
+pngflags =  -I$(pngincludedir) -DHAVE_PNG
+
+#### JPEG SUPPORT
+#### For inline JPEG support, the following should be defined:
+#### The library used is Independent JPEG Group (IJG's) 5.0a.
+
+jpegdir = /xdev/mosaic/libjpeg/alpha
+jpeglibs = $(jpegdir)/lib/libjpeg.a
+jpegflags = -I$(jpegdir)/include -DHAVE_JPEG
+
+
+#### KERBEROS SUPPORT
+####
+#### If you want Mosaic to support Kerberos authentication, set the 
+#### following flags appropriately.  You can support Kerberos V4 and/or V5,
+#### although it's most likely that your realm supports one or the other.
+#### To enable DES-encryption of HTTP messages via Kerberos key exchange, 
+#### define the KRB-ENCRYPT flag.
+
+##krb4dir   = /usr/athena
+krb4dir   = /xdev/mosaic/libkrb4/alpha
+krb4libs  = $(krb4dir)/lib/libkrb.a $(krb4dir)/lib/libdes.a
+krb4flags = -DKRB4 -I$(krb4dir)/include
+
+##krb5dir   = /krb5
+krb5dir   = /xdev/mosaic/libkrb5/alpha
+krb5libs  = $(krb5dir)/lib/libkrb5.a $(krb5dir)/lib/libcrypto.a $(krb5dir)/util/et/libcom_err.a
+krb5flags = -DKRB5 -I$(krb5dir)/include -I$(krb5dir)/include/krb5
+
+#Do not comment out.
+krbflags  = $(krb4flags) $(krb5flags)
+krblibs   = $(krb4libs) $(krb5libs) 
+
+
+#### DIRECT WAIS SUPPORT
+
+#### If you want to have Mosaic be able to communicate directly with
+#### WAIS servers, do set the following flags appropriately.  We
+#### recommend linking with CNIDR's freeWAIS 0.5 distribution; other
+#### WAIS distributions may work but we have not tested them with
+#### Mosaic.  freeWAIS 0.5 can currently (Sept.1995) be found at
+#### ftp://sunsite.unc.edu/pub/wais/servers/freeWAIS 
+
+#### If you do not wish to link to the WAIS libraries, then comment
+#### the following lines out.  Mosaic will then communicate with WAIS
+#### servers via a HTTP gateway.
+
+#### -lm is required for freeWAIS 0.5, as ceil() is used.
+
+waisroot = /xdev/mosaic/freeWAIS/alpha
+waisflags = -DDIRECT_WAIS -I$(waisroot)/include
+waislibdir = $(waisroot)/bin
+waislibs = $(waislibdir)/inv.a $(waislibdir)/wais.a $(waislibdir)/libftw.a -lm
+
+
+#### Customization flags:
+#### . If you want Mosaic to come up with monochrome colors by default,
+####   use -DMONO_DEFAULT
+#### . If you want to define the default Mosaic home page, set
+####   -DHOME_PAGE_DEFAULT=\\\"url\\\"
+#### . If you want to define the default Mosaic documentation directory
+####   (should be a URL), set -DDOCS_DIRECTORY_DEFAULT=\\\"url\\\"
+#### . Other things you can define are spelled out in src/mosaic.h.
+customflags =
+
+
+
+########
+########
+####      NOTE! If you get errors because of the following line, it means
+####      you are NOT using GNUs Make program. The following line is basically
+####      for the developers at NCSA to customize the build process without
+####      modifying the Makefiles, so you may comment it out without harm.
+########
+########
+-include local-defines/$(DEV_ARCH)
+
+
+
+# ---------------------- END OF CUSTOMIZABLE OPTIONS -------------------------
+
+CFLAGS = -g $(sysconfigflags) $(prereleaseflags)
+
+
+# Don't worry about these -- for development purposes only.
+PURIFY = purify
+QUANTIFY = quantify
+
+default: $(dtmdirs) libwww2 libXmx libhtmlw libnut src
+	@echo \*\*\* Welcome to NCSA Mosaic.
+purifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-purifyd
+	@echo \*\*\* Welcome to Purify'd NCSA Mosaic.
+quantifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-quantifyd
+	@echo \*\*\* Welcome to Quantify'd NCSA Mosaic.
+
+libXmx::
+	@echo --- Building libXmx
+	cd libXmx; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc)"
+
+libhtmlw::
+	@echo --- Building libhtmlw
+	cd libhtmlw; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(xinc) -DMOTIF -DXMOSAIC"
+
+libwww2::
+	@echo --- Building libwww2
+	cd libwww2; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(waisflags) $(krbflags) $(xinc)"
+
+libnut::
+	@echo --- Building libnut
+	cd libnut; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag)"
+
+src::
+	@echo --- Building src
+	cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
+
+src-purifyd::
+	@echo --- Building Purify'd src
+	cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
+
+src-quantifyd::
+	@echo --- Building Quantify'd src
+	cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
+
+libnet::
+	@echo --- Building libnet
+	cd libnet; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+libdtm::
+	@echo --- Building libdtm
+	cd libdtm; $(MAKE) $(dtmmachtype) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+clean:
+	cd libXmx; $(MAKE) $@
+	cd libhtmlw; $(MAKE) $@
+	cd libwww2; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+	cd libnet; $(MAKE) $@
+	cd libdtm; $(MAKE) $@
+	cd libnut; $(MAKE) $@
+
+wclean:
+	cd libhtmlw; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+
+commit:
+	cvs commit
+update:
+	cvs update
+countlines:
+	wc libdtm/*.[ch] libnet/*.[ch] libXmx/*.[ch] libhtmlw/*.[ch] libwww2/*.[ch] src/*.[ch]
+replicate:
+	cp Makefile Makefile.sun
+	cp Makefile Makefile.ibm
+	cp Makefile Makefile.dec
+	cp Makefile Makefile.alpha
+	cp Makefile Makefile.hp
+prune:
+	mv Makefile.sun Makefile.sun.old
+	mv Makefile.ibm Makefile.ibm.old
+	mv Makefile.dec Makefile.dec.old
+	mv Makefile.alpha Makefile.alpha.old
+	mv Makefile.hp Makefile.hp.old
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/makefiles/Makefile.bsdi mosaic4_2/makefiles/Makefile.bsdi
--- mosaic4_2.orig/makefiles/Makefile.bsdi	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/makefiles/Makefile.bsdi	2009-03-11 12:21:04.000000000 +0800
@@ -0,0 +1,238 @@
+# Toplevel Makefile for NCSA Mosaic.
+
+# You shouldn't need to touch any of the Makefiles in the various
+# subdirectories if you configure this Makefile correctly.
+
+# If you need to make serious changes to get Mosaic to compile on your
+# platform, send context diffs to mosaic-x@ncsa.uiuc.edu.
+# -------------------------- CUSTOMIZABLE OPTIONS ----------------------------
+
+prereleaseflags = -DPRERELEASE
+
+RANLIB = ranlib
+
+CC = gcc
+
+#### Linker Flags -- Primarily for linking static on linux-elf.
+ldflags =
+
+#### For a few files in the source, some compilers may need to be kicked
+#### in K&R mode.  E.g., on SGI's, -cckr does this.
+#### On most systems, no flag is needed.
+knrflag =
+
+
+#### Random system configuration flags.
+#### --> *** For Motif 1.2 ON ANY PLATFORM, do -DMOTIF1_2 *** <--
+#### For IBM AIX 3.2, do -D_BSD
+#### For NeXT, do -DNEXT
+#### For HP/UX, do -Aa -D_HPUX_SOURCE
+#### For Dell SVR4, do -DSVR4
+#### For Solaris, do -DSVR4 
+#### For Esix 4.0.4 and Solaris x86 2.1, do -DSVR4
+#### For Convex whatever, do -DCONVEX
+#### For SCO ODT 3.0, do -DSCO -DSVR4 -DMOTIF1_2
+#### For Motorola SVR4, do -DSVR4 -DMOTOROLA -DMOTIF1_2
+sysconfigflags = -DMOTIF1_2
+
+#### System libraries.
+syslibs = -lipc
+
+#### X include file locations -- if your platform puts the X include
+xinc = -I/usr/X11/include
+xlibs = -L/usr/X11/lib -lXm -lXmu -lXt -lXext -lSM -lICE -lXpm -lX11
+
+
+#### DTM AND HDF SUPPORT; READ CAREFULLY
+
+#### If you want to compile with DTM and HDF support, you should leave
+#### the following lines uncommented and make sure you have a copy of
+#### HDF 3.3 (r1 or later) installed and ready.  You can find HDF on
+#### ftp.ncsa.uiuc.edu in /HDF.
+
+#### If you do not want to compile with DTM and HDF support, comment
+#### the following lines out.  (If you are compiling from source for
+#### the first time, you should probably not bother with HDF and DTM
+#### support.)
+
+#### dtmmachtype needs to be set to one of the following:
+####   sun, sgi, dec, ibm, next, cray, convex
+#### If your platform is not one of the above, then either do not compile
+#### with HDF/DTM support or try hacking libdtm/makefile.
+
+#dtmmachtype = sun
+#dtmdirs = libdtm libnet
+#dtmlibs = ../libnet/libnet.a ../libdtm/libdtm.a
+#dtmflags = -DHAVE_DTM -I.. -I../libnet
+#hdfdir = /hdf2/install/sun
+#hdflibs = $(hdfdir)/lib/libmfhdf.a $(hdfdir)/lib/libdf.a
+#hdfflags = -DHAVE_HDF -DHDF -I$(hdfdir)/include
+
+
+#### PNG SUPPORT
+#### For inline PNG support, the following should be defined:
+#### The libraries currently used are PNGLIB 0.81 and ZLIB 0.95
+
+pngdir = /xdev/mosaic/libpng/bsdi
+pnglibdir = $(pngdir)/lib
+pngincludedir = $(pngdir)/include
+pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a -lm
+pngflags =  -I$(pngincludedir) -DHAVE_PNG
+
+#pngdir = /work2/mosaic-libs/libpng
+#pnglibdir = $(pngdir)
+#pngincludedir = $(pngdir)
+#pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a -lm
+#pngflags =  -I$(pngincludedir) -DHAVE_PNG
+
+
+#### JPEG SUPPORT
+#### For inline JPEG support, the following should be defined:
+#### The library used is Independent JPEG Group (IJG's) 5.0a.
+
+jpegdir = /work2/mosaic-libs/libjpeg-6
+jpeglibs = $(jpegdir)/libjpeg.a
+jpegflags = -I$(jpegdir) -DHAVE_JPEG
+
+
+#### KERBEROS SUPPORT
+####
+#### If you want Mosaic to support Kerberos authentication, set the 
+#### following flags appropriately.  You can support Kerberos V4 and/or V5,
+#### although it's most likely that your realm supports one or the other.
+#### To enable DES-encryption of HTTP messages via Kerberos key exchange, 
+#### define the KRB-ENCRYPT flag.
+
+##krb4dir   = /usr/athena
+#krb4dir   = /xdev/mosaic/libkrb4/sun
+#krb4libs  = $(krb4dir)/lib/libkrb.a $(krb4dir)/lib/libdes.a
+#krb4flags = -DKRB4 -I$(krb4dir)/include
+
+##krb5dir   = /krb5
+#krb5dir   = /xdev/mosaic/libkrb5/sun
+#krb5libs  = $(krb5dir)/lib/libkrb5.a $(krb5dir)/lib/libcrypto.a $(krb5dir)/util/et/libcom_err.a
+#krb5flags = -DKRB5 -I$(krb5dir)/include -I$(krb5dir)/include/krb5
+
+#Do not comment out.
+krbflags  = $(krb4flags) $(krb5flags)
+krblibs   = $(krb4libs) $(krb5libs) 
+
+
+#### DIRECT WAIS SUPPORT
+
+#### If you want to have Mosaic be able to communicate directly with
+#### WAIS servers, do set the following flags appropriately.  We
+#### recommend linking with CNIDR's freeWAIS 0.5 distribution; other
+#### WAIS distributions may work but we have not tested them with
+#### Mosaic.  freeWAIS 0.5 can currently (Sept.1995) be found at
+#### ftp://sunsite.unc.edu/pub/wais/servers/freeWAIS 
+
+#### If you do not wish to link to the WAIS libraries, then comment
+#### the following lines out.  Mosaic will then communicate with WAIS
+#### servers via a HTTP gateway.
+
+#### -lm is required for freeWAIS 0.5, as ceil() is used.
+
+#waisroot = /xdev/mosaic/freeWAIS/sun4
+#waisflags = -DDIRECT_WAIS -I$(waisroot)/include
+#waislibdir = $(waisroot)/bin
+#waislibs = $(waislibdir)/inv.a $(waislibdir)/wais.a $(waislibdir)/libftw.a -lm
+
+
+#### Customization flags:
+#### . If you want Mosaic to come up with monochrome colors by default,
+####   use -DMONO_DEFAULT
+#### . If you want to define the default Mosaic home page, set
+####   -DHOME_PAGE_DEFAULT=\\\"url\\\"
+#### . If you want to define the default Mosaic documentation directory
+####   (should be a URL), set -DDOCS_DIRECTORY_DEFAULT=\\\"url\\\"
+#### . Other things you can define are spelled out in src/mosaic.h.
+customflags =
+
+
+
+
+########
+########
+####      NOTE! If you get errors because of the following line, it means
+####      you are NOT using GNUs Make program. The following line is basically
+####      for the developers at NCSA to customize the build process without
+####      modifying the Makefiles, so you may comment it out without harm.
+########
+########
+-include local-defines/$(DEV_ARCH)
+
+
+
+# ---------------------- END OF CUSTOMIZABLE OPTIONS -------------------------
+# --------------------- Do Not Modify Below This Line ------------------------
+#
+
+CFLAGS = -g $(sysconfigflags) $(prereleaseflags)
+
+# Don't worry about these -- for development purposes only.
+PURIFY = purify
+QUANTIFY = quantify
+
+default: $(dtmdirs) libwww2 libXmx libhtmlw libnut src
+	@echo \*\*\* Welcome to NCSA Mosaic.
+purifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-purifyd
+	@echo \*\*\* Welcome to Purify'd NCSA Mosaic.
+quantifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-quantifyd
+	@echo \*\*\* Welcome to Quantify'd NCSA Mosaic.
+
+libXmx::
+	@echo --- Building libXmx
+	cd libXmx; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc)"
+
+libhtmlw::
+	@echo --- Building libhtmlw
+	cd libhtmlw; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(xinc) -DMOTIF -DXMOSAIC"
+
+libwww2::
+	@echo --- Building libwww2
+	cd libwww2; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(waisflags) $(krbflags) $(xinc)"
+
+libnut::
+	@echo --- Building libnut
+	cd libnut; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag)"
+
+src::
+	@echo --- Building src
+	cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
+
+src-purifyd::
+	@echo --- Building Purify'd src
+	cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
+
+src-quantifyd::
+	@echo --- Building Quantify'd src
+	cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
+
+libnet::
+	@echo --- Building libnet
+	cd libnet; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+libdtm::
+	@echo --- Building libdtm
+	cd libdtm; $(MAKE) $(dtmmachtype) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+clean:
+	cd libXmx; $(MAKE) $@
+	cd libhtmlw; $(MAKE) $@
+	cd libwww2; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+	cd libnet; $(MAKE) $@
+	cd libdtm; $(MAKE) $@
+	cd libnut; $(MAKE) $@
+
+wclean:
+	cd libhtmlw; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+
+commit:
+	cvs commit
+update:
+	cvs update
+countlines:
+	wc libdtm/*.[ch] libnet/*.[ch] libXmx/*.[ch] libhtmlw/*.[ch] libwww2/*.[ch] src/*.[ch]
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/makefiles/Makefile.dec mosaic4_2/makefiles/Makefile.dec
--- mosaic4_2.orig/makefiles/Makefile.dec	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/makefiles/Makefile.dec	1996-07-18 12:29:11.000000000 +0800
@@ -0,0 +1,300 @@
+# Toplevel Makefile for NCSA Mosaic.
+
+# You shouldn't need to touch any of the Makefiles in the various
+# subdirectories if you configure this Makefile correctly.
+
+# If you need to make serious changes to get Mosaic to compile on your
+# platform, send context diffs to mosaic-x@ncsa.uiuc.edu.
+
+# -------------------------- CUSTOMIZABLE OPTIONS ----------------------------
+
+prereleaseflags = -DPRERELEASE
+
+RANLIB = /bin/true
+#### On non-SGI's, this should be ranlib.
+RANLIB = ranlib
+
+#CC = cc
+#### On Sun's, this should be gcc (ANSI required).
+CC = gcc
+
+#### Linker Flags -- Primarily for linking static on linux-elf.
+#ldflags = -static
+ldflags =
+
+#### For a few files in the source, some compilers may need to be kicked
+#### in K&R mode.  E.g., on SGI's, -cckr does this.
+knrflag = -cckr
+#### On most systems, no flag is needed.
+knrflag =
+
+
+#### Random system configuration flags.
+#### --> *** For Motif 1.2 ON ANY PLATFORM, do -DMOTIF1_2 *** <--
+#### For IBM AIX 3.2, do -D_BSD
+#### For NeXT, do -DNEXT
+#### For HP/UX, do -Aa -D_HPUX_SOURCE
+#### For Dell SVR4, do -DSVR4
+#### For Solaris, do -DSVR4 
+#### For Esix 4.0.4 and Solaris x86 2.1, do -DSVR4
+#### For Convex whatever, do -DCONVEX
+#### For SCO ODT 3.0, do -DSCO -DSVR4 -DMOTIF1_2
+#### For Motorola SVR4, do -DSVR4 -DMOTOROLA -DMOTIF1_2
+sysconfigflags = -DBROKEN_MOTIF
+
+#### System libraries.
+syslibs = -lPW -lsun -lmalloc
+#### For AIX 3.2
+# syslibs = -lPW -lbsd
+#### For most other Motif platforms:
+# syslibs = -lPW
+#### For Sun's and Ultrix and HP and BSD/386:
+syslibs =
+#### For Sun's with no DNS:
+# syslibs = -lresolv
+#### For SCO ODT:
+# syslibs = -lPW -lsocket -lmalloc
+#### For Dell SVR4:
+# syslibs = -lnsl -lsocket -lc -lucb
+#### For Solaris (?)
+# syslibs = -lnsl -lsocket -lgen
+#### For Motorola SVR4:
+# syslibs = -lnsl -lsocket -lgen
+
+
+#### X include file locations -- if your platform puts the X include
+#### files in a strange place, set this variable appropriately.  Else
+#### don't worry about it.
+#### HP X11R4 version:
+# xinc = -I/usr/include/Motif1.1 -I/usr/include/X11R4
+#### HP X11R5 version:
+# xinc = -I/usr/include/Motif1.2 -I/usr/local/X11R5/include
+#### NeXT version:
+# xinc = -I/usr/include/X11
+#### BSD/386
+# xinc = -I/usr/X11/include
+xinc = -I/usr/X11R6.1/include
+
+#### X library locations.
+xlibs = -lXm_s -lXmu -lXt_s -lX11_s
+#### For Sun's (at least running stock X/Motif as installed on our machines):
+# xlibs = /usr/lib/libXm.a /usr/lib/libXmu.a /usr/lib/libXt.a /usr/lib/libXext.a /usr/lib/libX11.a -lm
+#### For HP-UX 8.00:
+# xlibs = -L/usr/lib/Motif1.1 -lXm -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For HP-UX 9.01: The X11R5 libraries are here on our systems
+# xlibs = -L/usr/lib/Motif1.2 -lXm -L/usr/lib/X11R5 -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For NeXT:
+# xlibs = -L/usr/lib/X11 -lXm -lXmu -lXt -lX11
+#### For Dell SVR4:
+# xlibs = -L/usr/X5/lib -lXm -lXmu -lXt -lXext -lX11
+#### For Solaris (?)
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+#### For SCO ODT 3.0 (I'm told that -lXtXm_s is *not* a typo :-):
+# xlibs = -lXtXm_s -lXmu -lX11_s
+#### For nearly everyone else:
+#xlibs = -lXm -lXmu -lXt -lX11
+#xlibs = -L/usr/lib -lXm -lXmu -lXt -lX11
+#xlibs = -L/usr/X11R6.1/lib -lXm -lXmu -lXt -lXext -lX11
+xlibs = /usr/lib/libXm.a /usr/lib/libXmu.a /usr/lib/libXt.a /usr/lib/libXext.a /usr/lib/libSM.a /usr/lib/libICE.a /usr/lib/libXpm.a /usr/lib/libX11.a
+#### For BSD/386:
+# xlibs = -L/usr/X11/lib -lXm -lXmu -lXt -lX11
+#### For Motorola SVR4:
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+
+
+#### DTM AND HDF SUPPORT; READ CAREFULLY
+
+#### If you want to compile with DTM and HDF support, you should leave
+#### the following lines uncommented and make sure you have a copy of
+#### HDF 3.3 (r1 or later) installed and ready.  You can find HDF on
+#### ftp.ncsa.uiuc.edu in /HDF.
+
+#### If you do not want to compile with DTM and HDF support, comment
+#### the following lines out.  (If you are compiling from source for
+#### the first time, you should probably not bother with HDF and DTM
+#### support.)
+
+#### dtmmachtype needs to be set to one of the following:
+####   sun, sgi, dec, ibm, next, cray, convex
+#### If your platform is not one of the above, then either do not compile
+#### with HDF/DTM support or try hacking libdtm/makefile.
+
+#dtmmachtype = dec
+#dtmdirs = libdtm libnet
+#dtmlibs = ../libnet/libnet.a ../libdtm/libdtm.a
+#dtmflags = -DHAVE_DTM -I.. -I../libnet
+#hdfdir = /hdf2/install/dec_mipsel
+#hdflibs = $(hdfdir)/lib/libmfhdf.a $(hdfdir)/lib/libdf.a
+#hdfflags = -DHAVE_HDF -I$(hdfdir)/include
+
+#### PNG SUPPORT
+#### For inline PNG support, the following should be defined:
+#### The libraries currently used are PNGLIB 0.81 and ZLIB 0.95
+
+pngdir = /xdev/mosaic/libpng/dec
+pnglibdir = $(pngdir)/lib
+pngincludedir = $(pngdir)/include
+pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a -lm
+pngflags =  -I$(pngincludedir) -DHAVE_PNG
+
+#### JPEG SUPPORT
+#### For inline JPEG support, the following should be defined:
+#### The library used is Independent JPEG Group (IJG's) 5.0a.
+
+jpegdir = /xdev/mosaic/libjpeg/dec
+jpeglibs = $(jpegdir)/lib/libjpeg.a
+jpegflags = -I$(jpegdir)/include -DHAVE_JPEG
+
+
+#### KERBEROS SUPPORT
+####
+#### If you want Mosaic to support Kerberos authentication, set the 
+#### following flags appropriately.  You can support Kerberos V4 and/or V5,
+#### although it's most likely that your realm supports one or the other.
+#### To enable DES-encryption of HTTP messages via Kerberos key exchange, 
+#### define the KRB-ENCRYPT flag.
+
+##krb4dir   = /usr/athena
+#krb4dir   = /xdev/mosaic/libkrb4/dec
+#krb4libs  = $(krb4dir)/lib/libkrb.a $(krb4dir)/lib/libdes.a
+#krb4flags = -DKRB4 -I$(krb4dir)/include
+
+##krb5dir   = /krb5
+#krb5dir   = /xdev/mosaic/libkrb5/dec
+#krb5libs  = $(krb5dir)/lib/libkrb5.a $(krb5dir)/lib/libcrypto.a $(krb5dir)/util/et/libcom_err.a
+#krb5flags = -DKRB5 -I$(krb5dir)/include -I$(krb5dir)/include/krb5
+
+#Do not comment out.
+krbflags  = $(krb4flags) $(krb5flags)
+krblibs   = $(krb4libs) $(krb5libs) 
+
+
+#### DIRECT WAIS SUPPORT
+
+#### If you want to have Mosaic be able to communicate directly with
+#### WAIS servers, do set the following flags appropriately.  We
+#### recommend linking with CNIDR's freeWAIS 0.5 distribution; other
+#### WAIS distributions may work but we have not tested them with
+#### Mosaic.  freeWAIS 0.5 can currently (Sept.1995) be found at
+#### ftp://sunsite.unc.edu/pub/wais/servers/freeWAIS 
+
+#### If you do not wish to link to the WAIS libraries, then comment
+#### the following lines out.  Mosaic will then communicate with WAIS
+#### servers via a HTTP gateway.
+
+#### -lm is required for freeWAIS 0.5, as ceil() is used.
+
+waisroot = /xdev/mosaic/freeWAIS/dec
+waisflags = -DDIRECT_WAIS -I$(waisroot)/include
+waislibdir = $(waisroot)/bin
+waislibs = $(waislibdir)/inv.a $(waislibdir)/wais.a $(waislibdir)/libftw.a -lm
+
+
+#### Customization flags:
+#### . If you want Mosaic to come up with monochrome colors by default,
+####   use -DMONO_DEFAULT
+#### . If you want to define the default Mosaic home page, set
+####   -DHOME_PAGE_DEFAULT=\\\"url\\\"
+#### . If you want to define the default Mosaic documentation directory
+####   (should be a URL), set -DDOCS_DIRECTORY_DEFAULT=\\\"url\\\"
+#### . Other things you can define are spelled out in src/mosaic.h.
+customflags =
+
+
+
+
+########
+########
+####      NOTE! If you get errors because of the following line, it means
+####      you are NOT using GNUs Make program. The following line is basically
+####      for the developers at NCSA to customize the build process without
+####      modifying the Makefiles, so you may comment it out without harm.
+########
+########
+-include local-defines/$(DEV_ARCH)
+
+
+
+# ---------------------- END OF CUSTOMIZABLE OPTIONS -------------------------
+
+
+CFLAGS = -g $(sysconfigflags) $(prereleaseflags)
+
+# Don't worry about these -- for development purposes only.
+PURIFY = purify
+QUANTIFY = quantify
+
+default: $(dtmdirs) libwww2 libXmx libhtmlw libnut src
+	@echo \*\*\* Welcome to NCSA Mosaic.
+purifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnnut src-purifyd
+	@echo \*\*\* Welcome to Purify'd NCSA Mosaic.
+quantifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-quantifyd
+	@echo \*\*\* Welcome to Quantify'd NCSA Mosaic.
+
+libXmx::
+	@echo --- Building libXmx
+	cd libXmx; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc)"
+
+libhtmlw::
+	@echo --- Building libhtmlw
+	cd libhtmlw; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(xinc) -DMOTIF -DXMOSAIC"
+
+libwww2::
+	@echo --- Building libwww2
+	cd libwww2; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(waisflags)  $(krbflags) $(xinc)"
+
+libnut::
+	@echo --- Building libnut
+	cd libnut; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag)"
+
+src::
+	@echo --- Building src
+	cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
+
+src-purifyd::
+	@echo --- Building Purify'd src
+	cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
+
+src-quantifyd::
+	@echo --- Building Quantify'd src
+	cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
+
+libnet::
+	@echo --- Building libnet
+	cd libnet; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+libdtm::
+	@echo --- Building libdtm
+	cd libdtm; $(MAKE) $(dtmmachtype) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+clean:
+	cd libXmx; $(MAKE) $@
+	cd libhtmlw; $(MAKE) $@
+	cd libwww2; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+	cd libnet; $(MAKE) $@
+	cd libdtm; $(MAKE) $@
+	cd libnut; $(MAKE) $@
+
+wclean:
+	cd libhtmlw; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+
+commit:
+	cvs commit
+update:
+	cvs update
+countlines:
+	wc libdtm/*.[ch] libnet/*.[ch] libXmx/*.[ch] libhtmlw/*.[ch] libwww2/*.[ch] libnut/*.[ch] src/*.[ch]
+replicate:
+	cp Makefile Makefile.sun
+	cp Makefile Makefile.ibm
+	cp Makefile Makefile.dec
+	cp Makefile Makefile.alpha
+	cp Makefile Makefile.hp
+prune:
+	mv Makefile.sun Makefile.sun.old
+	mv Makefile.ibm Makefile.ibm.old
+	mv Makefile.dec Makefile.dec.old
+	mv Makefile.alpha Makefile.alpha.old
+	mv Makefile.hp Makefile.hp.old
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/makefiles/Makefile.hp mosaic4_2/makefiles/Makefile.hp
--- mosaic4_2.orig/makefiles/Makefile.hp	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/makefiles/Makefile.hp	1996-06-12 07:45:27.000000000 +0800
@@ -0,0 +1,300 @@
+# Toplevel Makefile for NCSA Mosaic.
+
+# You shouldn't need to touch any of the Makefiles in the various
+# subdirectories if you configure this Makefile correctly.
+
+# The default configuration is for SGI IRIX 4.0.x.
+
+# If you need to make serious changes to get Mosaic to compile on your
+# platform, send context diffs to mosaic-x@ncsa.uiuc.edu.
+
+# -------------------------- CUSTOMIZABLE OPTIONS ----------------------------
+
+prereleaseflags = -DPRERELEASE
+
+RANLIB = /bin/true
+#### On non-SGI's, this should be ranlib.
+RANLIB = ranlib
+
+CC = cc
+#### On Sun's, this should be gcc (ANSI required).
+# CC = gcc
+
+#### Linker Flags -- Primarily for linking static on linux-elf.
+#ldflags = -static
+ldflags =
+
+#### For a few files in the source, some compilers may need to be kicked
+#### in K&R mode.  E.g., on SGI's, -cckr does this.
+#knrflag = -cckr
+#### On most systems, no flag is needed.
+knrflag =
+
+
+#### Random system configuration flags.
+#### --> *** For Motif 1.2 ON ANY PLATFORM, do -DMOTIF1_2 *** <--
+#### For IBM AIX 3.2, do -D_BSD
+#### For NeXT, do -DNEXT
+#### For HP/UX, do -Aa -D_HPUX_SOURCE -DMOTIF1_2
+#### For Dell SVR4, do -DSVR4
+#### For Solaris, do -DSVR4 
+#### For Esix 4.0.4 and Solaris x86 2.1, do -DSVR4
+#### For Convex whatever, do -DCONVEX
+#### For SCO ODT 3.0, do -DSCO -DSVR4 -DMOTIF1_2
+#### For Motorola SVR4, do -DSVR4 -DMOTOROLA -DMOTIF1_2
+sysconfigflags =-Aa -D_HPUX_SOURCE -DMOTIF1_2
+
+#### System libraries.
+syslibs = -lPW -lsun -lmalloc
+#### For AIX 3.2
+# syslibs = -lPW -lbsd
+#### For most other Motif platforms:
+# syslibs = -lPW
+#### For Sun's and Ultrix and HP and BSD/386:
+syslibs =
+#### For Sun's with no DNS:
+# syslibs = -lresolv
+#### For SCO ODT:
+# syslibs = -lPW -lsocket -lmalloc
+#### For Dell SVR4:
+# syslibs = -lnsl -lsocket -lc -lucb
+#### For Solaris (?)
+# syslibs = -lnsl -lsocket -lgen
+#### For Motorola SVR4:
+# syslibs = -lnsl -lsocket -lgen
+
+
+#### X include file locations -- if your platform puts the X include
+#### files in a strange place, set this variable appropriately.  Else
+#### don't worry about it.
+#### HP X11R4 version:
+# xinc = -I/usr/include/Motif1.1 -I/usr/include/X11R4
+#### HP X11R5 version:
+xinc = -I/usr/include/Motif1.2 -I/usr/local/include
+#### NeXT version:
+# xinc = -I/usr/include/X11
+#### BSD/386
+# xinc = -I/usr/X11/include
+
+#### X library locations.
+xlibs = -lXm_s -lXmu -lXt_s -lX11_s
+#### For Sun's (at least running stock X/Motif as installed on our machines):
+# xlibs = /usr/lib/libXm.a /usr/lib/libXmu.a /usr/lib/libXt.a /usr/lib/libXext.a /usr/lib/libX11.a -lm
+#### For HP-UX 8.00:
+# xlibs = -L/usr/lib/Motif1.1 -lXm -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For HP-UX 9.01: The X11R5 libraries are here on our systems
+#xlibs = /usr/lib/Motif1.2/libXm.a -L/bert/X11r5/hpux/X11R5/lib -lXmu -lXt -lX11 /usr/lib/X11R5/libXhp11.a
+xlibs = -L/usr/lib/Motif1.2 -lXm -L/usr/lib/X11R5 -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For NeXT:
+# xlibs = -L/usr/lib/X11 -lXm -lXmu -lXt -lX11
+#### For Dell SVR4:
+# xlibs = -L/usr/X5/lib -lXm -lXmu -lXt -lXext -lX11
+#### For Solaris (?)
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+#### For SCO ODT 3.0 (I'm told that -lXtXm_s is *not* a typo :-):
+# xlibs = -lXtXm_s -lXmu -lX11_s
+#### For nearly everyone else:
+# xlibs = -lXm -lXmu -lXt -lX11
+#### For BSD/386:
+# xlibs = -L/usr/X11/lib -lXm -lXmu -lXt -lX11
+#### For Motorola SVR4:
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+
+
+#### DTM AND HDF SUPPORT; READ CAREFULLY
+
+#### If you want to compile with DTM and HDF support, you should leave
+#### the following lines uncommented and make sure you have a copy of
+#### HDF 3.3 (r1 or later) installed and ready.  You can find HDF on
+#### ftp.ncsa.uiuc.edu in /HDF.
+
+#### If you do not want to compile with DTM and HDF support, comment
+#### the following lines out.  (If you are compiling from source for
+#### the first time, you should probably not bother with HDF and DTM
+#### support.)
+
+#### dtmmachtype needs to be set to one of the following:
+####   sun, sgi, dec, ibm, next, cray, convex
+#### If your platform is not one of the above, then either do not compile
+#### with HDF/DTM support or try hacking libdtm/makefile.
+
+#dtmmachtype = sgi
+#dtmdirs = libdtm libnet
+#dtmlibs = ../libnet/libnet.a ../libdtm/libdtm.a
+#dtmflags = -DHAVE_DTM -I.. -I../libnet
+#hdfdir = /hdf2/install/hp
+#hdflibs = $(hdfdir)/lib/libmfhdf.a $(hdfdir)/lib/libdf.a
+#hdfflags = -DHAVE_HDF -DHDF -I$(hdfdir)/include
+
+#### PNG SUPPORT
+#### For inline PNG support, the following should be defined:
+#### The libraries currently used are PNGLIB 0.81 and ZLIB 0.95
+
+pngdir = /xdev/mosaic/libpng/hp
+pnglibdir = $(pngdir)/lib
+pngincludedir = $(pngdir)/include
+pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a -lm
+pngflags =  -I$(pngincludedir) -DHAVE_PNG
+
+#### JPEG SUPPORT
+#### For inline JPEG support, the following should be defined:
+#### The library used is Independent JPEG Group (IJG's) 5.0a.
+
+jpegdir = /xdev/mosaic/libjpeg/hp
+jpeglibs = $(jpegdir)/lib/libjpeg.a
+jpegflags = -I$(jpegdir)/include -DHAVE_JPEG
+
+
+#### KERBEROS SUPPORT
+####
+#### If you want Mosaic to support Kerberos authentication, set the 
+#### following flags appropriately.  You can support Kerberos V4 and/or V5,
+#### although it's most likely that your realm supports one or the other.
+#### To enable DES-encryption of HTTP messages via Kerberos key exchange, 
+#### define the KRB-ENCRYPT flag.
+
+##krb4dir   = /usr/athena
+#krb4dir   = /xdev/mosaic/libkrb4/hp
+#krb4libs  = $(krb4dir)/lib/libkrb.a $(krb4dir)/lib/libdes.a
+#krb4flags = -DKRB4 -I$(krb4dir)/include
+
+##krb5dir   = /krb5
+#krb5dir   = /xdev/mosaic/libkrb5/hp
+#krb5libs  = $(krb5dir)/lib/libkrb5.a $(krb5dir)/lib/libcrypto.a $(krb5dir)/util/et/libcom_err.a
+#krb5flags = -DKRB5 -I$(krb5dir)/include -I$(krb5dir)/include/krb5
+
+#Do not comment out.
+krbflags  = $(krb4flags) $(krb5flags)
+krblibs   = $(krb4libs) $(krb5libs) 
+
+
+#### DIRECT WAIS SUPPORT
+
+#### If you want to have Mosaic be able to communicate directly with
+#### WAIS servers, do set the following flags appropriately.  We
+#### recommend linking with CNIDR's freeWAIS 0.5 distribution; other
+#### WAIS distributions may work but we have not tested them with
+#### Mosaic.  freeWAIS 0.5 can currently (Sept.1995) be found at
+#### ftp://sunsite.unc.edu/pub/wais/servers/freeWAIS 
+
+#### If you do not wish to link to the WAIS libraries, then comment
+#### the following lines out.  Mosaic will then communicate with WAIS
+#### servers via a HTTP gateway.
+
+#### -lm is required for freeWAIS 0.5, as ceil() is used.
+
+waisroot = /xdev/mosaic/freeWAIS/hp
+waisflags = -DDIRECT_WAIS -I$(waisroot)/include
+waislibdir = $(waisroot)/bin
+waislibs = $(waislibdir)/inv.a $(waislibdir)/wais.a $(waislibdir)/libftw.a -lm
+
+
+#### Customization flags:
+#### . If you want Mosaic to come up with monochrome colors by default,
+####   use -DMONO_DEFAULT
+#### . If you want to define the default Mosaic home page, set
+####   -DHOME_PAGE_DEFAULT=\\\"url\\\"
+#### . If you want to define the default Mosaic documentation directory
+####   (should be a URL), set -DDOCS_DIRECTORY_DEFAULT=\\\"url\\\"
+#### . Other things you can define are spelled out in src/mosaic.h.
+customflags =
+
+
+
+
+########
+########
+####      NOTE! If you get errors because of the following line, it means
+####      you are NOT using GNUs Make program. The following line is basically
+####      for the developers at NCSA to customize the build process without
+####      modifying the Makefiles, so you may comment it out without harm.
+########
+########
+-include local-defines/$(DEV_ARCH)
+
+
+
+# ---------------------- END OF CUSTOMIZABLE OPTIONS -------------------------
+
+
+CFLAGS = -g $(sysconfigflags) $(prereleaseflags)
+
+# Don't worry about these -- for development purposes only.
+PURIFY = purify
+QUANTIFY = quantify
+
+default: $(dtmdirs) libwww2 libXmx libhtmlw libnut src
+	@echo \*\*\* Welcome to NCSA Mosaic.
+purifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-purifyd
+	@echo \*\*\* Welcome to Purify'd NCSA Mosaic.
+quantifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-quantifyd
+	@echo \*\*\* Welcome to Quantify'd NCSA Mosaic.
+
+libXmx::
+	@echo --- Building libXmx
+	cd libXmx; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc)"
+
+libhtmlw::
+	@echo --- Building libhtmlw
+	cd libhtmlw; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(xinc) -DMOTIF -DXMOSAIC"
+
+libwww2::
+	@echo --- Building libwww2
+	cd libwww2; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(waisflags) $(krbflags) $(xinc)"
+
+libnut::
+	@echo --- Building libnut
+	cd libnut; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag)"
+
+src::
+	@echo --- Building src
+	cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
+
+src-purifyd::
+	@echo --- Building Purify'd src
+	cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
+
+src-quantifyd::
+	@echo --- Building Quantify'd src
+	cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
+
+
+libnet::
+	@echo --- Building libnet
+	cd libnet; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+libdtm::
+	@echo --- Building libdtm
+	cd libdtm; $(MAKE) $(dtmmachtype) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+clean:
+	cd libXmx; $(MAKE) $@
+	cd libhtmlw; $(MAKE) $@
+	cd libwww2; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+	cd libnet; $(MAKE) $@
+	cd libdtm; $(MAKE) $@
+	cd libnut; $(MAKE) $@
+
+wclean:
+	cd libhtmlw; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+
+commit:
+	cvs commit
+update:
+	cvs update
+countlines:
+	wc libdtm/*.[ch] libnet/*.[ch] libXmx/*.[ch] libhtmlw/*.[ch] libwww2/*.[ch] src/*.[ch]
+replicate:
+	cp Makefile Makefile.sun
+	cp Makefile Makefile.ibm
+	cp Makefile Makefile.dec
+	cp Makefile Makefile.alpha
+	cp Makefile Makefile.hp
+prune:
+	mv Makefile.sun Makefile.sun.old
+	mv Makefile.ibm Makefile.ibm.old
+	mv Makefile.dec Makefile.dec.old
+	mv Makefile.alpha Makefile.alpha.old
+	mv Makefile.hp Makefile.hp.old
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/makefiles/Makefile.ibm mosaic4_2/makefiles/Makefile.ibm
--- mosaic4_2.orig/makefiles/Makefile.ibm	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/makefiles/Makefile.ibm	1996-07-13 02:26:27.000000000 +0800
@@ -0,0 +1,300 @@
+# Toplevel Makefile for NCSA Mosaic.
+
+# You shouldn't need to touch any of the Makefiles in the various
+# subdirectories if you configure this Makefile correctly.
+
+# The default configuration is for SGI IRIX 4.0.x.
+
+# If you need to make serious changes to get Mosaic to compile on your
+# platform, send context diffs to mosaic-x@ncsa.uiuc.edu.
+
+# -------------------------- CUSTOMIZABLE OPTIONS ----------------------------
+
+prereleaseflags = -DPRERELEASE
+
+RANLIB = /bin/true
+#### On non-SGI's, this should be ranlib.
+RANLIB = ranlib
+
+#CC = cc
+#### On Sun's, this should be gcc (ANSI required).
+CC = gcc
+
+#### Linker Flags -- Primarily for linking static on linux-elf.
+#ldflags = -static
+ldflags =
+
+#### For a few files in the source, some compilers may need to be kicked
+#### in K&R mode.  E.g., on SGI's, -cckr does this.
+knrflag = -cckr
+#### On most systems, no flag is needed.
+knrflag =
+
+
+#### Random system configuration flags.
+#### --> *** For Motif 1.2 ON ANY PLATFORM, do -DMOTIF1_2 *** <--
+#### For IBM AIX 3.2, do -D_BSD
+#### For NeXT, do -DNEXT
+#### For HP/UX, do -Aa -D_HPUX_SOURCE
+#### For Dell SVR4, do -DSVR4
+#### For Solaris, do -DSVR4 
+#### For Esix 4.0.4 and Solaris x86 2.1, do -DSVR4
+#### For Convex whatever, do -DCONVEX
+#### For SCO ODT 3.0, do -DSCO -DSVR4 -DMOTIF1_2
+#### For Motorola SVR4, do -DSVR4 -DMOTOROLA -DMOTIF1_2
+sysconfigflags = -D_BSD
+
+#### System libraries.
+syslibs = -lPW -lsun -lmalloc
+#### For AIX 3.2
+syslibs = -lPW -lbsd
+#### For most other Motif platforms:
+# syslibs = -lPW
+#### For Sun's and Ultrix and HP and BSD/386:
+# syslibs =
+#### For Sun's with no DNS:
+# syslibs = -lresolv
+#### For SCO ODT:
+# syslibs = -lPW -lsocket -lmalloc
+#### For Dell SVR4:
+# syslibs = -lnsl -lsocket -lc -lucb
+#### For Solaris (?)
+# syslibs = -lnsl -lsocket -lgen
+#### For Motorola SVR4:
+# syslibs = -lnsl -lsocket -lgen
+
+
+#### X include file locations -- if your platform puts the X include
+#### files in a strange place, set this variable appropriately.  Else
+#### don't worry about it.
+#### HP X11R4 version:
+# xinc = -I/usr/include/Motif1.1 -I/usr/include/X11R4
+#### HP X11R5 version:
+# xinc = -I/usr/include/Motif1.2 -I/usr/local/X11R5/include
+#### NeXT version:
+# xinc = -I/usr/include/X11
+#### BSD/386
+# xinc = -I/usr/X11/include
+
+#### X library locations.
+xlibs = -lXm_s -lXmu -lXt_s -lX11_s
+#### For Sun's (at least running stock X/Motif as installed on our machines):
+# xlibs = /usr/lib/libXm.a /usr/lib/libXmu.a /usr/lib/libXt.a /usr/lib/libXext.a /usr/lib/libX11.a -lm
+#### For HP-UX 8.00:
+# xlibs = -L/usr/lib/Motif1.1 -lXm -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For HP-UX 9.01: The X11R5 libraries are here on our systems
+# xlibs = -L/usr/lib/Motif1.2 -lXm -L/usr/lib/X11R5 -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For NeXT:
+# xlibs = -L/usr/lib/X11 -lXm -lXmu -lXt -lX11
+#### For Dell SVR4:
+# xlibs = -L/usr/X5/lib -lXm -lXmu -lXt -lXext -lX11
+#### For Solaris (?)
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+#### For SCO ODT 3.0 (I'm told that -lXtXm_s is *not* a typo :-):
+# xlibs = -lXtXm_s -lXmu -lX11_s
+#### For nearly everyone else:
+xlibs = -lXm -lXmu -lXt -lX11
+#### For BSD/386:
+# xlibs = -L/usr/X11/lib -lXm -lXmu -lXt -lX11
+#### For Motorola SVR4:
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+
+
+#### DTM AND HDF SUPPORT; READ CAREFULLY
+
+#### If you want to compile with DTM and HDF support, you should leave
+#### the following lines uncommented and make sure you have a copy of
+#### HDF 3.3 (r1 or later) installed and ready.  You can find HDF on
+#### ftp.ncsa.uiuc.edu in /HDF.
+
+#### If you do not want to compile with DTM and HDF support, comment
+#### the following lines out.  (If you are compiling from source for
+#### the first time, you should probably not bother with HDF and DTM
+#### support.)
+
+#### dtmmachtype needs to be set to one of the following:
+####   sun, sgi, dec, ibm, next, cray, convex
+#### If your platform is not one of the above, then either do not compile
+#### with HDF/DTM support or try hacking libdtm/makefile.
+
+#dtmmachtype = ibm
+#dtmdirs = libdtm libnet
+#dtmlibs = ../libnet/libnet.a ../libdtm/libdtm.a
+#dtmflags = -DHAVE_DTM -I.. -I../libnet
+#hdfdir = /hdf2/install/ibm
+#hdflibs = $(hdfdir)/lib/libmfhdf.a $(hdfdir)/lib/libdf.a
+#hdfflags = -DHAVE_HDF -DHDF -I$(hdfdir)/include
+
+#### PNG SUPPORT
+#### For inline PNG support, the following should be defined:
+#### The libraries currently used are PNGLIB 0.81 and ZLIB 0.95
+
+pngdir = /xdev/mosaic/libpng/ibm
+pnglibdir = $(pngdir)/lib
+pngincludedir = $(pngdir)/include
+pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a -lm
+pngflags =  -I$(pngincludedir) -DHAVE_PNG
+
+#### JPEG SUPPORT
+#### For inline JPEG support, the following should be defined:
+#### The library used is Independent JPEG Group (IJG's) 5.0a.
+
+jpegdir = /xdev/mosaic/libjpeg/ibm
+jpeglibs = $(jpegdir)/lib/libjpeg.a
+jpegflags = -I$(jpegdir)/include -DHAVE_JPEG
+
+
+#### KERBEROS SUPPORT
+####
+#### If you want Mosaic to support Kerberos authentication, set the 
+#### following flags appropriately.  You can support Kerberos V4 and/or V5,
+#### although it's most likely that your realm supports one or the other.
+#### To enable DES-encryption of HTTP messages via Kerberos key exchange, 
+#### define the KRB-ENCRYPT flag.
+
+##krb4dir   = /usr/athena
+#krb4dir   = /xdev/mosaic/libkrb4/ibm
+#krb4libs  = $(krb4dir)/lib/libkrb.a $(krb4dir)/lib/libdes.a
+#krb4flags = -DKRB4 -I$(krb4dir)/include
+
+##krb5dir   = /krb5
+#krb5dir   = /xdev/mosaic/libkrb5/ibm
+#krb5libs  = $(krb5dir)/lib/libkrb5.a $(krb5dir)/lib/libcrypto.a $(krb5dir)/util/et/libcom_err.a
+#krb5flags = -DKRB5 -I$(krb5dir)/include -I$(krb5dir)/include/krb5
+
+#Do not comment out.
+krbflags  = $(krb4flags) $(krb5flags)
+krblibs   = $(krb4libs) $(krb5libs) 
+
+
+#### DIRECT WAIS SUPPORT
+
+#### If you want to have Mosaic be able to communicate directly with
+#### WAIS servers, do set the following flags appropriately.  We
+#### recommend linking with CNIDR's freeWAIS 0.5 distribution; other
+#### WAIS distributions may work but we have not tested them with
+#### Mosaic.  freeWAIS 0.5 can currently (Sept.1995) be found at
+#### ftp://sunsite.unc.edu/pub/wais/servers/freeWAIS 
+
+#### If you do not wish to link to the WAIS libraries, then comment
+#### the following lines out.  Mosaic will then communicate with WAIS
+#### servers via a HTTP gateway.
+
+#### -lm is required for freeWAIS 0.5, as ceil() is used.
+
+#waisroot = /xdev/mosaic/freeWAIS/ibm
+#waisflags = -DDIRECT_WAIS -I$(waisroot)/include
+#waislibdir = $(waisroot)/bin
+#waislibs = $(waislibdir)/inv.a $(waislibdir)/wais.a $(waislibdir)/libftw.a -lm
+
+
+#### Customization flags:
+#### . If you want Mosaic to come up with monochrome colors by default,
+####   use -DMONO_DEFAULT
+#### . If you want to define the default Mosaic home page, set
+####   -DHOME_PAGE_DEFAULT=\\\"url\\\"
+#### . If you want to define the default Mosaic documentation directory
+####   (should be a URL), set -DDOCS_DIRECTORY_DEFAULT=\\\"url\\\"
+#### . Other things you can define are spelled out in src/mosaic.h.
+customflags =
+
+
+
+
+########
+########
+####      NOTE! If you get errors because of the following line, it means
+####      you are NOT using GNUs Make program. The following line is basically
+####      for the developers at NCSA to customize the build process without
+####      modifying the Makefiles, so you may comment it out without harm.
+########
+########
+-include local-defines/$(DEV_ARCH)
+
+
+
+# ---------------------- END OF CUSTOMIZABLE OPTIONS -------------------------
+
+
+CFLAGS = -g $(sysconfigflags) $(prereleaseflags)
+
+# Don't worry about these -- for development purposes only.
+PURIFY = purify
+QUANTIFY = quantify
+
+default: $(dtmdirs) libwww2 libXmx libhtmlw libnut src
+	@echo \*\*\* Welcome to NCSA Mosaic.
+purifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-purifyd
+	@echo \*\*\* Welcome to Purify'd NCSA Mosaic.
+quantifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-quantifyd
+	@echo \*\*\* Welcome to Quantify'd NCSA Mosaic.
+
+libXmx::
+	@echo --- Building libXmx
+	cd libXmx; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc)"
+
+libhtmlw::
+	@echo --- Building libhtmlw
+	cd libhtmlw; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(xinc) -DMOTIF -DXMOSAIC"
+
+libwww2::
+	@echo --- Building libwww2
+	cd libwww2; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(waisflags) $(krbflags) $(xinc)"
+
+
+libnut::
+	@echo --- Building libnut
+	cd libnut; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag)"
+
+src::
+	@echo --- Building src
+	cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
+
+src-purifyd::
+	@echo --- Building Purify'd src
+	cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
+
+src-quantifyd::
+	@echo --- Building Quantify'd src
+	cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
+
+
+libnet::
+	@echo --- Building libnet
+	cd libnet; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+libdtm::
+	@echo --- Building libdtm
+	cd libdtm; $(MAKE) $(dtmmachtype) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+clean:
+	cd libXmx; $(MAKE) $@
+	cd libhtmlw; $(MAKE) $@
+	cd libwww2; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+	cd libnet; $(MAKE) $@
+	cd libdtm; $(MAKE) $@
+	cd libnut; $(MAKE) $@
+
+wclean:
+	cd libhtmlw; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+
+commit:
+	cvs commit
+update:
+	cvs update
+countlines:
+	wc libdtm/*.[ch] libnet/*.[ch] libXmx/*.[ch] libhtmlw/*.[ch] libwww2/*.[ch] src/*.[ch]
+replicate:
+	cp Makefile Makefile.sun
+	cp Makefile Makefile.ibm
+	cp Makefile Makefile.dec
+	cp Makefile Makefile.alpha
+	cp Makefile Makefile.hp
+prune:
+	mv Makefile.sun Makefile.sun.old
+	mv Makefile.ibm Makefile.ibm.old
+	mv Makefile.dec Makefile.dec.old
+	mv Makefile.alpha Makefile.alpha.old
+	mv Makefile.hp Makefile.hp.old
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/makefiles/Makefile.indy mosaic4_2/makefiles/Makefile.indy
--- mosaic4_2.orig/makefiles/Makefile.indy	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/makefiles/Makefile.indy	1996-06-12 07:45:28.000000000 +0800
@@ -0,0 +1,326 @@
+# Toplevel Makefile for NCSA Mosaic.
+
+# You shouldn't need to touch any of the Makefiles in the various
+# subdirectories if you configure this Makefile correctly.
+
+# The default configuration is for SGI IRIX 4.0.x.
+
+# If you need to make serious changes to get Mosaic to compile on your
+# platform, send context diffs to mosaic-x@ncsa.uiuc.edu.
+
+# -------------------------- CUSTOMIZABLE OPTIONS ----------------------------
+
+prereleaseflags = -DPRERELEASE
+
+RANLIB = /bin/true
+#### On non-SGI's, this should be ranlib.
+# RANLIB = ranlib
+
+CC = cc
+#### On Sun's, this should be gcc (ANSI required).
+# CC = gcc
+
+#### Linker Flags -- Primarily for linking static on linux-elf.
+#ldflags = -static
+ldflags =
+
+#### For a few files in the source, some compilers may need to be kicked
+#### in K&R mode.  E.g., on SGI's, -cckr does this.
+knrflag = -cckr
+#### On most systems, no flag is needed.
+# knrflag =
+
+
+#### Random system configuration flags.
+#### --> *** For Motif 1.2 ON ANY PLATFORM, do -DMOTIF1_2 *** <--
+#### For IBM AIX 3.2, do -D_BSD
+#### For NeXT, do -DNEXT
+#### For HP/UX, do -Aa -D_HPUX_SOURCE
+#### For Dell SVR4, do -DSVR4
+#### For Solaris, do -DSVR4 
+#### For Esix 4.0.4 and Solaris x86 2.1, do -DSVR4
+#### For Convex whatever, do -DCONVEX
+#### For SCO ODT 3.0, do -DSCO -DSVR4 -DMOTIF1_2
+#### For Motorola SVR4, do -DSVR4 -DMOTOROLA -DMOTIF1_2
+sysconfigflags = -DMO_IRIX5
+
+#### System libraries.
+syslibs = -lPW -lsun -lmalloc
+#### For AIX 3.2
+# syslibs = -lPW -lbsd
+#### For most other Motif platforms:
+# syslibs = -lPW
+#### For Sun's and Ultrix and HP and BSD/386:
+# syslibs =
+#### For Sun's with no DNS:
+# syslibs = -lresolv
+#### For SCO ODT:
+# syslibs = -lPW -lsocket -lmalloc
+#### For Dell SVR4:
+# syslibs = -lnsl -lsocket -lc -lucb
+#### For Solaris (?)
+# syslibs = -lnsl -lsocket -lgen
+#### For Motorola SVR4:
+# syslibs = -lnsl -lsocket -lgen
+
+
+#### X include file locations -- if your platform puts the X include
+#### files in a strange place, set this variable appropriately.  Else
+#### don't worry about it.
+#### HP X11R4 version:
+# xinc = -I/usr/include/Motif1.1 -I/usr/include/X11R4
+#### HP X11R5 version:
+# xinc = -I/usr/include/Motif1.2 -I/usr/local/X11R5/include
+#### NeXT version:
+# xinc = -I/usr/include/X11
+#### BSD/386
+# xinc = -I/usr/X11/include
+
+#### X library locations.
+xlibs = -lXm_s -lXmu -lXt_s -lX11_s
+#### For Sun's (at least running stock X/Motif as installed on our machines):
+# xlibs = /usr/lib/libXm.a /usr/lib/libXmu.a /usr/lib/libXt.a /usr/lib/libXext.a /usr/lib/libX11.a -lm
+#### For HP-UX 8.00:
+# xlibs = -L/usr/lib/Motif1.1 -lXm -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For HP-UX 9.01: The X11R5 libraries are here on our systems
+# xlibs = -L/usr/lib/Motif1.2 -lXm -L/usr/lib/X11R5 -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For NeXT:
+# xlibs = -L/usr/lib/X11 -lXm -lXmu -lXt -lX11
+#### For Dell SVR4:
+# xlibs = -L/usr/X5/lib -lXm -lXmu -lXt -lXext -lX11
+#### For Solaris (?)
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+#### For SCO ODT 3.0 (I'm told that -lXtXm_s is *not* a typo :-):
+# xlibs = -lXtXm_s -lXmu -lX11_s
+#### For nearly everyone else:
+# xlibs = -lXm -lXmu -lXt -lX11
+#### For BSD/386:
+# xlibs = -L/usr/X11/lib -lXm -lXmu -lXt -lX11
+#### For Motorola SVR4:
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+
+
+#### DTM AND HDF SUPPORT; READ CAREFULLY
+
+#### If you want to compile with DTM and HDF support, you should leave
+#### the following lines uncommented and make sure you have a copy of
+#### HDF 3.3 (r1 or later) installed and ready.  You can find HDF on
+#### ftp.ncsa.uiuc.edu in /HDF.
+
+#### If you do not want to compile with DTM and HDF support, comment
+#### the following lines out.  (If you are compiling from source for
+#### the first time, you should probably not bother with HDF and DTM
+#### support.)
+
+#### dtmmachtype needs to be set to one of the following:
+####   sun, sgi, dec, ibm, next, cray, convex
+#### If your platform is not one of the above, then either do not compile
+#### with HDF/DTM support or try hacking libdtm/makefile.
+
+#dtmmachtype = sgi
+#dtmdirs = libdtm libnet
+#dtmlibs = ../libnet/libnet.a ../libdtm/libdtm.a
+#dtmflags = -DHAVE_DTM -I.. -I../libnet
+#hdfdir = /hdf2/install/sgi
+#hdflibs = $(hdfdir)/lib/libmfhdf.a $(hdfdir)/lib/libdf.a
+##hdfflags = -DHAVE_HDF -DHDF -I$(hdfdir)/include
+#hdfflags = -DHAVE_HDF -DHDF -I/xdev/spowers/sgi_hdf_include
+
+#### PNG SUPPORT
+#### For inline PNG support, the following should be defined:
+#### The libraries currently used are PNGLIB 0.81 and ZLIB 0.95
+
+pngdir = /xdev/mosaic/libpng/indy
+pnglibdir = $(pngdir)/lib
+pngincludedir = $(pngdir)/include
+pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a -lm
+pngflags =  -I$(pngincludedir) -DHAVE_PNG
+
+
+#### JPEG SUPPORT
+#### For inline JPEG support, the following should be defined:
+#### The library used is Independent JPEG Group (IJG's) 5.0a.
+
+jpegdir = /xdev/mosaic/libjpeg/indy
+jpeglibs = $(jpegdir)/lib/libjpeg.a
+jpegflags = -I$(jpegdir)/include -DHAVE_JPEG
+
+
+#### KERBEROS SUPPORT
+####
+#### If you want Mosaic to support Kerberos authentication, set the 
+#### following flags appropriately.  You can support Kerberos V4 and/or V5,
+#### although it's most likely that your realm supports one or the other.
+#### To enable DES-encryption of HTTP messages via Kerberos key exchange, 
+#### define the KRB-ENCRYPT flag.
+
+##krb4dir   = /usr/athena
+#krb4dir   = /xdev/mosaic/libkrb4/indy
+#krb4libs  = $(krb4dir)/lib/libkrb.a $(krb4dir)/lib/libdes.a
+#krb4flags = -DKRB4 -I$(krb4dir)/include
+
+##krb5dir   = /krb5
+#krb5dir   = /xdev/mosaic/libkrb5/indy
+#krb5libs  = $(krb5dir)/lib/libkrb5.a $(krb5dir)/lib/libcrypto.a $(krb5dir)/util/et/libcom_err.a
+#krb5flags = -DKRB5 -I$(krb5dir)/include -I$(krb5dir)/include/krb5
+
+#Do not comment out.
+krbflags  = $(krb4flags) $(krb5flags)
+krblibs   = $(krb4libs) $(krb5libs) 
+
+
+#### DIRECT WAIS SUPPORT
+
+#### If you want to have Mosaic be able to communicate directly with
+#### WAIS servers, do set the following flags appropriately.  We
+#### recommend linking with CNIDR's freeWAIS 0.5 distribution; other
+#### WAIS distributions may work but we have not tested them with
+#### Mosaic.  freeWAIS 0.5 can currently (Sept.1995) be found at
+#### ftp://sunsite.unc.edu/pub/wais/servers/freeWAIS 
+
+#### If you do not wish to link to the WAIS libraries, then comment
+#### the following lines out.  Mosaic will then communicate with WAIS
+#### servers via a HTTP gateway.
+
+#### -lm is required for freeWAIS 0.5, as ceil() is used.
+
+waisroot = /xdev/mosaic/freeWAIS/irix5
+waisflags = -DDIRECT_WAIS -I$(waisroot)/include
+waislibdir = $(waisroot)/bin
+waislibs = $(waislibdir)/inv.a $(waislibdir)/wais.a $(waislibdir)/libftw.a -lm
+
+
+#### Customization flags:
+#### . If you want Mosaic to come up with monochrome colors by default,
+####   use -DMONO_DEFAULT
+#### . If you want to define the default Mosaic home page, set
+####   -DHOME_PAGE_DEFAULT=\\\"url\\\"
+#### . If you want to define the default Mosaic documentation directory
+####   (should be a URL), set -DDOCS_DIRECTORY_DEFAULT=\\\"url\\\"
+#### . Other things you can define are spelled out in src/mosaic.h.
+customflags =
+
+
+
+#### SOCKS SUPPORT
+####
+#### SOCKS is a toolkit that allows Internet applications to be
+#### operated on systems inside firewalls in some instances.  This
+#### version of Mosaic includes support for compiling with SOCKS
+#### support enabled; you will need the version of SOCKS found at:
+####
+####   file://ftp.nec.com/pub/security/socks.cstc
+####
+#### SOCKS and the SOCKS support code in Mosaic are NOT supported by
+#### NCSA; if you choose to use SOCKS and/or Mosaic compiled with
+#### SOCKS, you are on your own.  Note that DTM and WAIS have not been
+#### SOCKS-ified and therefore will probably not work under SOCKS.
+####
+#### Normally, do not compile with SOCKS enabled; therefore, use the
+#### following lines.
+socksflags = 
+sockslibs = 
+#### To compile with SOCKS support, use the following lines:
+# socksflags = -DSOCKS
+# sockslibs = /usr/local/lib/libsocks.a
+
+
+
+
+########
+########
+####      NOTE! If you get errors because of the following line, it means
+####      you are NOT using GNUs Make program. The following line is basically
+####      for the developers at NCSA to customize the build process without
+####      modifying the Makefiles, so you may comment it out without harm.
+########
+########
+-include local-defines/$(DEV_ARCH)
+
+
+
+# ---------------------- END OF CUSTOMIZABLE OPTIONS -------------------------
+
+
+CFLAGS = -g $(sysconfigflags) $(socksflags) $(prereleaseflags)
+
+# Don't worry about these -- for development purposes only.
+PURIFY = purify
+QUANTIFY = quantify
+
+default: $(dtmdirs) libwww2 libXmx libhtmlw libnut src
+	@echo \*\*\* Welcome to NCSA Mosaic.
+purifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-purifyd
+	@echo \*\*\* Welcome to Purify'd NCSA Mosaic.
+quantifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-quantifyd
+	@echo \*\*\* Welcome to Quantify'd NCSA Mosaic.
+
+libXmx::
+	@echo --- Building libXmx
+	cd libXmx; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc)"
+
+libhtmlw::
+	@echo --- Building libhtmlw
+	cd libhtmlw; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(xinc) -DMOTIF -DXMOSAIC"
+
+libwww2::
+	@echo --- Building libwww2
+	cd libwww2; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(waisflags) $(krbflags) $(xinc)"
+
+libnut::
+	@echo --- Building libnut
+	cd libnut; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag)"
+
+src::
+	@echo --- Building src
+	cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
+
+src-purifyd::
+	@echo --- Building Purify'd src
+	cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
+
+src-quantifyd::
+	@echo --- Building Quantify'd src
+	cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
+
+libnet::
+	@echo --- Building libnet
+	cd libnet; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc) $(dtmflags)"
+
+libdtm::
+	@echo --- Building libdtm
+	cd libdtm; $(MAKE) $(dtmmachtype) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc) $(dtmflags)"
+
+clean:
+	cd libXmx; $(MAKE) $@
+	cd libhtmlw; $(MAKE) $@
+	cd libwww2; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+	cd libnet; $(MAKE) $@
+	cd libdtm; $(MAKE) $@
+	cd libnut; $(MAKE) $@
+
+wclean:
+	cd libhtmlw; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+
+commit:
+	cvs commit
+update:
+	cvs update
+countlines:
+	wc libdtm/*.[ch] libnet/*.[ch] libXmx/*.[ch] libhtmlw/*.[ch] libwww2/*.[ch] src/*.[ch]
+replicate:
+	cp Makefile Makefile.sun
+	cp Makefile Makefile.ibm
+	cp Makefile Makefile.dec
+	cp Makefile Makefile.alpha
+	cp Makefile Makefile.hp
+	cp Makefile Makefile.indy
+	cp Makefile Makefile.linux
+prune:
+	mv Makefile.sun Makefile.sun.old
+	mv Makefile.ibm Makefile.ibm.old
+	mv Makefile.dec Makefile.dec.old
+	mv Makefile.alpha Makefile.alpha.old
+	mv Makefile.hp Makefile.hp.old
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/makefiles/Makefile.linux mosaic4_2/makefiles/Makefile.linux
--- mosaic4_2.orig/makefiles/Makefile.linux	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/makefiles/Makefile.linux	2011-12-20 16:01:25.000000000 +0800
@@ -0,0 +1,352 @@
+# Toplevel Makefile for NCSA Mosaic.
+
+# You shouldn't need to touch any of the Makefiles in the various
+# subdirectories if you configure this Makefile correctly.
+
+# If you need to make serious changes to get Mosaic to compile on your
+# platform, send context diffs to mosaic-x@ncsa.uiuc.edu.
+
+# -------------------------- CUSTOMIZABLE OPTIONS ----------------------------
+
+#prereleaseflags = -DPRERELEASE
+prereleaseflags = -DPRERELEASE
+
+#RANLIB = /bin/true
+#### On non-SGI's, this should be ranlib.
+RANLIB = ranlib
+
+#CC = cc
+#### On Sun's, this should be gcc (ANSI required).
+CC = gcc
+
+#### Linker Flags 
+ldflags =
+
+#### For a few files in the source, some compilers may need to be kicked
+#### in K&R mode.  E.g., on SGI's, -cckr does this.
+#knrflag = -cckr
+#### On most systems, no flag is needed.
+knrflag =
+
+
+#### Random system configuration flags.
+#### --> *** For Motif 1.2 ON ANY PLATFORM, do -DMOTIF1_2 *** <--
+#### For IBM AIX 3.2, do -D_BSD
+#### For NeXT, do -DNEXT
+#### For HP/UX, do -Aa -D_HPUX_SOURCE
+#### For Dell SVR4, do -DSVR4
+#### For Solaris, do -DSVR4 
+#### For Esix 4.0.4 and Solaris x86 2.1, do -DSVR4
+#### For Convex whatever, do -DCONVEX
+#### For SCO ODT 3.0, do -DSCO -DSVR4 -DMOTIF1_2
+#### For Motorola SVR4, do -DSVR4 -DMOTOROLA -DMOTIF1_2
+sysconfigflags = -DMOTIF1_2 -DLINUX -DHAVE_ERRLIST -DUSE_STDARG
+
+#### System libraries.
+# syslibs = -lPW -lsun -lmalloc
+#### For AIX 3.2
+# syslibs = -lPW -lbsd
+#### For most other Motif platforms:
+# syslibs = -lPW
+#### For Sun's and Ultrix and HP and BSD/386:
+# syslibs =
+#### For Sun's with no DNS:
+# syslibs = -lresolv
+#### For SCO ODT:
+# syslibs = -lPW -lsocket -lmalloc
+#### For Dell SVR4:
+# syslibs = -lnsl -lsocket -lc -lucb
+#### For Solaris (?)
+# syslibs = -lnsl -lsocket -lgen
+#### For Motorola SVR4:
+# syslibs = -lnsl -lsocket -lgen
+
+syslibs = -lc
+
+#### X include file locations -- if your platform puts the X include
+#### files in a strange place, set this variable appropriately.  Else
+#### don't worry about it.
+#### HP X11R4 version:
+# xinc = -I/usr/include/Motif1.1 -I/usr/include/X11R4
+#### HP X11R5 version:
+# xinc = -I/usr/include/Motif1.2 -I/usr/local/X11R5/include
+#### NeXT version:
+# xinc = -I/usr/include/X11
+#### BSD/386
+# xinc = -I/usr/X11/include
+
+xinc = -I/usr/include/X11/Xm -I/usr/include/X11
+
+#### X library locations.
+# xlibs = -lXm_s -lXmu -lXt_s -lX11_s
+#### For Sun's (at least running stock X/Motif as installed on our machines):
+# xlibs = /usr/lib/libXm.a /usr/lib/libXmu.a /usr/lib/libXt.a /usr/lib/libXext.a /usr/lib/libX11.a -lm #### For HP-UX 8.00:
+# xlibs = -L/usr/lib/Motif1.1 -lXm -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For HP-UX 9.01: The X11R5 libraries are here on our systems
+# xlibs = -L/usr/lib/Motif1.2 -lXm -L/usr/lib/X11R5 -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For NeXT:
+# xlibs = -L/usr/lib/X11 -lXm -lXmu -lXt -lX11
+#### For Dell SVR4:
+# xlibs = -L/usr/X5/lib -lXm -lXmu -lXt -lXext -lX11
+#### For Solaris (?)
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+#### For SCO ODT 3.0 (I'm told that -lXtXm_s is *not* a typo :-):
+# xlibs = -lXtXm_s -lXmu -lX11_s
+#### For nearly everyone else:
+# xlibs = -lXm -lXmu -lXt -lX11
+#### For Linux -- You must set "LD_LIBRARY_PATH" to include the path to
+####   your X libs, or some may not be found by the loader. Check the
+####   loader with "ldd Mosaic" after you build.
+xlibs = -L/usr/X11R6/lib -lXext -lXpm -lXm -lXmu -lXt -lX11 -lICE -lSM
+static_motif_xlibs = -L/usr/X11R6/lib -lXext -lXpm /usr/X11R6/lib/libXm.a -lXmu -lXt -lX11 -lICE -lSM
+static_xlibs = /usr/X11R6/lib/libXpm.a /usr/X11R6/lib/libXm.a /usr/X11R6/lib/libXmu.a /usr/X11R6/lib/libXt.a /usr/X11R6/lib/libXext.a /usr/X11R6/lib/libX11.a /usr/X11R6/lib/libSM.a /usr/X11R6/lib/libICE.a
+#### For BSD/386:
+# xlibs = -L/usr/X11/lib -lXm -lXmu -lXt -lX11
+#### For Motorola SVR4:
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+
+
+#### DTM AND HDF SUPPORT; READ CAREFULLY
+
+#### If you want to compile with DTM and HDF support, you should leave
+#### the following lines uncommented and make sure you have a copy of
+#### HDF 3.3 (r1 or later) installed and ready.  You can find HDF on
+#### ftp.ncsa.uiuc.edu in /HDF.
+
+#### If you do not want to compile with DTM and HDF support, comment
+#### the following lines out.  (If you are compiling from source for
+#### the first time, you should probably not bother with HDF and DTM
+#### support.)
+
+#### dtmmachtype needs to be set to one of the following:
+####   sun, sgi, dec, ibm, next, cray, convex
+#### If your platform is not one of the above, then either do not compile
+#### with HDF/DTM support or try hacking libdtm/makefile.
+
+#dtmmachtype = sun
+#dtmdirs = libdtm libnet
+#dtmlibs = ../libnet/libnet.a ../libdtm/libdtm.a
+#dtmflags = -DHAVE_DTM -I.. -I../libnet
+#hdfdir = /hdf2/install/linux
+#hdflibs = $(hdfdir)/lib/libnetcdf.a $(hdfdir)/lib/libdf.a
+#hdfflags = -DHAVE_HDF -I$(hdfdir)/include
+
+#### PNG SUPPORT
+#### For inline PNG support, the following should be defined:
+#### The libraries currently used are PNGLIB 0.81 and ZLIB 0.95
+
+pngdir = /usr
+pnglibdir = $(pngdir)/lib
+pngincludedir = $(pngdir)/include
+pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a /usr/lib/libm.a
+pngflags =  -I$(pngincludedir) -DHAVE_PNG
+
+#### JPEG SUPPORT
+#### For inline JPEG support, the following should be defined:
+#### The library used is Independent JPEG Group (IJG's) 5.0a.
+
+jpegdir = /usr
+jpeglibs = $(jpegdir)/lib/libjpeg.a
+jpegflags = -I$(jpegdir)/include -DHAVE_JPEG
+
+#### JPEG2000 SUPPORT
+#### For inline JPEG2000 support, the following should be defined:
+#### The library used is OpenJPEG
+
+j2kdir = /usr
+jpeglibs := $(jpeglibs) $(j2kdir)/lib/libopenjpeg.a
+jpegflags := $(jpegflags) -I$(j2kdir)/include -DHAVE_JPEG2000
+
+
+#### KERBEROS SUPPORT
+####
+#### If you want Mosaic to support Kerberos authentication, set the 
+#### following flags appropriately.  You can support Kerberos V4 and/or V5,
+#### although it's most likely that your realm supports one or the other.
+#### To enable DES-encryption of HTTP messages via Kerberos key exchange, 
+#### define the KRB-ENCRYPT flag.
+
+##krb4dir   = /usr/athena
+#krb4dir   = /xdev/mosaic/libkrb4/linux
+#krb4libs  = $(krb4dir)/lib/libkrb.a $(krb4dir)/lib/libdes.a
+#krb4flags = -DKRB4 -I$(krb4dir)/include
+
+##krb5dir   = /krb5
+#krb5dir   = /xdev/mosaic/libkrb5/linux
+#krb5libs  = $(krb5dir)/lib/libkrb5.a $(krb5dir)/lib/libcrypto.a $(krb5dir)/util/et/libcom_err.a
+#krb5flags = -DKRB5 -I$(krb5dir)/include -I$(krb5dir)/include/krb5
+
+#Do not comment out.
+krbflags  = $(krb4flags) $(krb5flags)
+krblibs   = $(krb4libs) $(krb5libs) 
+
+
+#### DIRECT WAIS SUPPORT
+
+#### If you want to have Mosaic be able to communicate directly with
+#### WAIS servers, do set the following flags appropriately.  We
+#### recommend linking with CNIDR's freeWAIS 0.5 distribution; other
+#### WAIS distributions may work but we have not tested them with
+#### Mosaic.  freeWAIS 0.5 can currently (Sept.1995) be found at
+#### ftp://sunsite.unc.edu/pub/wais/servers/freeWAIS 
+
+#### If you do not wish to link to the WAIS libraries, then comment
+#### the following lines out.  Mosaic will then communicate with WAIS
+#### servers via a HTTP gateway.
+
+#### -lm is required for freeWAIS 0.5, as ceil() is used.
+
+#waisroot = /xdev/mosaic/freeWAIS/linux
+#waisflags = -DDIRECT_WAIS -I$(waisroot)/include
+#waislibdir = $(waisroot)/bin
+#waislibs = $(waislibdir)/inv.a $(waislibdir)/wais.a $(waislibdir)/libftw.a -lm
+
+
+#### Customization flags:
+#### . If you want Mosaic to come up with monochrome colors by default,
+####   use -DMONO_DEFAULT
+#### . If you want to define the default Mosaic home page, set
+####   -DHOME_PAGE_DEFAULT=\\\"url\\\"
+#### . If you want to define the default Mosaic documentation directory
+####   (should be a URL), set -DDOCS_DIRECTORY_DEFAULT=\\\"url\\\"
+#### . Other things you can define are spelled out in src/mosaic.h.
+customflags =
+
+
+#### libliteclue hack
+xlibs := $(xlibs) -L../libliteclue -lliteclue
+
+########
+########
+####      NOTE! If you get errors because of the following line, it means
+####      you are NOT using GNUs Make program. The following line is basically
+####      for the developers at NCSA to customize the build process without
+####      modifying the Makefiles, so you may comment it out without harm.
+########
+########
+-include local-defines/$(DEV_ARCH)
+
+
+
+# ---------------------- END OF CUSTOMIZABLE OPTIONS -------------------------
+
+CFLAGS = -g $(sysconfigflags) $(prereleaseflags)
+
+# Don't worry about these -- for development purposes only.
+PURIFY = purify
+QUANTIFY = quantify
+
+default: $(dtmdirs) libwww2 libXmx libhtmlw libnut libliteclue src
+	@echo \*\*\* Welcome to NCSA Mosaic.
+purifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut libliteclue src-purifyd
+	@echo \*\*\* Welcome to Purify'd NCSA Mosaic.
+quantifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut libliteclue src-quantifyd
+	@echo \*\*\* Welcome to Quantify'd NCSA Mosaic.
+staticd: $(dtmdirs) libwww2 libXmx libhtmlw libnut libliteclue src-static
+	@echo \*\*\* Welcome to NCSA Mosaic linked static.
+static_motifd: $(dtmdirs) libwww2 libXmx libhtmlw libnut libliteclue src-static-motif
+	@echo \*\*\* Welcome to NCSA Mosaic linked static for motif.
+p_staticd: $(dtmdirs) libwww2 libXmx libhtmlw libnut libliteclue src-static-purifyd
+	@echo \*\*\* Welcome to Purify'd NCSA Mosaic linked static.
+p_static_motifd: $(dtmdirs) libwww2 libXmx libhtmlw libnut libliteclue src-static-motif-purifyd
+	@echo \*\*\* Welcome to Purify'd NCSA Mosaic linked static for motif.
+q_staticd: $(dtmdirs) libwww2 libXmx libhtmlw libnut libliteclue src-static-quantifyd
+	@echo \*\*\* Welcome to Quantify'd NCSA Mosaic linked static.
+q_static_motifd: $(dtmdirs) libwww2 libXmx libhtmlw libnut libliteclue src-static-motif-quantifyd
+	@echo \*\*\* Welcome to Quantify'd NCSA Mosaic linked static for motif.
+
+libXmx::
+	@echo --- Building libXmx
+	cd libXmx; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc)"
+
+libhtmlw::
+	@echo --- Building libhtmlw
+	cd libhtmlw; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(xinc) -DMOTIF -DXMOSAIC"
+
+libwww2::
+	@echo --- Building libwww2
+	cd libwww2; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(waisflags) $(krbflags) $(xinc)"
+
+libnut::
+	@echo --- Building libnut
+	cd libnut; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag)"
+
+libliteclue::
+	@echo --- Building libliteclue
+	cd libliteclue; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc)"
+
+src::
+	@echo --- Building src
+	cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2 -I../libliteclue" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
+
+src-purifyd::
+	@echo --- Building Purify'd src
+	cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2 -I../libliteclue" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
+
+src-quantifyd::
+	@echo --- Building Quantify'd src
+	cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2 -I../libliteclue" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
+
+src-static::
+	@echo --- Building src-static
+	cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags) -static" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2 -I../libliteclue" AUX_CFLAGS=$(knrflag) X_LIBS="$(static_xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
+
+src-static-motif::
+	@echo --- Building src-static-motif
+	cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2 -I../libliteclue" AUX_CFLAGS=$(knrflag) X_LIBS="$(static_motif_xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
+
+src-static-purifyd::
+	@echo --- Building src-static-purifyd
+	cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags) -static" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2 -I../libliteclue" AUX_CFLAGS=$(knrflag) X_LIBS="$(static_xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
+
+src-static-motif-purifyd::
+	@echo --- Building src-static-motif-purifyd
+	cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2 -I../libliteclue" AUX_CFLAGS=$(knrflag) X_LIBS="$(static_motif_xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
+
+src-static-quantifyd::
+	@echo --- Building src-static-quantifyd
+	cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags) -static" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2 -I../libliteclue" AUX_CFLAGS=$(knrflag) X_LIBS="$(static_xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
+
+src-static-motif-quantifyd::
+	@echo --- Building src-static-motif-quantifyd
+	cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2 -I../libliteclue" AUX_CFLAGS=$(knrflag) X_LIBS="$(static_motif_xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
+
+libnet::
+	@echo --- Building libnet
+	cd libnet; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+libdtm::
+	@echo --- Building libdtm
+	cd libdtm; $(MAKE) $(dtmmachtype) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+clean:
+	cd libXmx; $(MAKE) $@
+	cd libhtmlw; $(MAKE) $@
+	cd libwww2; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+	cd libnet; $(MAKE) $@
+	cd libdtm; $(MAKE) $@
+	cd libnut; $(MAKE) $@
+
+wclean:
+	cd libhtmlw; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+
+commit:
+	cvs commit
+update:
+	cvs update
+countlines:
+	wc libdtm/*.[ch] libnet/*.[ch] libXmx/*.[ch] libhtmlw/*.[ch] libwww2/*.[ch] src/*.[ch]
+replicate:
+	cp Makefile Makefile.sun
+	cp Makefile Makefile.ibm
+	cp Makefile Makefile.dec
+	cp Makefile Makefile.alpha
+	cp Makefile Makefile.hp
+prune:
+	mv Makefile.sun Makefile.sun.old
+	mv Makefile.ibm Makefile.ibm.old
+	mv Makefile.dec Makefile.dec.old
+	mv Makefile.alpha Makefile.alpha.old
+	mv Makefile.hp Makefile.hp.old
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/makefiles/Makefile.linux1 mosaic4_2/makefiles/Makefile.linux1
--- mosaic4_2.orig/makefiles/Makefile.linux1	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/makefiles/Makefile.linux1	2009-04-28 11:27:00.000000000 +0800
@@ -0,0 +1,339 @@
+# Toplevel Makefile for NCSA Mosaic.
+
+# You shouldn't need to touch any of the Makefiles in the various
+# subdirectories if you configure this Makefile correctly.
+
+# If you need to make serious changes to get Mosaic to compile on your
+# platform, send context diffs to mosaic-x@ncsa.uiuc.edu.
+
+# -------------------------- CUSTOMIZABLE OPTIONS ----------------------------
+
+#prereleaseflags = -DPRERELEASE
+prereleaseflags = -DPRERELEASE
+
+#RANLIB = /bin/true
+#### On non-SGI's, this should be ranlib.
+RANLIB = ranlib
+
+#CC = cc
+#### On Sun's, this should be gcc (ANSI required).
+CC = gcc
+
+#### Linker Flags 
+ldflags =
+
+#### For a few files in the source, some compilers may need to be kicked
+#### in K&R mode.  E.g., on SGI's, -cckr does this.
+#knrflag = -cckr
+#### On most systems, no flag is needed.
+knrflag =
+
+
+#### Random system configuration flags.
+#### --> *** For Motif 1.2 ON ANY PLATFORM, do -DMOTIF1_2 *** <--
+#### For IBM AIX 3.2, do -D_BSD
+#### For NeXT, do -DNEXT
+#### For HP/UX, do -Aa -D_HPUX_SOURCE
+#### For Dell SVR4, do -DSVR4
+#### For Solaris, do -DSVR4 
+#### For Esix 4.0.4 and Solaris x86 2.1, do -DSVR4
+#### For Convex whatever, do -DCONVEX
+#### For SCO ODT 3.0, do -DSCO -DSVR4 -DMOTIF1_2
+#### For Motorola SVR4, do -DSVR4 -DMOTOROLA -DMOTIF1_2
+sysconfigflags = -DMOTIF1_2 -DLINUX
+
+#### System libraries.
+# syslibs = -lPW -lsun -lmalloc
+#### For AIX 3.2
+# syslibs = -lPW -lbsd
+#### For most other Motif platforms:
+# syslibs = -lPW
+#### For Sun's and Ultrix and HP and BSD/386:
+# syslibs =
+#### For Sun's with no DNS:
+# syslibs = -lresolv
+#### For SCO ODT:
+# syslibs = -lPW -lsocket -lmalloc
+#### For Dell SVR4:
+# syslibs = -lnsl -lsocket -lc -lucb
+#### For Solaris (?)
+# syslibs = -lnsl -lsocket -lgen
+#### For Motorola SVR4:
+# syslibs = -lnsl -lsocket -lgen
+
+syslibs = -lc
+
+#### X include file locations -- if your platform puts the X include
+#### files in a strange place, set this variable appropriately.  Else
+#### don't worry about it.
+#### HP X11R4 version:
+# xinc = -I/usr/include/Motif1.1 -I/usr/include/X11R4
+#### HP X11R5 version:
+# xinc = -I/usr/include/Motif1.2 -I/usr/local/X11R5/include
+#### NeXT version:
+# xinc = -I/usr/include/X11
+#### BSD/386
+# xinc = -I/usr/X11/include
+
+xinc = -I/usr/include/X11/Xm
+
+#### X library locations.
+# xlibs = -lXm_s -lXmu -lXt_s -lX11_s
+#### For Sun's (at least running stock X/Motif as installed on our machines):
+# xlibs = /usr/lib/libXm.a /usr/lib/libXmu.a /usr/lib/libXt.a /usr/lib/libXext.a /usr/lib/libX11.a -lm #### For HP-UX 8.00:
+# xlibs = -L/usr/lib/Motif1.1 -lXm -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For HP-UX 9.01: The X11R5 libraries are here on our systems
+# xlibs = -L/usr/lib/Motif1.2 -lXm -L/usr/lib/X11R5 -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For NeXT:
+# xlibs = -L/usr/lib/X11 -lXm -lXmu -lXt -lX11
+#### For Dell SVR4:
+# xlibs = -L/usr/X5/lib -lXm -lXmu -lXt -lXext -lX11
+#### For Solaris (?)
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+#### For SCO ODT 3.0 (I'm told that -lXtXm_s is *not* a typo :-):
+# xlibs = -lXtXm_s -lXmu -lX11_s
+#### For nearly everyone else:
+# xlibs = -lXm -lXmu -lXt -lX11
+#### For Linux -- You must set "LD_LIBRARY_PATH" to include the path to
+####   your X libs, or some may not be found by the loader. Check the
+####   loader with "ldd Mosaic" after you build.
+xlibs = -L/usr/X11R6/lib -lXext -lXpm -lXm -lXmu -lXt -lX11 -lICE -lSM
+static_motif_xlibs = -L/usr/X11R6/lib -lXext -lXpm /usr/X11R6/lib/libXm.a -lXmu -lXt -lX11 -lICE -lSM
+static_xlibs = /usr/X11R6/lib/libXpm.a /usr/X11R6/lib/libXm.a /usr/X11R6/lib/libXmu.a /usr/X11R6/lib/libXt.a /usr/X11R6/lib/libXext.a /usr/X11R6/lib/libX11.a /usr/X11R6/lib/libSM.a /usr/X11R6/lib/libICE.a
+#### For BSD/386:
+# xlibs = -L/usr/X11/lib -lXm -lXmu -lXt -lX11
+#### For Motorola SVR4:
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+
+
+#### DTM AND HDF SUPPORT; READ CAREFULLY
+
+#### If you want to compile with DTM and HDF support, you should leave
+#### the following lines uncommented and make sure you have a copy of
+#### HDF 3.3 (r1 or later) installed and ready.  You can find HDF on
+#### ftp.ncsa.uiuc.edu in /HDF.
+
+#### If you do not want to compile with DTM and HDF support, comment
+#### the following lines out.  (If you are compiling from source for
+#### the first time, you should probably not bother with HDF and DTM
+#### support.)
+
+#### dtmmachtype needs to be set to one of the following:
+####   sun, sgi, dec, ibm, next, cray, convex
+#### If your platform is not one of the above, then either do not compile
+#### with HDF/DTM support or try hacking libdtm/makefile.
+
+#dtmmachtype = sun
+#dtmdirs = libdtm libnet
+#dtmlibs = ../libnet/libnet.a ../libdtm/libdtm.a
+#dtmflags = -DHAVE_DTM -I.. -I../libnet
+#hdfdir = /hdf2/install/linux
+#hdflibs = $(hdfdir)/lib/libnetcdf.a $(hdfdir)/lib/libdf.a
+#hdfflags = -DHAVE_HDF -I$(hdfdir)/include
+
+#### PNG SUPPORT
+#### For inline PNG support, the following should be defined:
+#### The libraries currently used are PNGLIB 0.81 and ZLIB 0.95
+
+pngdir = /xdev/mosaic/libpng/linux
+pnglibdir = $(pngdir)/lib
+pngincludedir = $(pngdir)/include
+pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a /usr/lib/libm.a
+pngflags =  -I$(pngincludedir) -DHAVE_PNG
+
+#### JPEG SUPPORT
+#### For inline JPEG support, the following should be defined:
+#### The library used is Independent JPEG Group (IJG's) 5.0a.
+
+jpegdir = /xdev/mosaic/libjpeg/linux
+jpeglibs = $(jpegdir)/lib/libjpeg.a
+jpegflags = -I$(jpegdir)/include -DHAVE_JPEG
+
+
+#### KERBEROS SUPPORT
+####
+#### If you want Mosaic to support Kerberos authentication, set the 
+#### following flags appropriately.  You can support Kerberos V4 and/or V5,
+#### although it's most likely that your realm supports one or the other.
+#### To enable DES-encryption of HTTP messages via Kerberos key exchange, 
+#### define the KRB-ENCRYPT flag.
+
+##krb4dir   = /usr/athena
+#krb4dir   = /xdev/mosaic/libkrb4/linux
+#krb4libs  = $(krb4dir)/lib/libkrb.a $(krb4dir)/lib/libdes.a
+#krb4flags = -DKRB4 -I$(krb4dir)/include
+
+##krb5dir   = /krb5
+#krb5dir   = /xdev/mosaic/libkrb5/linux
+#krb5libs  = $(krb5dir)/lib/libkrb5.a $(krb5dir)/lib/libcrypto.a $(krb5dir)/util/et/libcom_err.a
+#krb5flags = -DKRB5 -I$(krb5dir)/include -I$(krb5dir)/include/krb5
+
+#Do not comment out.
+krbflags  = $(krb4flags) $(krb5flags)
+krblibs   = $(krb4libs) $(krb5libs) 
+
+
+#### DIRECT WAIS SUPPORT
+
+#### If you want to have Mosaic be able to communicate directly with
+#### WAIS servers, do set the following flags appropriately.  We
+#### recommend linking with CNIDR's freeWAIS 0.5 distribution; other
+#### WAIS distributions may work but we have not tested them with
+#### Mosaic.  freeWAIS 0.5 can currently (Sept.1995) be found at
+#### ftp://sunsite.unc.edu/pub/wais/servers/freeWAIS 
+
+#### If you do not wish to link to the WAIS libraries, then comment
+#### the following lines out.  Mosaic will then communicate with WAIS
+#### servers via a HTTP gateway.
+
+#### -lm is required for freeWAIS 0.5, as ceil() is used.
+
+#waisroot = /xdev/mosaic/freeWAIS/linux
+#waisflags = -DDIRECT_WAIS -I$(waisroot)/include
+#waislibdir = $(waisroot)/bin
+#waislibs = $(waislibdir)/inv.a $(waislibdir)/wais.a $(waislibdir)/libftw.a -lm
+
+
+#### Customization flags:
+#### . If you want Mosaic to come up with monochrome colors by default,
+####   use -DMONO_DEFAULT
+#### . If you want to define the default Mosaic home page, set
+####   -DHOME_PAGE_DEFAULT=\\\"url\\\"
+#### . If you want to define the default Mosaic documentation directory
+####   (should be a URL), set -DDOCS_DIRECTORY_DEFAULT=\\\"url\\\"
+#### . Other things you can define are spelled out in src/mosaic.h.
+customflags =
+
+
+
+
+########
+########
+####      NOTE! If you get errors because of the following line, it means
+####      you are NOT using GNUs Make program. The following line is basically
+####      for the developers at NCSA to customize the build process without
+####      modifying the Makefiles, so you may comment it out without harm.
+########
+########
+-include local-defines/$(DEV_ARCH)
+
+
+
+# ---------------------- END OF CUSTOMIZABLE OPTIONS -------------------------
+
+CFLAGS = -g $(sysconfigflags) $(prereleaseflags)
+
+# Don't worry about these -- for development purposes only.
+PURIFY = purify
+QUANTIFY = quantify
+
+default: $(dtmdirs) libwww2 libXmx libhtmlw libnut src
+	@echo \*\*\* Welcome to NCSA Mosaic.
+purifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-purifyd
+	@echo \*\*\* Welcome to Purify'd NCSA Mosaic.
+quantifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-quantifyd
+	@echo \*\*\* Welcome to Quantify'd NCSA Mosaic.
+staticd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-static
+	@echo \*\*\* Welcome to NCSA Mosaic linked static.
+static_motifd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-static-motif
+	@echo \*\*\* Welcome to NCSA Mosaic linked static for motif.
+p_staticd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-static-purifyd
+	@echo \*\*\* Welcome to Purify'd NCSA Mosaic linked static.
+p_static_motifd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-static-motif-purifyd
+	@echo \*\*\* Welcome to Purify'd NCSA Mosaic linked static for motif.
+q_staticd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-static-quantifyd
+	@echo \*\*\* Welcome to Quantify'd NCSA Mosaic linked static.
+q_static_motifd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-static-motif-quantifyd
+	@echo \*\*\* Welcome to Quantify'd NCSA Mosaic linked static for motif.
+
+libXmx::
+	@echo --- Building libXmx
+	cd libXmx; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc)"
+
+libhtmlw::
+	@echo --- Building libhtmlw
+	cd libhtmlw; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(xinc) -DMOTIF -DXMOSAIC"
+
+libwww2::
+	@echo --- Building libwww2
+	cd libwww2; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(waisflags) $(krbflags) $(xinc)"
+
+libnut::
+	@echo --- Building libnut
+	cd libnut; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag)"
+
+src::
+	@echo --- Building src
+	cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
+
+src-purifyd::
+	@echo --- Building Purify'd src
+	cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
+
+src-quantifyd::
+	@echo --- Building Quantify'd src
+	cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
+
+src-static::
+	@echo --- Building src-static
+	cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags) -static" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(static_xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
+
+src-static-motif::
+	@echo --- Building src-static-motif
+	cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(static_motif_xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
+
+src-static-purifyd::
+	@echo --- Building src-static-purifyd
+	cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags) -static" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(static_xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
+
+src-static-motif-purifyd::
+	@echo --- Building src-static-motif-purifyd
+	cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(static_motif_xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
+
+src-static-quantifyd::
+	@echo --- Building src-static-quantifyd
+	cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags) -static" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(static_xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
+
+src-static-motif-quantifyd::
+	@echo --- Building src-static-motif-quantifyd
+	cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(static_motif_xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
+
+libnet::
+	@echo --- Building libnet
+	cd libnet; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+libdtm::
+	@echo --- Building libdtm
+	cd libdtm; $(MAKE) $(dtmmachtype) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+clean:
+	cd libXmx; $(MAKE) $@
+	cd libhtmlw; $(MAKE) $@
+	cd libwww2; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+	cd libnet; $(MAKE) $@
+	cd libdtm; $(MAKE) $@
+	cd libnut; $(MAKE) $@
+
+wclean:
+	cd libhtmlw; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+
+commit:
+	cvs commit
+update:
+	cvs update
+countlines:
+	wc libdtm/*.[ch] libnet/*.[ch] libXmx/*.[ch] libhtmlw/*.[ch] libwww2/*.[ch] src/*.[ch]
+replicate:
+	cp Makefile Makefile.sun
+	cp Makefile Makefile.ibm
+	cp Makefile Makefile.dec
+	cp Makefile Makefile.alpha
+	cp Makefile Makefile.hp
+prune:
+	mv Makefile.sun Makefile.sun.old
+	mv Makefile.ibm Makefile.ibm.old
+	mv Makefile.dec Makefile.dec.old
+	mv Makefile.alpha Makefile.alpha.old
+	mv Makefile.hp Makefile.hp.old
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/makefiles/Makefile.osx mosaic4_2/makefiles/Makefile.osx
--- mosaic4_2.orig/makefiles/Makefile.osx	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/makefiles/Makefile.osx	2010-03-15 06:26:19.000000000 +0800
@@ -0,0 +1,240 @@
+# Toplevel Makefile for NCSA Mosaic.
+
+# You shouldn't need to touch any of the Makefiles in the various
+# subdirectories if you configure this Makefile correctly.
+
+# If you need to make serious changes to get Mosaic to compile on your
+# platform, send context diffs to mosaic-x@ncsa.uiuc.edu.
+# -------------------------- CUSTOMIZABLE OPTIONS ----------------------------
+
+prereleaseflags = -DPRERELEASE
+
+RANLIB = ranlib
+
+CC = gcc
+
+#### Linker Flags -- Primarily for linking static on linux-elf.
+ldflags =
+
+#### For a few files in the source, some compilers may need to be kicked
+#### in K&R mode.  E.g., on SGI's, -cckr does this.
+#### On most systems, no flag is needed.
+knrflag =
+
+
+#### Random system configuration flags.
+#### --> *** For Motif 1.2 ON ANY PLATFORM, do -DMOTIF1_2 *** <--
+#### For IBM AIX 3.2, do -D_BSD
+#### For NeXT, do -DNEXT
+#### For HP/UX, do -Aa -D_HPUX_SOURCE
+#### For Dell SVR4, do -DSVR4
+#### For Solaris, do -DSVR4 
+#### For Esix 4.0.4 and Solaris x86 2.1, do -DSVR4
+#### For Convex whatever, do -DCONVEX
+#### For SCO ODT 3.0, do -DSCO -DSVR4 -DMOTIF1_2
+#### For Motorola SVR4, do -DSVR4 -DMOTOROLA -DMOTIF1_2
+sysconfigflags = -O3 -D_BSD -DMOTIF1_2 -DHAVE_ERRLIST -DUSE_STDARG -D__bsdi__
+
+#### System libraries.
+# -lipc
+syslibs = 
+
+#### X include file locations -- if your platform puts the X include
+xinc = -I/usr/OpenMotif/include -I/usr/X11R6/include
+xlibs = -L/usr/OpenMotif/lib -L/usr/X11R6/lib -lXm -lXmu -lXt -lXext -lSM -lICE -lXpm -lX11
+
+
+#### DTM AND HDF SUPPORT; READ CAREFULLY
+
+#### If you want to compile with DTM and HDF support, you should leave
+#### the following lines uncommented and make sure you have a copy of
+#### HDF 3.3 (r1 or later) installed and ready.  You can find HDF on
+#### ftp.ncsa.uiuc.edu in /HDF.
+
+#### If you do not want to compile with DTM and HDF support, comment
+#### the following lines out.  (If you are compiling from source for
+#### the first time, you should probably not bother with HDF and DTM
+#### support.)
+
+#### dtmmachtype needs to be set to one of the following:
+####   sun, sgi, dec, ibm, next, cray, convex
+#### If your platform is not one of the above, then either do not compile
+#### with HDF/DTM support or try hacking libdtm/makefile.
+
+#dtmmachtype = sun
+#dtmdirs = libdtm libnet
+#dtmlibs = ../libnet/libnet.a ../libdtm/libdtm.a
+#dtmflags = -DHAVE_DTM -I.. -I../libnet
+#hdfdir = /hdf2/install/sun
+#hdflibs = $(hdfdir)/lib/libmfhdf.a $(hdfdir)/lib/libdf.a
+#hdfflags = -DHAVE_HDF -DHDF -I$(hdfdir)/include
+
+
+#### PNG SUPPORT
+#### For inline PNG support, the following should be defined:
+#### The libraries currently used are PNGLIB 0.81 and ZLIB 0.95
+
+pngdir = /usr/local
+pnglibdir = $(pngdir)/lib
+pngincludedir = $(pngdir)/include
+pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a -lm
+pngflags =  -I$(pngincludedir) -DHAVE_PNG
+
+#pngdir = /work2/mosaic-libs/libpng
+#pnglibdir = $(pngdir)
+#pngincludedir = $(pngdir)
+#pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a -lm
+#pngflags =  -I$(pngincludedir) -DHAVE_PNG
+
+
+#### JPEG SUPPORT
+#### For inline JPEG support, the following should be defined:
+#### The library used is Independent JPEG Group (IJG's) 5.0a.
+
+jpegdir = /usr/local
+jpeglibs = $(jpegdir)/lib/libjpeg.a
+jpegflags = -I$(jpegdir) -DHAVE_JPEG
+
+
+#### KERBEROS SUPPORT
+####
+#### If you want Mosaic to support Kerberos authentication, set the 
+#### following flags appropriately.  You can support Kerberos V4 and/or V5,
+#### although it's most likely that your realm supports one or the other.
+#### To enable DES-encryption of HTTP messages via Kerberos key exchange, 
+#### define the KRB-ENCRYPT flag.
+
+##krb4dir   = /usr/athena
+#krb4dir   = /xdev/mosaic/libkrb4/sun
+#krb4libs  = $(krb4dir)/lib/libkrb.a $(krb4dir)/lib/libdes.a
+#krb4flags = -DKRB4 -I$(krb4dir)/include
+
+##krb5dir   = /krb5
+#krb5dir   = /xdev/mosaic/libkrb5/sun
+#krb5libs  = $(krb5dir)/lib/libkrb5.a $(krb5dir)/lib/libcrypto.a $(krb5dir)/util/et/libcom_err.a
+#krb5flags = -DKRB5 -I$(krb5dir)/include -I$(krb5dir)/include/krb5
+
+#Do not comment out.
+krbflags  = $(krb4flags) $(krb5flags)
+krblibs   = $(krb4libs) $(krb5libs) 
+
+
+#### DIRECT WAIS SUPPORT
+
+#### If you want to have Mosaic be able to communicate directly with
+#### WAIS servers, do set the following flags appropriately.  We
+#### recommend linking with CNIDR's freeWAIS 0.5 distribution; other
+#### WAIS distributions may work but we have not tested them with
+#### Mosaic.  freeWAIS 0.5 can currently (Sept.1995) be found at
+#### ftp://sunsite.unc.edu/pub/wais/servers/freeWAIS 
+
+#### If you do not wish to link to the WAIS libraries, then comment
+#### the following lines out.  Mosaic will then communicate with WAIS
+#### servers via a HTTP gateway.
+
+#### -lm is required for freeWAIS 0.5, as ceil() is used.
+
+#waisroot = /xdev/mosaic/freeWAIS/sun4
+#waisflags = -DDIRECT_WAIS -I$(waisroot)/include
+#waislibdir = $(waisroot)/bin
+#waislibs = $(waislibdir)/inv.a $(waislibdir)/wais.a $(waislibdir)/libftw.a -lm
+
+
+#### Customization flags:
+#### . If you want Mosaic to come up with monochrome colors by default,
+####   use -DMONO_DEFAULT
+#### . If you want to define the default Mosaic home page, set
+####   -DHOME_PAGE_DEFAULT=\\\"url\\\"
+#### . If you want to define the default Mosaic documentation directory
+####   (should be a URL), set -DDOCS_DIRECTORY_DEFAULT=\\\"url\\\"
+#### . Other things you can define are spelled out in src/mosaic.h.
+customflags =
+
+
+
+
+########
+########
+####      NOTE! If you get errors because of the following line, it means
+####      you are NOT using GNUs Make program. The following line is basically
+####      for the developers at NCSA to customize the build process without
+####      modifying the Makefiles, so you may comment it out without harm.
+########
+########
+-include local-defines/$(DEV_ARCH)
+
+
+
+# ---------------------- END OF CUSTOMIZABLE OPTIONS -------------------------
+# --------------------- Do Not Modify Below This Line ------------------------
+#
+
+CFLAGS = -g $(sysconfigflags) $(prereleaseflags)
+
+# Don't worry about these -- for development purposes only.
+PURIFY = purify
+QUANTIFY = quantify
+
+default: $(dtmdirs) libwww2 libXmx libhtmlw libnut src
+	cp src/Mosaic motifmaclauncher/mosaic-mml
+	@echo \*\*\* Welcome to NCSA Mosaic.
+purifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-purifyd
+	@echo \*\*\* Welcome to Purify'd NCSA Mosaic.
+quantifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-quantifyd
+	@echo \*\*\* Welcome to Quantify'd NCSA Mosaic.
+
+libXmx::
+	@echo --- Building libXmx
+	cd libXmx; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc)"
+
+libhtmlw::
+	@echo --- Building libhtmlw
+	cd libhtmlw; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(xinc) -DMOTIF -DXMOSAIC"
+
+libwww2::
+	@echo --- Building libwww2
+	cd libwww2; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(waisflags) $(krbflags) $(xinc)"
+
+libnut::
+	@echo --- Building libnut
+	cd libnut; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag)"
+
+src::
+	@echo --- Building src
+	cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
+
+src-purifyd::
+	@echo --- Building Purify'd src
+	cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
+
+src-quantifyd::
+	@echo --- Building Quantify'd src
+	cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
+
+libnet::
+	@echo --- Building libnet
+	cd libnet; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+libdtm::
+	@echo --- Building libdtm
+	cd libdtm; $(MAKE) $(dtmmachtype) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+clean:
+	cd libXmx; $(MAKE) $@
+	cd libhtmlw; $(MAKE) $@
+	cd libwww2; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+	cd libnet; $(MAKE) $@
+	cd libdtm; $(MAKE) $@
+	cd libnut; $(MAKE) $@
+
+wclean:
+	cd libhtmlw; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+
+commit:
+	cvs commit
+update:
+	cvs update
+countlines:
+	wc libdtm/*.[ch] libnet/*.[ch] libXmx/*.[ch] libhtmlw/*.[ch] libwww2/*.[ch] src/*.[ch]
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/makefiles/Makefile.ppcmt mosaic4_2/makefiles/Makefile.ppcmt
--- mosaic4_2.orig/makefiles/Makefile.ppcmt	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/makefiles/Makefile.ppcmt	2009-12-06 02:43:52.000000000 +0800
@@ -0,0 +1,238 @@
+# Toplevel Makefile for NCSA Mosaic.
+
+# You shouldn't need to touch any of the Makefiles in the various
+# subdirectories if you configure this Makefile correctly.
+
+# If you need to make serious changes to get Mosaic to compile on your
+# platform, send context diffs to mosaic-x@ncsa.uiuc.edu.
+# -------------------------- CUSTOMIZABLE OPTIONS ----------------------------
+
+prereleaseflags = -DPRERELEASE
+
+RANLIB = ranlib
+
+CC = gcc
+
+#### Linker Flags -- Primarily for linking static on linux-elf.
+ldflags = -Xlstack=134217728
+
+#### For a few files in the source, some compilers may need to be kicked
+#### in K&R mode.  E.g., on SGI's, -cckr does this.
+#### On most systems, no flag is needed.
+knrflag =
+
+
+#### Random system configuration flags.
+#### --> *** For Motif 1.2 ON ANY PLATFORM, do -DMOTIF1_2 *** <--
+#### For IBM AIX 3.2, do -D_BSD
+#### For NeXT, do -DNEXT
+#### For HP/UX, do -Aa -D_HPUX_SOURCE
+#### For Dell SVR4, do -DSVR4
+#### For Solaris, do -DSVR4 
+#### For Esix 4.0.4 and Solaris x86 2.1, do -DSVR4
+#### For Convex whatever, do -DCONVEX
+#### For SCO ODT 3.0, do -DSCO -DSVR4 -DMOTIF1_2
+#### For Motorola SVR4, do -DSVR4 -DMOTOROLA -DMOTIF1_2
+sysconfigflags = -O3 -DMOTIF1_2
+
+#### System libraries.
+syslibs = #-lipc
+
+#### X include file locations -- if your platform puts the X include
+xinc = -I/usr/X11/include
+xlibs = -L/usr/X11/lib -lXm -lXmu -lXt -lXext -lSM -lICE -lXpm -lX11
+
+
+#### DTM AND HDF SUPPORT; READ CAREFULLY
+
+#### If you want to compile with DTM and HDF support, you should leave
+#### the following lines uncommented and make sure you have a copy of
+#### HDF 3.3 (r1 or later) installed and ready.  You can find HDF on
+#### ftp.ncsa.uiuc.edu in /HDF.
+
+#### If you do not want to compile with DTM and HDF support, comment
+#### the following lines out.  (If you are compiling from source for
+#### the first time, you should probably not bother with HDF and DTM
+#### support.)
+
+#### dtmmachtype needs to be set to one of the following:
+####   sun, sgi, dec, ibm, next, cray, convex
+#### If your platform is not one of the above, then either do not compile
+#### with HDF/DTM support or try hacking libdtm/makefile.
+
+#dtmmachtype = sun
+#dtmdirs = libdtm libnet
+#dtmlibs = ../libnet/libnet.a ../libdtm/libdtm.a
+#dtmflags = -DHAVE_DTM -I.. -I../libnet
+#hdfdir = /hdf2/install/sun
+#hdflibs = $(hdfdir)/lib/libmfhdf.a $(hdfdir)/lib/libdf.a
+#hdfflags = -DHAVE_HDF -DHDF -I$(hdfdir)/include
+
+
+#### PNG SUPPORT
+#### For inline PNG support, the following should be defined:
+#### The libraries currently used are PNGLIB 0.81 and ZLIB 0.95
+
+pngdir = /opt
+pnglibdir = $(pngdir)/lib
+pngincludedir = $(pngdir)/include
+pnglibs = $(pnglibdir)/libpng.a -lz -lm
+pngflags =  -I$(pngincludedir) -DHAVE_PNG
+
+#pngdir = /work2/mosaic-libs/libpng
+#pnglibdir = $(pngdir)
+#pngincludedir = $(pngdir)
+#pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a -lm
+#pngflags =  -I$(pngincludedir) -DHAVE_PNG
+
+
+#### JPEG SUPPORT
+#### For inline JPEG support, the following should be defined:
+#### The library used is Independent JPEG Group (IJG's) 5.0a.
+
+jpegdir = /opt/lib
+jpeglibs = $(jpegdir)/libjpeg.a
+jpegflags = -I$(jpegdir) -DHAVE_JPEG
+
+
+#### KERBEROS SUPPORT
+####
+#### If you want Mosaic to support Kerberos authentication, set the 
+#### following flags appropriately.  You can support Kerberos V4 and/or V5,
+#### although it's most likely that your realm supports one or the other.
+#### To enable DES-encryption of HTTP messages via Kerberos key exchange, 
+#### define the KRB-ENCRYPT flag.
+
+##krb4dir   = /usr/athena
+#krb4dir   = /xdev/mosaic/libkrb4/sun
+#krb4libs  = $(krb4dir)/lib/libkrb.a $(krb4dir)/lib/libdes.a
+#krb4flags = -DKRB4 -I$(krb4dir)/include
+
+##krb5dir   = /krb5
+#krb5dir   = /xdev/mosaic/libkrb5/sun
+#krb5libs  = $(krb5dir)/lib/libkrb5.a $(krb5dir)/lib/libcrypto.a $(krb5dir)/util/et/libcom_err.a
+#krb5flags = -DKRB5 -I$(krb5dir)/include -I$(krb5dir)/include/krb5
+
+#Do not comment out.
+krbflags  = $(krb4flags) $(krb5flags)
+krblibs   = $(krb4libs) $(krb5libs) 
+
+
+#### DIRECT WAIS SUPPORT
+
+#### If you want to have Mosaic be able to communicate directly with
+#### WAIS servers, do set the following flags appropriately.  We
+#### recommend linking with CNIDR's freeWAIS 0.5 distribution; other
+#### WAIS distributions may work but we have not tested them with
+#### Mosaic.  freeWAIS 0.5 can currently (Sept.1995) be found at
+#### ftp://sunsite.unc.edu/pub/wais/servers/freeWAIS 
+
+#### If you do not wish to link to the WAIS libraries, then comment
+#### the following lines out.  Mosaic will then communicate with WAIS
+#### servers via a HTTP gateway.
+
+#### -lm is required for freeWAIS 0.5, as ceil() is used.
+
+#waisroot = /xdev/mosaic/freeWAIS/sun4
+#waisflags = -DDIRECT_WAIS -I$(waisroot)/include
+#waislibdir = $(waisroot)/bin
+#waislibs = $(waislibdir)/inv.a $(waislibdir)/wais.a $(waislibdir)/libftw.a -lm
+
+
+#### Customization flags:
+#### . If you want Mosaic to come up with monochrome colors by default,
+####   use -DMONO_DEFAULT
+#### . If you want to define the default Mosaic home page, set
+####   -DHOME_PAGE_DEFAULT=\\\"url\\\"
+#### . If you want to define the default Mosaic documentation directory
+####   (should be a URL), set -DDOCS_DIRECTORY_DEFAULT=\\\"url\\\"
+#### . Other things you can define are spelled out in src/mosaic.h.
+customflags =
+
+
+
+
+########
+########
+####      NOTE! If you get errors because of the following line, it means
+####      you are NOT using GNUs Make program. The following line is basically
+####      for the developers at NCSA to customize the build process without
+####      modifying the Makefiles, so you may comment it out without harm.
+########
+########
+-include local-defines/$(DEV_ARCH)
+
+
+
+# ---------------------- END OF CUSTOMIZABLE OPTIONS -------------------------
+# --------------------- Do Not Modify Below This Line ------------------------
+#
+
+CFLAGS = -g $(sysconfigflags) $(prereleaseflags)
+
+# Don't worry about these -- for development purposes only.
+PURIFY = purify
+QUANTIFY = quantify
+
+default: $(dtmdirs) libwww2 libXmx libhtmlw libnut src
+	@echo \*\*\* Welcome to NCSA Mosaic.
+purifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-purifyd
+	@echo \*\*\* Welcome to Purify'd NCSA Mosaic.
+quantifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-quantifyd
+	@echo \*\*\* Welcome to Quantify'd NCSA Mosaic.
+
+libXmx::
+	@echo --- Building libXmx
+	cd libXmx; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc)"
+
+libhtmlw::
+	@echo --- Building libhtmlw
+	cd libhtmlw; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(xinc) -DMOTIF -DXMOSAIC"
+
+libwww2::
+	@echo --- Building libwww2
+	cd libwww2; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(waisflags) $(krbflags) $(xinc)"
+
+libnut::
+	@echo --- Building libnut
+	cd libnut; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag)"
+
+src::
+	@echo --- Building src
+	cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
+
+src-purifyd::
+	@echo --- Building Purify'd src
+	cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
+
+src-quantifyd::
+	@echo --- Building Quantify'd src
+	cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
+
+libnet::
+	@echo --- Building libnet
+	cd libnet; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+libdtm::
+	@echo --- Building libdtm
+	cd libdtm; $(MAKE) $(dtmmachtype) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+clean:
+	cd libXmx; $(MAKE) $@
+	cd libhtmlw; $(MAKE) $@
+	cd libwww2; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+	cd libnet; $(MAKE) $@
+	cd libdtm; $(MAKE) $@
+	cd libnut; $(MAKE) $@
+
+wclean:
+	cd libhtmlw; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+
+commit:
+	cvs commit
+update:
+	cvs update
+countlines:
+	wc libdtm/*.[ch] libnet/*.[ch] libXmx/*.[ch] libhtmlw/*.[ch] libwww2/*.[ch] src/*.[ch]
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/makefiles/Makefile.sco mosaic4_2/makefiles/Makefile.sco
--- mosaic4_2.orig/makefiles/Makefile.sco	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/makefiles/Makefile.sco	1996-07-11 11:46:07.000000000 +0800
@@ -0,0 +1,305 @@
+# Toplevel Makefile for NCSA Mosaic.
+
+# You shouldn't need to touch any of the Makefiles in the various
+# subdirectories if you configure this Makefile correctly.
+
+# If you need to make serious changes to get Mosaic to compile on your
+# platform, send context diffs to mosaic-x@ncsa.uiuc.edu.
+
+# -------------------------- CUSTOMIZABLE OPTIONS ----------------------------
+
+prereleaseflags = -DPRERELEASE
+
+RANLIB = /bin/true
+#### On non-SGI's, this should be ranlib.
+# RANLIB = ranlib
+
+#CC = cc
+#### On Sun's, this should be gcc (ANSI required).
+CC = cc
+
+#### Linker Flags -- Primarily for linking static on linux-elf.
+#ldflags = -static
+ldflags =
+
+#### For a few files in the source, some compilers may need to be kicked
+#### in K&R mode.  E.g., on SGI's, -cckr does this.
+# knrflag = -cckr
+#### On most systems, no flag is needed.
+knrflag =
+
+
+#### Random system configuration flags.
+#### --> *** For Motif 1.2 ON ANY PLATFORM, do -DMOTIF1_2 *** <--
+#### For IBM AIX 3.2, do -D_BSD
+#### For NeXT, do -DNEXT
+#### For HP/UX, do -Aa -D_HPUX_SOURCE
+#### For Dell SVR4, do -DSVR4
+#### For Solaris, do -DSVR4 -DSOLARIS
+#### For Esix 4.0.4 and Solaris x86 2.1, do -DSVR4
+#### For Convex whatever, do -DCONVEX
+#### For SCO ODT 3.0, do -DSCO -DSVR4 -DMOTIF1_2
+#### For Motorola SVR4, do -DSVR4 -DMOTOROLA -DMOTIF1_2
+sysconfigflags = -DSVR4 -DMOTIF1_2 -DSCO -g
+
+#### System libraries.
+# syslibs = -lPW -lsun -lmalloc
+#### For AIX 3.2
+# syslibs = -lPW -lbsd
+#### For most other Motif platforms:
+# syslibs = -lPW
+#### For Sun's and Ultrix and HP and BSD/386:
+# syslibs =
+#### For Sun's with no DNS:
+# syslibs = -lresolv
+#### For SCO ODT:
+syslibs = -lPW -lsocket -lmalloc
+#### For Dell SVR4:
+# syslibs = -lnsl -lsocket -lc -lucb
+#### For Solaris (2.x)  --nsl does not link correctly staticly.
+# syslibs = -lnsl /usr/lib/libsocket.a /usr/ccs/lib/libgen.a
+#### For Motorola SVR4:
+# syslibs = -lnsl -lsocket -lgen
+
+
+#### X include file locations -- if your platform puts the X include
+#### files in a strange place, set this variable appropriately.  Else
+#### don't worry about it.
+#### HP X11R4 version:
+# xinc = -I/usr/include/Motif1.1 -I/usr/include/X11R4
+#### HP X11R5 version:
+# xinc = -I/usr/include/Motif1.2 -I/usr/local/X11R5/include
+#### NeXT version:
+# xinc = -I/usr/include/X11
+#### BSD/386
+# xinc = -I/usr/X11/include
+#### Solaris 2.x (Patched X11R5 and Motif libs)
+# xinc = -I/usr/openwin/include -I/usr/dt/include
+
+#### X library locations.
+# xlibs = -lXm_s -lXmu -lXt_s -lX11_s
+#### For Sun's (at least running stock X/Motif as installed on our machines):
+# xlibs = /usr/lib/libXm.a /usr/lib/libXmu.a /usr/lib/libXt.a /usr/lib/libXext.a /usr/lib/libX11.a -lm
+#### For HP-UX 8.00:
+# xlibs = -L/usr/lib/Motif1.1 -lXm -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For HP-UX 9.01: The X11R5 libraries are here on our systems
+# xlibs = -L/usr/lib/Motif1.2 -lXm -L/usr/lib/X11R5 -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For NeXT:
+# xlibs = -L/usr/lib/X11 -lXm -lXmu -lXt -lX11
+#### For Dell SVR4:
+# xlibs = -L/usr/X5/lib -lXm -lXmu -lXt -lXext -lX11
+#### For Solaris (2.x) (Use static to go from machine to machine)
+#xlibs = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/dt/lib -lXm
+#xlibs += /usr/openwin/lib/libXmu.a /usr/openwin/lib/libXt.a
+#xlibs += /usr/openwin/lib/libXext.a -lX11
+#xlibs += /usr/lib/libm.a
+#### For SCO ODT 3.0 (I'm told that -lXtXm_s is *not* a typo :-):
+#xlibs = -lXtXm_s -lXmu -lX11_s
+#### For SCO OpenServer 5.0 
+xlibs = -lXm -lXt -lXmu -lX11
+#### For nearly everyone else:
+# xlibs = -lXm -lXmu -lXt -lX11
+#### For BSD/386:
+# xlibs = -L/usr/X11/lib -lXm -lXmu -lXt -lX11
+#### For Motorola SVR4:
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+
+
+#### DTM AND HDF SUPPORT; READ CAREFULLY
+
+#### If you want to compile with DTM and HDF support, you should leave
+#### the following lines uncommented and make sure you have a copy of
+#### HDF 3.3 (r1 or later) installed and ready.  You can find HDF on
+#### ftp.ncsa.uiuc.edu in /HDF.
+
+#### If you do not want to compile with DTM and HDF support, comment
+#### the following lines out.  (If you are compiling from source for
+#### the first time, you should probably not bother with HDF and DTM
+#### support.)
+
+#### dtmmachtype needs to be set to one of the following:
+####   sun, sgi, dec, ibm, next, cray, convex
+#### If your platform is not one of the above, then either do not compile
+#### with HDF/DTM support or try hacking libdtm/makefile.
+
+#dtmmachtype = solarisx86
+#dtmdirs = libdtm libnet
+#dtmlibs = ../libnet/libnet.a ../libdtm/libdtm.a
+#dtmflags = -DHAVE_DTM -I.. -I../libnet
+#hdfdir = /hdf2/install/solarisx86
+#hdflibs = $(hdfdir)/lib/libmfhdf.a $(hdfdir)/lib/libdf.a
+#hdfflags = -DHAVE_HDF -DHDF -I$(hdfdir)/include
+
+#### PNG SUPPORT
+#### For inline PNG support, the following should be defined:
+#### The libraries currently used are PNGLIB 0.81 and ZLIB 0.95
+
+pngdir = /xdev/mosaic/libpng/sco
+pnglibdir = $(pngdir)/lib
+pngincludedir = $(pngdir)/include
+pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a -lm
+pngflags =  -I$(pngincludedir) -DHAVE_PNG
+
+#### JPEG SUPPORT
+#### For inline JPEG support, the following should be defined:
+#### The library used is Independent JPEG Group (IJG's) 5.0a.
+
+jpegdir = /xdev/mosaic/libjpeg/sco
+jpeglibs = $(jpegdir)/lib/libjpeg.a
+jpegflags = -I$(jpegdir)/include -DHAVE_JPEG
+
+
+#### KERBEROS SUPPORT
+####
+#### If you want Mosaic to support Kerberos authentication, set the 
+#### following flags appropriately.  You can support Kerberos V4 and/or V5,
+#### although it's most likely that your realm supports one or the other.
+#### To enable DES-encryption of HTTP messages via Kerberos key exchange, 
+#### define the KRB-ENCRYPT flag.
+
+##krb4dir   = /usr/athena
+#krb4dir   = /xdev/mosaic/libkrb4/solaris-24
+#krb4libs  = $(krb4dir)/lib/libkrb.a $(krb4dir)/lib/libdes.a
+#krb4flags = -DKRB4 -I$(krb4dir)/include
+
+##krb5dir   = /krb5
+#krb5dir   = /xdev/mosaic/libkrb5/solaris-24
+#krb5libs  = $(krb5dir)/lib/libkrb5.a $(krb5dir)/lib/libcrypto.a $(krb5dir)/util/et/libcom_err.a
+#krb5flags = -DKRB5 -I$(krb5dir)/include -I$(krb5dir)/include/krb5
+
+#Do not comment out.
+krbflags  = $(krb4flags) $(krb5flags)
+krblibs   = $(krb4libs) $(krb5libs) 
+
+
+#### DIRECT WAIS SUPPORT
+
+#### If you want to have Mosaic be able to communicate directly with
+#### WAIS servers, do set the following flags appropriately.  We
+#### recommend linking with CNIDR's freeWAIS 0.5 distribution; other
+#### WAIS distributions may work but we have not tested them with
+#### Mosaic.  freeWAIS 0.5 can currently (Sept.1995) be found at
+#### ftp://sunsite.unc.edu/pub/wais/servers/freeWAIS 
+
+#### If you do not wish to link to the WAIS libraries, then comment
+#### the following lines out.  Mosaic will then communicate with WAIS
+#### servers via a HTTP gateway.
+
+#### -lm is required for freeWAIS 0.5, as ceil() is used.
+
+#waisroot = /xdev/mosaic/freeWAIS/solaris24x86
+#waisflags = -DDIRECT_WAIS -I$(waisroot)/include
+#waislibdir = $(waisroot)/bin
+#waislibs = $(waislibdir)/inv.a $(waislibdir)/wais.a $(waislibdir)/libftw.a -lm
+
+
+
+#### Customization flags:
+#### . If you want Mosaic to come up with monochrome colors by default,
+####   use -DMONO_DEFAULT
+#### . If you want to define the default Mosaic home page, set
+####   -DHOME_PAGE_DEFAULT=\\\"url\\\"
+#### . If you want to define the default Mosaic documentation directory
+####   (should be a URL), set -DDOCS_DIRECTORY_DEFAULT=\\\"url\\\"
+#### . Other things you can define are spelled out in src/mosaic.h.
+customflags =
+
+
+
+
+########
+########
+####      NOTE! If you get errors because of the following line, it means
+####      you are NOT using GNUs Make program. The following line is basically
+####      for the developers at NCSA to customize the build process without
+####      modifying the Makefiles, so you may comment it out without harm.
+########
+########
+-include local-defines/$(DEV_ARCH)
+
+
+
+# ---------------------- END OF CUSTOMIZABLE OPTIONS -------------------------
+
+
+CFLAGS = -g $(sysconfigflags) $(prereleaseflags)
+
+# Don't worry about these -- for development purposes only.
+PURIFY = purify
+QUANTIFY = quantify
+
+default: $(dtmdirs) libwww2 libXmx libhtmlw libnut src
+	@echo \*\*\* Welcome to NCSA Mosaic.
+purifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-purifyd
+	@echo \*\*\* Welcome to Purify'd NCSA Mosaic.
+quantifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-quantifyd
+	@echo \*\*\* Welcome to Quantify'd NCSA Mosaic.
+
+libXmx::
+	@echo --- Building libXmx
+	cd libXmx; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc)"
+
+libhtmlw::
+	@echo --- Building libhtmlw
+	cd libhtmlw; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(xinc) -DMOTIF -DXMOSAIC"
+
+libwww2::
+	@echo --- Building libwww2
+	cd libwww2; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(waisflags) $(krbflags) $(xinc)"
+
+
+libnut::
+	@echo --- Building libnut
+	cd libnut; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag)"
+
+src::
+	@echo --- Building src
+	cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
+
+src-purifyd::
+	@echo --- Building Purify'd src
+	cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
+
+src-quantifyd::
+	@echo --- Building Quantify'd src
+	cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
+
+libnet::
+	@echo --- Building libnet
+	cd libnet; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+libdtm::
+	@echo --- Building libdtm
+	cd libdtm; $(MAKE) $(dtmmachtype) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+clean:
+	cd libXmx; $(MAKE) $@
+	cd libhtmlw; $(MAKE) $@
+	cd libwww2; $(MAKE) $@
+	cd src; $(MAKE) $@
+	cd libnet; $(MAKE) $@
+	cd libdtm; $(MAKE) $@
+	cd libnut; $(MAKE) $@
+
+wclean:
+	cd libhtmlw; $(MAKE) $@
+	cd src; $(MAKE) $@
+
+commit:
+	cvs commit
+update:
+	cvs update
+countlines:
+	wc libdtm/*.[ch] libnet/*.[ch] libXmx/*.[ch] libhtmlw/*.[ch] libwww2/*.[ch] src/*.[ch]
+replicate:
+	cp Makefile Makefile.sun
+	cp Makefile Makefile.ibm
+	cp Makefile Makefile.dec
+	cp Makefile Makefile.alpha
+	cp Makefile Makefile.hp
+prune:
+	mv Makefile.sun Makefile.sun.old
+	mv Makefile.ibm Makefile.ibm.old
+	mv Makefile.dec Makefile.dec.old
+	mv Makefile.alpha Makefile.alpha.old
+	mv Makefile.hp Makefile.hp.old
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/makefiles/Makefile.sgi mosaic4_2/makefiles/Makefile.sgi
--- mosaic4_2.orig/makefiles/Makefile.sgi	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/makefiles/Makefile.sgi	1996-06-12 07:45:31.000000000 +0800
@@ -0,0 +1,322 @@
+# Toplevel Makefile for NCSA Mosaic.
+
+# You shouldn't need to touch any of the Makefiles in the various
+# subdirectories if you configure this Makefile correctly.
+
+# The default configuration is for SGI IRIX 4.0.x.
+
+# If you need to make serious changes to get Mosaic to compile on your
+# platform, send context diffs to mosaic-x@ncsa.uiuc.edu.
+
+# -------------------------- CUSTOMIZABLE OPTIONS ----------------------------
+
+prereleaseflags = -DPRERELEASE
+
+RANLIB = /bin/true
+#### On non-SGI's, this should be ranlib.
+# RANLIB = ranlib
+
+CC = cc
+#### On Sun's, this should be gcc (ANSI required).
+# CC = gcc
+
+#### Linker Flags -- Primarily for linking static on linux-elf.
+#ldflags = -static
+ldflags =
+
+#### For a few files in the source, some compilers may need to be kicked
+#### in K&R mode.  E.g., on SGI's, -cckr does this.
+knrflag = -cckr
+#### On most systems, no flag is needed.
+# knrflag =
+
+
+#### Random system configuration flags.
+#### --> *** For Motif 1.2 ON ANY PLATFORM, do -DMOTIF1_2 *** <--
+#### For IBM AIX 3.2, do -D_BSD
+#### For NeXT, do -DNEXT
+#### For HP/UX, do -Aa -D_HPUX_SOURCE
+#### For Dell SVR4, do -DSVR4
+#### For Solaris, do -DSVR4 
+#### For Esix 4.0.4 and Solaris x86 2.1, do -DSVR4
+#### For Convex whatever, do -DCONVEX
+#### For SCO ODT 3.0, do -DSCO -DSVR4 -DMOTIF1_2
+#### For Motorola SVR4, do -DSVR4 -DMOTOROLA -DMOTIF1_2
+sysconfigflags = -DMO_IRIX4 -Wf,-XNl5000
+
+#### System libraries.
+syslibs = -lPW -lsun -lmalloc
+#### For AIX 3.2
+# syslibs = -lPW -lbsd
+#### For most other Motif platforms:
+# syslibs = -lPW
+#### For Sun's and Ultrix and HP and BSD/386:
+# syslibs =
+#### For Sun's with no DNS:
+# syslibs = -lresolv
+#### For SCO ODT:
+# syslibs = -lPW -lsocket -lmalloc
+#### For Dell SVR4:
+# syslibs = -lnsl -lsocket -lc -lucb
+#### For Solaris (?)
+# syslibs = -lnsl -lsocket -lgen
+#### For Motorola SVR4:
+# syslibs = -lnsl -lsocket -lgen
+
+
+#### X include file locations -- if your platform puts the X include
+#### files in a strange place, set this variable appropriately.  Else
+#### don't worry about it.
+#### HP X11R4 version:
+# xinc = -I/usr/include/Motif1.1 -I/usr/include/X11R4
+#### HP X11R5 version:
+# xinc = -I/usr/include/Motif1.2 -I/usr/local/X11R5/include
+#### NeXT version:
+# xinc = -I/usr/include/X11
+#### BSD/386
+# xinc = -I/usr/X11/include
+
+#### X library locations.
+xlibs = -lXm_s -lXmu -lXt_s -lX11_s
+#### For Sun's (at least running stock X/Motif as installed on our machines):
+# xlibs = /usr/lib/libXm.a /usr/lib/libXmu.a /usr/lib/libXt.a /usr/lib/libXext.a /usr/lib/libX11.a -lm
+#### For HP-UX 8.00:
+# xlibs = -L/usr/lib/Motif1.1 -lXm -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For HP-UX 9.01: The X11R5 libraries are here on our systems
+# xlibs = -L/usr/lib/Motif1.2 -lXm -L/usr/lib/X11R5 -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For NeXT:
+# xlibs = -L/usr/lib/X11 -lXm -lXmu -lXt -lX11
+#### For Dell SVR4:
+# xlibs = -L/usr/X5/lib -lXm -lXmu -lXt -lXext -lX11
+#### For Solaris (?)
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+#### For SCO ODT 3.0 (I'm told that -lXtXm_s is *not* a typo :-):
+# xlibs = -lXtXm_s -lXmu -lX11_s
+#### For nearly everyone else:
+# xlibs = -lXm -lXmu -lXt -lX11
+#### For BSD/386:
+# xlibs = -L/usr/X11/lib -lXm -lXmu -lXt -lX11
+#### For Motorola SVR4:
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+
+
+#### DTM AND HDF SUPPORT; READ CAREFULLY
+
+#### If you want to compile with DTM and HDF support, you should leave
+#### the following lines uncommented and make sure you have a copy of
+#### HDF 3.3 (r1 or later) installed and ready.  You can find HDF on
+#### ftp.ncsa.uiuc.edu in /HDF.
+
+#### If you do not want to compile with DTM and HDF support, comment
+#### the following lines out.  (If you are compiling from source for
+#### the first time, you should probably not bother with HDF and DTM
+#### support.)
+
+#### dtmmachtype needs to be set to one of the following:
+####   sun, sgi, dec, ibm, next, cray, convex
+#### If your platform is not one of the above, then either do not compile
+#### with HDF/DTM support or try hacking libdtm/makefile.
+
+#dtmmachtype = sgi
+#dtmdirs = libdtm libnet
+#dtmlibs = ../libnet/libnet.a ../libdtm/libdtm.a
+#dtmflags = -DHAVE_DTM -I.. -I../libnet
+#hdfdir = /hdf2/install/irix4
+#hdflibs = $(hdfdir)/lib/libmfhdf.a $(hdfdir)/lib/libdf.a
+#hdfflags = -DHAVE_HDF -DHDF -I$(hdfdir)/include
+
+#### PNG SUPPORT
+#### For inline PNG support, the following should be defined:
+#### The libraries currently used are PNGLIB 0.81 and ZLIB 0.95
+
+pngdir = /xdev/mosaic/libpng/sgi
+pnglibdir = $(pngdir)/lib
+pngincludedir = $(pngdir)/include
+pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a -lm
+pngflags =  -I$(pngincludedir) -DHAVE_PNG
+
+#### JPEG SUPPORT
+#### For inline JPEG support, the following should be defined:
+#### The library used is Independent JPEG Group (IJG's) 5.0a.
+
+jpegdir = /xdev/mosaic/libjpeg/sgi
+jpeglibs = $(jpegdir)/lib/libjpeg.a
+jpegflags = -I$(jpegdir)/include -DHAVE_JPEG
+
+
+#### KERBEROS SUPPORT
+####
+#### If you want Mosaic to support Kerberos authentication, set the 
+#### following flags appropriately.  You can support Kerberos V4 and/or V5,
+#### although it's most likely that your realm supports one or the other.
+#### To enable DES-encryption of HTTP messages via Kerberos key exchange, 
+#### define the KRB-ENCRYPT flag.
+
+##krb4dir   = /usr/athena
+#krb4dir   = /xdev/mosaic/libkrb4/sgi
+#krb4libs  = $(krb4dir)/lib/libkrb.a $(krb4dir)/lib/libdes.a
+#krb4flags = -DKRB4 -I$(krb4dir)/include
+
+##krb5dir   = /krb5
+#krb5dir   = /xdev/mosaic/libkrb5/sgi
+#krb5libs  = $(krb5dir)/lib/libkrb5.a $(krb5dir)/lib/libcrypto.a $(krb5dir)/util/et/libcom_err.a
+#krb5flags = -DKRB5 -I$(krb5dir)/include -I$(krb5dir)/include/krb5
+
+#Do not comment out.
+krbflags  = $(krb4flags) $(krb5flags)
+krblibs   = $(krb4libs) $(krb5libs) 
+
+
+#### DIRECT WAIS SUPPORT
+
+#### If you want to have Mosaic be able to communicate directly with
+#### WAIS servers, do set the following flags appropriately.  We
+#### recommend linking with CNIDR's freeWAIS 0.5 distribution; other
+#### WAIS distributions may work but we have not tested them with
+#### Mosaic.  freeWAIS 0.5 can currently (Sept.1995) be found at
+#### ftp://sunsite.unc.edu/pub/wais/servers/freeWAIS 
+
+#### If you do not wish to link to the WAIS libraries, then comment
+#### the following lines out.  Mosaic will then communicate with WAIS
+#### servers via a HTTP gateway.
+
+#### -lm is required for freeWAIS 0.5, as ceil() is used.
+
+waisroot = /xdev/mosaic/freeWAIS/irix4
+waisflags = -DDIRECT_WAIS -I$(waisroot)/include
+waislibdir = $(waisroot)/bin
+waislibs = $(waislibdir)/inv.a $(waislibdir)/wais.a $(waislibdir)/libftw.a -lm
+
+
+#### Customization flags:
+#### . If you want Mosaic to come up with monochrome colors by default,
+####   use -DMONO_DEFAULT
+#### . If you want to define the default Mosaic home page, set
+####   -DHOME_PAGE_DEFAULT=\\\"url\\\"
+#### . If you want to define the default Mosaic documentation directory
+####   (should be a URL), set -DDOCS_DIRECTORY_DEFAULT=\\\"url\\\"
+#### . Other things you can define are spelled out in src/mosaic.h.
+customflags =
+
+
+
+#### SOCKS SUPPORT
+####
+#### SOCKS is a toolkit that allows Internet applications to be
+#### operated on systems inside firewalls in some instances.  This
+#### version of Mosaic includes support for compiling with SOCKS
+#### support enabled; you will need the version of SOCKS found at:
+####
+####   file://ftp.nec.com/pub/security/socks.cstc
+####
+#### SOCKS and the SOCKS support code in Mosaic are NOT supported by
+#### NCSA; if you choose to use SOCKS and/or Mosaic compiled with
+#### SOCKS, you are on your own.  Note that DTM and WAIS have not been
+#### SOCKS-ified and therefore will probably not work under SOCKS.
+####
+#### Normally, do not compile with SOCKS enabled; therefore, use the
+#### following lines.
+socksflags = 
+sockslibs = 
+#### To compile with SOCKS support, use the following lines:
+# socksflags = -DSOCKS
+# sockslibs = /usr/local/lib/libsocks.a
+
+
+
+
+########
+########
+####      NOTE! If you get errors because of the following line, it means
+####      you are NOT using GNUs Make program. The following line is basically
+####      for the developers at NCSA to customize the build process without
+####      modifying the Makefiles, so you may comment it out without harm.
+########
+########
+-include local-defines/$(DEV_ARCH)
+
+
+
+# ---------------------- END OF CUSTOMIZABLE OPTIONS -------------------------
+
+
+CFLAGS = -g $(sysconfigflags) $(socksflags) $(prereleaseflags)
+
+# Don't worry about these -- for development purposes only.
+PURIFY = purify
+QUANTIFY = quantify
+
+default: $(dtmdirs) libwww2 libXmx libhtmlw libnut src
+	@echo \*\*\* Welcome to NCSA Mosaic.
+purifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-purifyd
+	@echo \*\*\* Welcome to Purify'd NCSA Mosaic.
+quantifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-quantifyd
+	@echo \*\*\* Welcome to Quantify'd NCSA Mosaic.
+
+libXmx::
+	@echo --- Building libXmx
+	cd libXmx; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc)"
+
+libhtmlw::
+	@echo --- Building libhtmlw
+	cd libhtmlw; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(xinc) -DMOTIF -DXMOSAIC"
+
+libwww2::
+	@echo --- Building libwww2
+	cd libwww2; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(waisflags) $(krbflags) $(xinc)"
+
+libnut::
+	@echo --- Building libnut
+	cd libnut; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag)"
+
+src::
+	@echo --- Building src
+	cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
+
+src-purifyd::
+	@echo --- Building Purify'd src
+	cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
+
+src-quantifyd::
+	@echo --- Building Quantify'd src
+	cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
+
+libnet::
+	@echo --- Building libnet
+	cd libnet; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc) $(dtmflags)"
+
+libdtm::
+	@echo --- Building libdtm
+	cd libdtm; $(MAKE) $(dtmmachtype) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc) $(dtmflags)"
+
+clean:
+	cd libXmx; $(MAKE) $@
+	cd libhtmlw; $(MAKE) $@
+	cd libwww2; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+	cd libnet; $(MAKE) $@
+	cd libdtm; $(MAKE) $@
+	cd libnut; $(MAKE) $@
+
+wclean:
+	cd libhtmlw; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+
+commit:
+	cvs commit
+update:
+	cvs update
+countlines:
+	wc libdtm/*.[ch] libnet/*.[ch] libXmx/*.[ch] libhtmlw/*.[ch] libwww2/*.[ch] src/*.[ch]
+replicate:
+	cp Makefile Makefile.sun
+	cp Makefile Makefile.ibm
+	cp Makefile Makefile.dec
+	cp Makefile Makefile.alpha
+	cp Makefile Makefile.hp
+prune:
+	mv Makefile.sun Makefile.sun.old
+	mv Makefile.ibm Makefile.ibm.old
+	mv Makefile.dec Makefile.dec.old
+	mv Makefile.alpha Makefile.alpha.old
+	mv Makefile.hp Makefile.hp.old
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/makefiles/Makefile.solaris-23 mosaic4_2/makefiles/Makefile.solaris-23
--- mosaic4_2.orig/makefiles/Makefile.solaris-23	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/makefiles/Makefile.solaris-23	1996-06-12 07:45:32.000000000 +0800
@@ -0,0 +1,304 @@
+# Toplevel Makefile for NCSA Mosaic.
+
+# You shouldn't need to touch any of the Makefiles in the various
+# subdirectories if you configure this Makefile correctly.
+
+# If you need to make serious changes to get Mosaic to compile on your
+# platform, send context diffs to mosaic-x@ncsa.uiuc.edu.
+
+# -------------------------- CUSTOMIZABLE OPTIONS ----------------------------
+
+prereleaseflags = -DPRERELEASE
+
+RANLIB = /bin/true
+#### On non-SGI's, this should be ranlib.
+# RANLIB = ranlib
+
+#CC = cc
+#### On Sun's, this should be gcc (ANSI required).
+CC = gcc
+
+#### Linker Flags -- Primarily for linking static on linux-elf.
+#ldflags = -static
+ldflags =
+
+#### For a few files in the source, some compilers may need to be kicked
+#### in K&R mode.  E.g., on SGI's, -cckr does this.
+# knrflag = -cckr
+#### On most systems, no flag is needed.
+knrflag =
+
+
+#### Random system configuration flags.
+#### --> *** For Motif 1.2 ON ANY PLATFORM, do -DMOTIF1_2 *** <--
+#### For IBM AIX 3.2, do -D_BSD
+#### For NeXT, do -DNEXT
+#### For HP/UX, do -Aa -D_HPUX_SOURCE
+#### For Dell SVR4, do -DSVR4
+#### For Solaris, do -DSVR4 -DSOLARIS
+#### For Esix 4.0.4 and Solaris x86 2.1, do -DSVR4
+#### For Convex whatever, do -DCONVEX
+#### For SCO ODT 3.0, do -DSCO -DSVR4 -DMOTIF1_2
+#### For Motorola SVR4, do -DSVR4 -DMOTOROLA -DMOTIF1_2
+sysconfigflags = -DSOLARIS -DSVR4 -DMOTIF1_2 -DSOLARIS23
+
+#### System libraries.
+# syslibs = -lPW -lsun -lmalloc
+#### For AIX 3.2
+# syslibs = -lPW -lbsd
+#### For most other Motif platforms:
+# syslibs = -lPW
+#### For Sun's and Ultrix and HP and BSD/386:
+# syslibs =
+#### For Sun's with no DNS:
+# syslibs = -lresolv
+#### For SCO ODT:
+# syslibs = -lPW -lsocket -lmalloc
+#### For Dell SVR4:
+# syslibs = -lnsl -lsocket -lc -lucb
+#### For Solaris (2.x)  --nsl does not link correctly staticly.
+syslibs = -lnsl /usr/lib/libsocket.a /usr/ccs/lib/libgen.a
+# /usr/lib/libelf.a /usr/ucblib/libucb.a
+#### For Motorola SVR4:
+# syslibs = -lnsl -lsocket -lgen
+
+
+#### X include file locations -- if your platform puts the X include
+#### files in a strange place, set this variable appropriately.  Else
+#### don't worry about it.
+#### HP X11R4 version:
+# xinc = -I/usr/include/Motif1.1 -I/usr/include/X11R4
+#### HP X11R5 version:
+# xinc = -I/usr/include/Motif1.2 -I/usr/local/X11R5/include
+#### NeXT version:
+# xinc = -I/usr/include/X11
+#### BSD/386
+# xinc = -I/usr/X11/include
+#### Solaris 2.x (Patched X11R5 and Motif libs)
+xinc = -I/home/opt/SUNWmotif/include -I/usr/openwin/include
+
+#### X library locations.
+# xlibs = -lXm_s -lXmu -lXt_s -lX11_s
+#### For Sun's (at least running stock X/Motif as installed on our machines):
+# xlibs = /usr/lib/libXm.a /usr/lib/libXmu.a /usr/lib/libXt.a /usr/lib/libXext.a /usr/lib/libX11.a -lm
+#### For HP-UX 8.00:
+# xlibs = -L/usr/lib/Motif1.1 -lXm -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For HP-UX 9.01: The X11R5 libraries are here on our systems
+# xlibs = -L/usr/lib/Motif1.2 -lXm -L/usr/lib/X11R5 -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For NeXT:
+# xlibs = -L/usr/lib/X11 -lXm -lXmu -lXt -lX11
+#### For Dell SVR4:
+# xlibs = -L/usr/X5/lib -lXm -lXmu -lXt -lXext -lX11
+#### For Solaris (2.x) (Use static to go from machine to machine)
+xlibs = -L/usr/openwin/lib
+xlibs += /home/opt/SUNWmotif/lib/libXm.a /usr/openwin/lib/libXmu.a
+xlibs += /usr/openwin/lib/libXt.a /usr/openwin/lib/libXext.a
+xlibs += -lX11 /usr/lib/libm.a
+#### For SCO ODT 3.0 (I'm told that -lXtXm_s is *not* a typo :-):
+# xlibs = -lXtXm_s -lXmu -lX11_s
+#### For nearly everyone else:
+# xlibs = -lXm -lXmu -lXt -lX11
+#### For BSD/386:
+# xlibs = -L/usr/X11/lib -lXm -lXmu -lXt -lX11
+#### For Motorola SVR4:
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+
+
+#### DTM AND HDF SUPPORT; READ CAREFULLY
+
+#### If you want to compile with DTM and HDF support, you should leave
+#### the following lines uncommented and make sure you have a copy of
+#### HDF 3.3 (r1 or later) installed and ready.  You can find HDF on
+#### ftp.ncsa.uiuc.edu in /HDF.
+
+#### If you do not want to compile with DTM and HDF support, comment
+#### the following lines out.  (If you are compiling from source for
+#### the first time, you should probably not bother with HDF and DTM
+#### support.)
+
+#### dtmmachtype needs to be set to one of the following:
+####   sun, sgi, dec, ibm, next, cray, convex
+#### If your platform is not one of the above, then either do not compile
+#### with HDF/DTM support or try hacking libdtm/makefile.
+
+#dtmmachtype = solaris
+#dtmdirs = libdtm libnet
+#dtmlibs = ../libnet/libnet.a ../libdtm/libdtm.a
+#dtmflags = -DHAVE_DTM -I.. -I../libnet
+#hdfdir = /hdf2/install/solaris
+#hdflibs = $(hdfdir)/lib/libmfhdf.a $(hdfdir)/lib/libdf.a
+#hdfflags = -DHAVE_HDF -DHDF -I$(hdfdir)/include
+
+#### PNG SUPPORT
+#### For inline PNG support, the following should be defined:
+#### The libraries currently used are PNGLIB 0.81 and ZLIB 0.95
+
+pngdir = /xdev/mosaic/libpng/solaris-23
+pnglibdir = $(pngdir)/lib
+pngincludedir = $(pngdir)/include
+pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a -lm
+pngflags =  -I$(pngincludedir) -DHAVE_PNG
+
+#### JPEG SUPPORT
+#### For inline JPEG support, the following should be defined:
+#### The library used is Independent JPEG Group (IJG's) 5.0a.
+
+jpegdir = /xdev/mosaic/libjpeg/solaris-23
+jpeglibs = $(jpegdir)/lib/libjpeg.a
+jpegflags = -I$(jpegdir)/include -DHAVE_JPEG
+
+
+#### KERBEROS SUPPORT
+####
+#### If you want Mosaic to support Kerberos authentication, set the 
+#### following flags appropriately.  You can support Kerberos V4 and/or V5,
+#### although it's most likely that your realm supports one or the other.
+#### To enable DES-encryption of HTTP messages via Kerberos key exchange, 
+#### define the KRB-ENCRYPT flag.
+
+##krb4dir   = /usr/athena
+#krb4dir   = /xdev/mosaic/libkrb4/solaris-23
+#krb4libs  = $(krb4dir)/lib/libkrb.a $(krb4dir)/lib/libdes.a
+#krb4flags = -DKRB4 -I$(krb4dir)/include
+
+##krb5dir   = /krb5
+#krb5dir   = /xdev/mosaic/libkrb5/solaris-23
+#krb5libs  = $(krb5dir)/lib/libkrb5.a $(krb5dir)/lib/libcrypto.a $(krb5dir)/util/et/libcom_err.a
+#krb5flags = -DKRB5 -I$(krb5dir)/include -I$(krb5dir)/include/krb5
+
+#Do not comment out.
+krbflags  = $(krb4flags) $(krb5flags)
+krblibs   = $(krb4libs) $(krb5libs) 
+
+
+#### DIRECT WAIS SUPPORT
+
+#### If you want to have Mosaic be able to communicate directly with
+#### WAIS servers, do set the following flags appropriately.  We
+#### recommend linking with CNIDR's freeWAIS 0.5 distribution; other
+#### WAIS distributions may work but we have not tested them with
+#### Mosaic.  freeWAIS 0.5 can currently (Sept.1995) be found at
+#### ftp://sunsite.unc.edu/pub/wais/servers/freeWAIS 
+
+#### If you do not wish to link to the WAIS libraries, then comment
+#### the following lines out.  Mosaic will then communicate with WAIS
+#### servers via a HTTP gateway.
+
+#### -lm is required for freeWAIS 0.5, as ceil() is used.
+
+waisroot = /xdev/mosaic/freeWAIS/solaris23
+waisflags = -DDIRECT_WAIS -I$(waisroot)/include
+waislibdir = $(waisroot)/bin
+waislibs = $(waislibdir)/inv.a $(waislibdir)/wais.a $(waislibdir)/libftw.a -lm
+
+
+
+#### Customization flags:
+#### . If you want Mosaic to come up with monochrome colors by default,
+####   use -DMONO_DEFAULT
+#### . If you want to define the default Mosaic home page, set
+####   -DHOME_PAGE_DEFAULT=\\\"url\\\"
+#### . If you want to define the default Mosaic documentation directory
+####   (should be a URL), set -DDOCS_DIRECTORY_DEFAULT=\\\"url\\\"
+#### . Other things you can define are spelled out in src/mosaic.h.
+customflags =
+
+
+
+
+########
+########
+####      NOTE! If you get errors because of the following line, it means
+####      you are NOT using GNUs Make program. The following line is basically
+####      for the developers at NCSA to customize the build process without
+####      modifying the Makefiles, so you may comment it out without harm.
+########
+########
+-include local-defines/$(DEV_ARCH)
+
+
+
+# ---------------------- END OF CUSTOMIZABLE OPTIONS -------------------------
+
+
+CFLAGS = -g $(sysconfigflags) $(prereleaseflags)
+
+# Don't worry about these -- for development purposes only.
+PURIFY = purify
+QUANTIFY = quantify
+
+default: $(dtmdirs) libwww2 libXmx libhtmlw libnut src
+	@echo \*\*\* Welcome to NCSA Mosaic.
+purifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-purifyd
+	@echo \*\*\* Welcome to Purify'd NCSA Mosaic.
+quantifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-quantifyd
+	@echo \*\*\* Welcome to Quantify'd NCSA Mosaic.
+
+libXmx::
+	@echo --- Building libXmx
+	cd libXmx; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc)"
+
+libhtmlw::
+	@echo --- Building libhtmlw
+	cd libhtmlw; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(xinc) -DMOTIF -DXMOSAIC"
+
+libwww2::
+	@echo --- Building libwww2
+	cd libwww2; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(waisflags) $(krbflags) $(xinc)"
+
+
+libnut::
+	@echo --- Building libnut
+	cd libnut; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag)"
+
+src::
+	@echo --- Building src
+	cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
+
+src-purifyd::
+	@echo --- Building Purify'd src
+	cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
+
+src-quantifyd::
+	@echo --- Building Quantify'd src
+	cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
+
+libnet::
+	@echo --- Building libnet
+	cd libnet; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+libdtm::
+	@echo --- Building libdtm
+	cd libdtm; $(MAKE) $(dtmmachtype) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+clean:
+	cd libXmx; $(MAKE) $@
+	cd libhtmlw; $(MAKE) $@
+	cd libwww2; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+	cd libnet; $(MAKE) $@
+	cd libdtm; $(MAKE) $@
+	cd libnut; $(MAKE) $@
+
+wclean:
+	cd libhtmlw; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+
+commit:
+	cvs commit
+update:
+	cvs update
+countlines:
+	wc libdtm/*.[ch] libnet/*.[ch] libXmx/*.[ch] libhtmlw/*.[ch] libwww2/*.[ch] src/*.[ch]
+replicate:
+	cp Makefile Makefile.sun
+	cp Makefile Makefile.ibm
+	cp Makefile Makefile.dec
+	cp Makefile Makefile.alpha
+	cp Makefile Makefile.hp
+prune:
+	mv Makefile.sun Makefile.sun.old
+	mv Makefile.ibm Makefile.ibm.old
+	mv Makefile.dec Makefile.dec.old
+	mv Makefile.alpha Makefile.alpha.old
+	mv Makefile.hp Makefile.hp.old
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/makefiles/Makefile.solaris-24 mosaic4_2/makefiles/Makefile.solaris-24
--- mosaic4_2.orig/makefiles/Makefile.solaris-24	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/makefiles/Makefile.solaris-24	1996-06-12 07:45:33.000000000 +0800
@@ -0,0 +1,303 @@
+# Toplevel Makefile for NCSA Mosaic.
+
+# You shouldn't need to touch any of the Makefiles in the various
+# subdirectories if you configure this Makefile correctly.
+
+# If you need to make serious changes to get Mosaic to compile on your
+# platform, send context diffs to mosaic-x@ncsa.uiuc.edu.
+
+# -------------------------- CUSTOMIZABLE OPTIONS ----------------------------
+
+prereleaseflags = -DPRERELEASE
+
+RANLIB = /bin/true
+#### On non-SGI's, this should be ranlib.
+# RANLIB = ranlib
+
+#CC = cc
+#### On Sun's, this should be gcc (ANSI required).
+CC = gcc
+
+#### Linker Flags -- Primarily for linking static on linux-elf.
+#ldflags = -static
+ldflags =
+
+#### For a few files in the source, some compilers may need to be kicked
+#### in K&R mode.  E.g., on SGI's, -cckr does this.
+# knrflag = -cckr
+#### On most systems, no flag is needed.
+knrflag =
+
+
+#### Random system configuration flags.
+#### --> *** For Motif 1.2 ON ANY PLATFORM, do -DMOTIF1_2 *** <--
+#### For IBM AIX 3.2, do -D_BSD
+#### For NeXT, do -DNEXT
+#### For HP/UX, do -Aa -D_HPUX_SOURCE
+#### For Dell SVR4, do -DSVR4
+#### For Solaris, do -DSVR4 -DSOLARIS
+#### For Esix 4.0.4 and Solaris x86 2.1, do -DSVR4
+#### For Convex whatever, do -DCONVEX
+#### For SCO ODT 3.0, do -DSCO -DSVR4 -DMOTIF1_2
+#### For Motorola SVR4, do -DSVR4 -DMOTOROLA -DMOTIF1_2
+sysconfigflags = -DSVR4 -DMOTIF1_2 -DSOLARIS24
+
+#### System libraries.
+# syslibs = -lPW -lsun -lmalloc
+#### For AIX 3.2
+# syslibs = -lPW -lbsd
+#### For most other Motif platforms:
+# syslibs = -lPW
+#### For Sun's and Ultrix and HP and BSD/386:
+# syslibs =
+#### For Sun's with no DNS:
+# syslibs = -lresolv
+#### For SCO ODT:
+# syslibs = -lPW -lsocket -lmalloc
+#### For Dell SVR4:
+# syslibs = -lnsl -lsocket -lc -lucb
+#### For Solaris (2.x)  --nsl does not link correctly staticly.
+syslibs = -lnsl /usr/lib/libsocket.a /usr/ccs/lib/libgen.a
+#### For Motorola SVR4:
+# syslibs = -lnsl -lsocket -lgen
+
+
+#### X include file locations -- if your platform puts the X include
+#### files in a strange place, set this variable appropriately.  Else
+#### don't worry about it.
+#### HP X11R4 version:
+# xinc = -I/usr/include/Motif1.1 -I/usr/include/X11R4
+#### HP X11R5 version:
+# xinc = -I/usr/include/Motif1.2 -I/usr/local/X11R5/include
+#### NeXT version:
+# xinc = -I/usr/include/X11
+#### BSD/386
+# xinc = -I/usr/X11/include
+#### Solaris 2.x (Patched X11R5 and Motif libs)
+xinc = -I/usr/openwin/include -I/usr/dt/include
+
+#### X library locations.
+# xlibs = -lXm_s -lXmu -lXt_s -lX11_s
+#### For Sun's (at least running stock X/Motif as installed on our machines):
+# xlibs = /usr/lib/libXm.a /usr/lib/libXmu.a /usr/lib/libXt.a /usr/lib/libXext.a /usr/lib/libX11.a -lm
+#### For HP-UX 8.00:
+# xlibs = -L/usr/lib/Motif1.1 -lXm -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For HP-UX 9.01: The X11R5 libraries are here on our systems
+# xlibs = -L/usr/lib/Motif1.2 -lXm -L/usr/lib/X11R5 -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For NeXT:
+# xlibs = -L/usr/lib/X11 -lXm -lXmu -lXt -lX11
+#### For Dell SVR4:
+# xlibs = -L/usr/X5/lib -lXm -lXmu -lXt -lXext -lX11
+#### For Solaris (2.x) (Use static to go from machine to machine)
+xlibs = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/dt/lib -lXm
+xlibs += /usr/openwin/lib/libXmu.a /usr/openwin/lib/libXt.a
+xlibs += /usr/openwin/lib/libXext.a -lX11
+xlibs += /usr/lib/libm.a
+#### For SCO ODT 3.0 (I'm told that -lXtXm_s is *not* a typo :-):
+# xlibs = -lXtXm_s -lXmu -lX11_s
+#### For nearly everyone else:
+# xlibs = -lXm -lXmu -lXt -lX11
+#### For BSD/386:
+# xlibs = -L/usr/X11/lib -lXm -lXmu -lXt -lX11
+#### For Motorola SVR4:
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+
+
+#### DTM AND HDF SUPPORT; READ CAREFULLY
+
+#### If you want to compile with DTM and HDF support, you should leave
+#### the following lines uncommented and make sure you have a copy of
+#### HDF 3.3 (r1 or later) installed and ready.  You can find HDF on
+#### ftp.ncsa.uiuc.edu in /HDF.
+
+#### If you do not want to compile with DTM and HDF support, comment
+#### the following lines out.  (If you are compiling from source for
+#### the first time, you should probably not bother with HDF and DTM
+#### support.)
+
+#### dtmmachtype needs to be set to one of the following:
+####   sun, sgi, dec, ibm, next, cray, convex
+#### If your platform is not one of the above, then either do not compile
+#### with HDF/DTM support or try hacking libdtm/makefile.
+
+#dtmmachtype = solaris
+#dtmdirs = libdtm libnet
+#dtmlibs = ../libnet/libnet.a ../libdtm/libdtm.a
+#dtmflags = -DHAVE_DTM -I.. -I../libnet
+#hdfdir = /hdf2/install/solaris
+#hdflibs = $(hdfdir)/lib/libmfhdf.a $(hdfdir)/lib/libdf.a
+#hdfflags = -DHAVE_HDF -DHDF -I$(hdfdir)/include
+
+#### PNG SUPPORT
+#### For inline PNG support, the following should be defined:
+#### The libraries currently used are PNGLIB 0.81 and ZLIB 0.95
+
+pngdir = /xdev/mosaic/libpng/solaris-24
+pnglibdir = $(pngdir)/lib
+pngincludedir = $(pngdir)/include
+pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a -lm
+pngflags =  -I$(pngincludedir) -DHAVE_PNG
+
+#### JPEG SUPPORT
+#### For inline JPEG support, the following should be defined:
+#### The library used is Independent JPEG Group (IJG's) 5.0a.
+
+jpegdir = /xdev/mosaic/libjpeg/solaris-24
+jpeglibs = $(jpegdir)/lib/libjpeg.a
+jpegflags = -I$(jpegdir)/include -DHAVE_JPEG
+
+
+#### KERBEROS SUPPORT
+####
+#### If you want Mosaic to support Kerberos authentication, set the 
+#### following flags appropriately.  You can support Kerberos V4 and/or V5,
+#### although it's most likely that your realm supports one or the other.
+#### To enable DES-encryption of HTTP messages via Kerberos key exchange, 
+#### define the KRB-ENCRYPT flag.
+
+##krb4dir   = /usr/athena
+#krb4dir   = /xdev/mosaic/libkrb4/solaris-24
+#krb4libs  = $(krb4dir)/lib/libkrb.a $(krb4dir)/lib/libdes.a
+#krb4flags = -DKRB4 -I$(krb4dir)/include
+
+##krb5dir   = /krb5
+#krb5dir   = /xdev/mosaic/libkrb5/solaris-24
+#krb5libs  = $(krb5dir)/lib/libkrb5.a $(krb5dir)/lib/libcrypto.a $(krb5dir)/util/et/libcom_err.a
+#krb5flags = -DKRB5 -I$(krb5dir)/include -I$(krb5dir)/include/krb5
+
+#Do not comment out.
+krbflags  = $(krb4flags) $(krb5flags)
+krblibs   = $(krb4libs) $(krb5libs) 
+
+
+#### DIRECT WAIS SUPPORT
+
+#### If you want to have Mosaic be able to communicate directly with
+#### WAIS servers, do set the following flags appropriately.  We
+#### recommend linking with CNIDR's freeWAIS 0.5 distribution; other
+#### WAIS distributions may work but we have not tested them with
+#### Mosaic.  freeWAIS 0.5 can currently (Sept.1995) be found at
+#### ftp://sunsite.unc.edu/pub/wais/servers/freeWAIS 
+
+#### If you do not wish to link to the WAIS libraries, then comment
+#### the following lines out.  Mosaic will then communicate with WAIS
+#### servers via a HTTP gateway.
+
+#### -lm is required for freeWAIS 0.5, as ceil() is used.
+
+waisroot = /xdev/mosaic/freeWAIS/solaris24
+waisflags = -DDIRECT_WAIS -I$(waisroot)/include
+waislibdir = $(waisroot)/bin
+waislibs = $(waislibdir)/inv.a $(waislibdir)/wais.a $(waislibdir)/libftw.a -lm
+
+
+
+#### Customization flags:
+#### . If you want Mosaic to come up with monochrome colors by default,
+####   use -DMONO_DEFAULT
+#### . If you want to define the default Mosaic home page, set
+####   -DHOME_PAGE_DEFAULT=\\\"url\\\"
+#### . If you want to define the default Mosaic documentation directory
+####   (should be a URL), set -DDOCS_DIRECTORY_DEFAULT=\\\"url\\\"
+#### . Other things you can define are spelled out in src/mosaic.h.
+customflags =
+
+
+
+
+########
+########
+####      NOTE! If you get errors because of the following line, it means
+####      you are NOT using GNUs Make program. The following line is basically
+####      for the developers at NCSA to customize the build process without
+####      modifying the Makefiles, so you may comment it out without harm.
+########
+########
+-include local-defines/$(DEV_ARCH)
+
+
+
+# ---------------------- END OF CUSTOMIZABLE OPTIONS -------------------------
+
+
+CFLAGS = -g $(sysconfigflags) $(prereleaseflags)
+
+# Don't worry about these -- for development purposes only.
+PURIFY = purify
+QUANTIFY = quantify
+
+default: $(dtmdirs) libwww2 libXmx libhtmlw libnut src
+	@echo \*\*\* Welcome to NCSA Mosaic.
+purifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-purifyd
+	@echo \*\*\* Welcome to Purify'd NCSA Mosaic.
+quantifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-quantifyd
+	@echo \*\*\* Welcome to Quantify'd NCSA Mosaic.
+
+libXmx::
+	@echo --- Building libXmx
+	cd libXmx; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc)"
+
+libhtmlw::
+	@echo --- Building libhtmlw
+	cd libhtmlw; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(xinc) -DMOTIF -DXMOSAIC"
+
+libwww2::
+	@echo --- Building libwww2
+	cd libwww2; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(waisflags) $(krbflags) $(xinc)"
+
+
+libnut::
+	@echo --- Building libnut
+	cd libnut; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag)"
+
+src::
+	@echo --- Building src
+	cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
+
+src-purifyd::
+	@echo --- Building Purify'd src
+	cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
+
+src-quantifyd::
+	@echo --- Building Quantify'd src
+	cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
+
+libnet::
+	@echo --- Building libnet
+	cd libnet; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+libdtm::
+	@echo --- Building libdtm
+	cd libdtm; $(MAKE) $(dtmmachtype) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+clean:
+	cd libXmx; $(MAKE) $@
+	cd libhtmlw; $(MAKE) $@
+	cd libwww2; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+	cd libnet; $(MAKE) $@
+	cd libdtm; $(MAKE) $@
+	cd libnut; $(MAKE) $@
+
+wclean:
+	cd libhtmlw; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+
+commit:
+	cvs commit
+update:
+	cvs update
+countlines:
+	wc libdtm/*.[ch] libnet/*.[ch] libXmx/*.[ch] libhtmlw/*.[ch] libwww2/*.[ch] src/*.[ch]
+replicate:
+	cp Makefile Makefile.sun
+	cp Makefile Makefile.ibm
+	cp Makefile Makefile.dec
+	cp Makefile Makefile.alpha
+	cp Makefile Makefile.hp
+prune:
+	mv Makefile.sun Makefile.sun.old
+	mv Makefile.ibm Makefile.ibm.old
+	mv Makefile.dec Makefile.dec.old
+	mv Makefile.alpha Makefile.alpha.old
+	mv Makefile.hp Makefile.hp.old
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/makefiles/Makefile.solaris-24-x86 mosaic4_2/makefiles/Makefile.solaris-24-x86
--- mosaic4_2.orig/makefiles/Makefile.solaris-24-x86	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/makefiles/Makefile.solaris-24-x86	1996-06-12 07:45:34.000000000 +0800
@@ -0,0 +1,303 @@
+# Toplevel Makefile for NCSA Mosaic.
+
+# You shouldn't need to touch any of the Makefiles in the various
+# subdirectories if you configure this Makefile correctly.
+
+# If you need to make serious changes to get Mosaic to compile on your
+# platform, send context diffs to mosaic-x@ncsa.uiuc.edu.
+
+# -------------------------- CUSTOMIZABLE OPTIONS ----------------------------
+
+prereleaseflags = -DPRERELEASE
+
+RANLIB = /bin/true
+#### On non-SGI's, this should be ranlib.
+# RANLIB = ranlib
+
+#CC = cc
+#### On Sun's, this should be gcc (ANSI required).
+CC = gcc
+
+#### Linker Flags -- Primarily for linking static on linux-elf.
+#ldflags = -static
+ldflags =
+
+#### For a few files in the source, some compilers may need to be kicked
+#### in K&R mode.  E.g., on SGI's, -cckr does this.
+# knrflag = -cckr
+#### On most systems, no flag is needed.
+knrflag =
+
+
+#### Random system configuration flags.
+#### --> *** For Motif 1.2 ON ANY PLATFORM, do -DMOTIF1_2 *** <--
+#### For IBM AIX 3.2, do -D_BSD
+#### For NeXT, do -DNEXT
+#### For HP/UX, do -Aa -D_HPUX_SOURCE
+#### For Dell SVR4, do -DSVR4
+#### For Solaris, do -DSVR4 -DSOLARIS
+#### For Esix 4.0.4 and Solaris x86 2.1, do -DSVR4
+#### For Convex whatever, do -DCONVEX
+#### For SCO ODT 3.0, do -DSCO -DSVR4 -DMOTIF1_2
+#### For Motorola SVR4, do -DSVR4 -DMOTOROLA -DMOTIF1_2
+sysconfigflags = -DSOLARIS -DSVR4 -DMOTIF1_2 -DSOLARIS24X86
+
+#### System libraries.
+# syslibs = -lPW -lsun -lmalloc
+#### For AIX 3.2
+# syslibs = -lPW -lbsd
+#### For most other Motif platforms:
+# syslibs = -lPW
+#### For Sun's and Ultrix and HP and BSD/386:
+# syslibs =
+#### For Sun's with no DNS:
+# syslibs = -lresolv
+#### For SCO ODT:
+# syslibs = -lPW -lsocket -lmalloc
+#### For Dell SVR4:
+# syslibs = -lnsl -lsocket -lc -lucb
+#### For Solaris (2.x)  --nsl does not link correctly staticly.
+syslibs = -lnsl /usr/lib/libsocket.a /usr/ccs/lib/libgen.a
+#### For Motorola SVR4:
+# syslibs = -lnsl -lsocket -lgen
+
+
+#### X include file locations -- if your platform puts the X include
+#### files in a strange place, set this variable appropriately.  Else
+#### don't worry about it.
+#### HP X11R4 version:
+# xinc = -I/usr/include/Motif1.1 -I/usr/include/X11R4
+#### HP X11R5 version:
+# xinc = -I/usr/include/Motif1.2 -I/usr/local/X11R5/include
+#### NeXT version:
+# xinc = -I/usr/include/X11
+#### BSD/386
+# xinc = -I/usr/X11/include
+#### Solaris 2.x (Patched X11R5 and Motif libs)
+xinc = -I/usr/openwin/include -I/usr/dt/include
+
+#### X library locations.
+# xlibs = -lXm_s -lXmu -lXt_s -lX11_s
+#### For Sun's (at least running stock X/Motif as installed on our machines):
+# xlibs = /usr/lib/libXm.a /usr/lib/libXmu.a /usr/lib/libXt.a /usr/lib/libXext.a /usr/lib/libX11.a -lm
+#### For HP-UX 8.00:
+# xlibs = -L/usr/lib/Motif1.1 -lXm -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For HP-UX 9.01: The X11R5 libraries are here on our systems
+# xlibs = -L/usr/lib/Motif1.2 -lXm -L/usr/lib/X11R5 -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For NeXT:
+# xlibs = -L/usr/lib/X11 -lXm -lXmu -lXt -lX11
+#### For Dell SVR4:
+# xlibs = -L/usr/X5/lib -lXm -lXmu -lXt -lXext -lX11
+#### For Solaris (2.x) (Use static to go from machine to machine)
+xlibs = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/dt/lib -lXm
+xlibs += /usr/openwin/lib/libXmu.a /usr/openwin/lib/libXt.a
+xlibs += /usr/openwin/lib/libXext.a -lX11
+xlibs += /usr/lib/libm.a
+#### For SCO ODT 3.0 (I'm told that -lXtXm_s is *not* a typo :-):
+# xlibs = -lXtXm_s -lXmu -lX11_s
+#### For nearly everyone else:
+# xlibs = -lXm -lXmu -lXt -lX11
+#### For BSD/386:
+# xlibs = -L/usr/X11/lib -lXm -lXmu -lXt -lX11
+#### For Motorola SVR4:
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+
+
+#### DTM AND HDF SUPPORT; READ CAREFULLY
+
+#### If you want to compile with DTM and HDF support, you should leave
+#### the following lines uncommented and make sure you have a copy of
+#### HDF 3.3 (r1 or later) installed and ready.  You can find HDF on
+#### ftp.ncsa.uiuc.edu in /HDF.
+
+#### If you do not want to compile with DTM and HDF support, comment
+#### the following lines out.  (If you are compiling from source for
+#### the first time, you should probably not bother with HDF and DTM
+#### support.)
+
+#### dtmmachtype needs to be set to one of the following:
+####   sun, sgi, dec, ibm, next, cray, convex
+#### If your platform is not one of the above, then either do not compile
+#### with HDF/DTM support or try hacking libdtm/makefile.
+
+#dtmmachtype = solarisx86
+#dtmdirs = libdtm libnet
+#dtmlibs = ../libnet/libnet.a ../libdtm/libdtm.a
+#dtmflags = -DHAVE_DTM -I.. -I../libnet
+#hdfdir = /hdf2/install/solarisx86
+#hdflibs = $(hdfdir)/lib/libmfhdf.a $(hdfdir)/lib/libdf.a
+#hdfflags = -DHAVE_HDF -DHDF -I$(hdfdir)/include
+
+#### PNG SUPPORT
+#### For inline PNG support, the following should be defined:
+#### The libraries currently used are PNGLIB 0.81 and ZLIB 0.95
+
+pngdir = /xdev/mosaic/libpng/solaris-24-x86
+pnglibdir = $(pngdir)/lib
+pngincludedir = $(pngdir)/include
+pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a -lm
+pngflags =  -I$(pngincludedir) -DHAVE_PNG
+
+#### JPEG SUPPORT
+#### For inline JPEG support, the following should be defined:
+#### The library used is Independent JPEG Group (IJG's) 5.0a.
+
+jpegdir = /xdev/mosaic/libjpeg/solaris-24-x86
+jpeglibs = $(jpegdir)/lib/libjpeg.a
+jpegflags = -I$(jpegdir)/include -DHAVE_JPEG
+
+
+#### KERBEROS SUPPORT
+####
+#### If you want Mosaic to support Kerberos authentication, set the 
+#### following flags appropriately.  You can support Kerberos V4 and/or V5,
+#### although it's most likely that your realm supports one or the other.
+#### To enable DES-encryption of HTTP messages via Kerberos key exchange, 
+#### define the KRB-ENCRYPT flag.
+
+##krb4dir   = /usr/athena
+#krb4dir   = /xdev/mosaic/libkrb4/solaris-24
+#krb4libs  = $(krb4dir)/lib/libkrb.a $(krb4dir)/lib/libdes.a
+#krb4flags = -DKRB4 -I$(krb4dir)/include
+
+##krb5dir   = /krb5
+#krb5dir   = /xdev/mosaic/libkrb5/solaris-24
+#krb5libs  = $(krb5dir)/lib/libkrb5.a $(krb5dir)/lib/libcrypto.a $(krb5dir)/util/et/libcom_err.a
+#krb5flags = -DKRB5 -I$(krb5dir)/include -I$(krb5dir)/include/krb5
+
+#Do not comment out.
+krbflags  = $(krb4flags) $(krb5flags)
+krblibs   = $(krb4libs) $(krb5libs) 
+
+
+#### DIRECT WAIS SUPPORT
+
+#### If you want to have Mosaic be able to communicate directly with
+#### WAIS servers, do set the following flags appropriately.  We
+#### recommend linking with CNIDR's freeWAIS 0.5 distribution; other
+#### WAIS distributions may work but we have not tested them with
+#### Mosaic.  freeWAIS 0.5 can currently (Sept.1995) be found at
+#### ftp://sunsite.unc.edu/pub/wais/servers/freeWAIS 
+
+#### If you do not wish to link to the WAIS libraries, then comment
+#### the following lines out.  Mosaic will then communicate with WAIS
+#### servers via a HTTP gateway.
+
+#### -lm is required for freeWAIS 0.5, as ceil() is used.
+
+#waisroot = /xdev/mosaic/freeWAIS/solaris24x86
+#waisflags = -DDIRECT_WAIS -I$(waisroot)/include
+#waislibdir = $(waisroot)/bin
+#waislibs = $(waislibdir)/inv.a $(waislibdir)/wais.a $(waislibdir)/libftw.a -lm
+
+
+
+#### Customization flags:
+#### . If you want Mosaic to come up with monochrome colors by default,
+####   use -DMONO_DEFAULT
+#### . If you want to define the default Mosaic home page, set
+####   -DHOME_PAGE_DEFAULT=\\\"url\\\"
+#### . If you want to define the default Mosaic documentation directory
+####   (should be a URL), set -DDOCS_DIRECTORY_DEFAULT=\\\"url\\\"
+#### . Other things you can define are spelled out in src/mosaic.h.
+customflags =
+
+
+
+
+########
+########
+####      NOTE! If you get errors because of the following line, it means
+####      you are NOT using GNUs Make program. The following line is basically
+####      for the developers at NCSA to customize the build process without
+####      modifying the Makefiles, so you may comment it out without harm.
+########
+########
+-include local-defines/$(DEV_ARCH)
+
+
+
+# ---------------------- END OF CUSTOMIZABLE OPTIONS -------------------------
+
+
+CFLAGS = -g $(sysconfigflags) $(prereleaseflags)
+
+# Don't worry about these -- for development purposes only.
+PURIFY = purify
+QUANTIFY = quantify
+
+default: $(dtmdirs) libwww2 libXmx libhtmlw libnut src
+	@echo \*\*\* Welcome to NCSA Mosaic.
+purifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-purifyd
+	@echo \*\*\* Welcome to Purify'd NCSA Mosaic.
+quantifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-quantifyd
+	@echo \*\*\* Welcome to Quantify'd NCSA Mosaic.
+
+libXmx::
+	@echo --- Building libXmx
+	cd libXmx; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc)"
+
+libhtmlw::
+	@echo --- Building libhtmlw
+	cd libhtmlw; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(xinc) -DMOTIF -DXMOSAIC"
+
+libwww2::
+	@echo --- Building libwww2
+	cd libwww2; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(waisflags) $(krbflags) $(xinc)"
+
+
+libnut::
+	@echo --- Building libnut
+	cd libnut; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag)"
+
+src::
+	@echo --- Building src
+	cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
+
+src-purifyd::
+	@echo --- Building Purify'd src
+	cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
+
+src-quantifyd::
+	@echo --- Building Quantify'd src
+	cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
+
+libnet::
+	@echo --- Building libnet
+	cd libnet; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+libdtm::
+	@echo --- Building libdtm
+	cd libdtm; $(MAKE) $(dtmmachtype) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+clean:
+	cd libXmx; $(MAKE) $@
+	cd libhtmlw; $(MAKE) $@
+	cd libwww2; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+	cd libnet; $(MAKE) $@
+	cd libdtm; $(MAKE) $@
+	cd libnut; $(MAKE) $@
+
+wclean:
+	cd libhtmlw; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+
+commit:
+	cvs commit
+update:
+	cvs update
+countlines:
+	wc libdtm/*.[ch] libnet/*.[ch] libXmx/*.[ch] libhtmlw/*.[ch] libwww2/*.[ch] src/*.[ch]
+replicate:
+	cp Makefile Makefile.sun
+	cp Makefile Makefile.ibm
+	cp Makefile Makefile.dec
+	cp Makefile Makefile.alpha
+	cp Makefile Makefile.hp
+prune:
+	mv Makefile.sun Makefile.sun.old
+	mv Makefile.ibm Makefile.ibm.old
+	mv Makefile.dec Makefile.dec.old
+	mv Makefile.alpha Makefile.alpha.old
+	mv Makefile.hp Makefile.hp.old
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/makefiles/Makefile.sun mosaic4_2/makefiles/Makefile.sun
--- mosaic4_2.orig/makefiles/Makefile.sun	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/makefiles/Makefile.sun	1996-06-12 07:45:34.000000000 +0800
@@ -0,0 +1,299 @@
+# Toplevel Makefile for NCSA Mosaic.
+
+# You shouldn't need to touch any of the Makefiles in the various
+# subdirectories if you configure this Makefile correctly.
+
+# If you need to make serious changes to get Mosaic to compile on your
+# platform, send context diffs to mosaic-x@ncsa.uiuc.edu.
+
+# -------------------------- CUSTOMIZABLE OPTIONS ----------------------------
+
+prereleaseflags = -DPRERELEASE
+
+RANLIB = /bin/true
+#### On non-SGI's, this should be ranlib.
+RANLIB = ranlib
+
+CC = cc
+#### On Sun's, this should be gcc (ANSI required).
+CC = gcc
+
+#### Linker Flags -- Primarily for linking static on linux-elf.
+#ldflags = -static
+ldflags =
+
+#### For a few files in the source, some compilers may need to be kicked
+#### in K&R mode.  E.g., on SGI's, -cckr does this.
+knrflag = -cckr
+#### On most systems, no flag is needed.
+knrflag =
+
+
+#### Random system configuration flags.
+#### --> *** For Motif 1.2 ON ANY PLATFORM, do -DMOTIF1_2 *** <--
+#### For IBM AIX 3.2, do -D_BSD
+#### For NeXT, do -DNEXT
+#### For HP/UX, do -Aa -D_HPUX_SOURCE
+#### For Dell SVR4, do -DSVR4
+#### For Solaris, do -DSVR4 
+#### For Esix 4.0.4 and Solaris x86 2.1, do -DSVR4
+#### For Convex whatever, do -DCONVEX
+#### For SCO ODT 3.0, do -DSCO -DSVR4 -DMOTIF1_2
+#### For Motorola SVR4, do -DSVR4 -DMOTOROLA -DMOTIF1_2
+sysconfigflags = -DBROKEN_MOTIF
+
+#### System libraries.
+syslibs = -lPW -lsun -lmalloc
+#### For AIX 3.2
+# syslibs = -lPW -lbsd
+#### For most other Motif platforms:
+# syslibs = -lPW
+#### For Sun's and Ultrix and HP and BSD/386:
+syslibs =
+#### For Sun's with no DNS:
+#  syslibs = -lresolv
+#### For SCO ODT:
+# syslibs = -lPW -lsocket -lmalloc
+#### For Dell SVR4:
+# syslibs = -lnsl -lsocket -lc -lucb
+#### For Solaris (?)
+# syslibs = -lnsl -lsocket -lgen
+#### For Motorola SVR4:
+# syslibs = -lnsl -lsocket -lgen
+
+
+#### X include file locations -- if your platform puts the X include
+#### files in a strange place, set this variable appropriately.  Else
+#### don't worry about it.
+#### HP X11R4 version:
+# xinc = -I/usr/include/Motif1.1 -I/usr/include/X11R4
+#### HP X11R5 version:
+# xinc = -I/usr/include/Motif1.2 -I/usr/local/X11R5/include
+#### NeXT version:
+# xinc = -I/usr/include/X11
+#### BSD/386
+# xinc = -I/usr/X11/include
+xinc = -I/xdev/mosaic/X11R5/include
+
+#### X library locations.
+# xlibs = -lXm_s -lXmu -lXt_s -lX11_s
+#### For Sun's (at least running stock X/Motif as installed on our machines):
+xlibs = /usr/lib/libXm.a /xdev/mosaic/X11R5/lib/libXmu.a /xdev/mosaic/X11R5/lib/libXt.a /xdev/mosaic/X11R5/lib/libXext.a /xdev/mosaic/X11R5/lib/libX11.a -lm
+#### For HP-UX 8.00:
+# xlibs = -L/usr/lib/Motif1.1 -lXm -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For HP-UX 9.01: The X11R5 libraries are here on our systems
+# xlibs = -L/usr/lib/Motif1.2 -lXm -L/usr/lib/X11R5 -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For NeXT:
+# xlibs = -L/usr/lib/X11 -lXm -lXmu -lXt -lX11
+#### For Dell SVR4:
+# xlibs = -L/usr/X5/lib -lXm -lXmu -lXt -lXext -lX11
+#### For Solaris (?)
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+#### For SCO ODT 3.0 (I'm told that -lXtXm_s is *not* a typo :-):
+# xlibs = -lXtXm_s -lXmu -lX11_s
+#### For nearly everyone else:
+# xlibs = -lXm -lXmu -lXt -lX11
+#### For BSD/386:
+# xlibs = -L/usr/X11/lib -lXm -lXmu -lXt -lX11
+#### For Motorola SVR4:
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+
+
+#### DTM AND HDF SUPPORT; READ CAREFULLY
+
+#### If you want to compile with DTM and HDF support, you should leave
+#### the following lines uncommented and make sure you have a copy of
+#### HDF 3.3 (r1 or later) installed and ready.  You can find HDF on
+#### ftp.ncsa.uiuc.edu in /HDF.
+
+#### If you do not want to compile with DTM and HDF support, comment
+#### the following lines out.  (If you are compiling from source for
+#### the first time, you should probably not bother with HDF and DTM
+#### support.)
+
+#### dtmmachtype needs to be set to one of the following:
+####   sun, sgi, dec, ibm, next, cray, convex
+#### If your platform is not one of the above, then either do not compile
+#### with HDF/DTM support or try hacking libdtm/makefile.
+
+#dtmmachtype = sun
+#dtmdirs = libdtm libnet
+#dtmlibs = ../libnet/libnet.a ../libdtm/libdtm.a
+#dtmflags = -DHAVE_DTM -I.. -I../libnet
+#hdfdir = /hdf2/install/sun
+#hdflibs = $(hdfdir)/lib/libmfhdf.a $(hdfdir)/lib/libdf.a
+#hdfflags = -DHAVE_HDF -DHDF -I$(hdfdir)/include
+
+
+#### PNG SUPPORT
+#### For inline PNG support, the following should be defined:
+#### The libraries currently used are PNGLIB 0.81 and ZLIB 0.95
+
+pngdir = /xdev/mosaic/libpng/sun
+pnglibdir = $(pngdir)/lib
+pngincludedir = $(pngdir)/include
+pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a -lm
+pngflags =  -I$(pngincludedir) -DHAVE_PNG
+
+
+#### JPEG SUPPORT
+#### For inline JPEG support, the following should be defined:
+#### The library used is Independent JPEG Group (IJG's) 5.0a.
+
+jpegdir = /xdev/mosaic/libjpeg/sun
+jpeglibs = $(jpegdir)/lib/libjpeg.a
+jpegflags = -I$(jpegdir)/include -DHAVE_JPEG
+
+
+#### KERBEROS SUPPORT
+####
+#### If you want Mosaic to support Kerberos authentication, set the 
+#### following flags appropriately.  You can support Kerberos V4 and/or V5,
+#### although it's most likely that your realm supports one or the other.
+#### To enable DES-encryption of HTTP messages via Kerberos key exchange, 
+#### define the KRB-ENCRYPT flag.
+
+##krb4dir   = /usr/athena
+krb4dir   = /xdev/mosaic/libkrb4/sun
+krb4libs  = $(krb4dir)/lib/libkrb.a $(krb4dir)/lib/libdes.a
+krb4flags = -DKRB4 -I$(krb4dir)/include
+
+##krb5dir   = /krb5
+krb5dir   = /xdev/mosaic/libkrb5/sun
+krb5libs  = $(krb5dir)/lib/libkrb5.a $(krb5dir)/lib/libcrypto.a $(krb5dir)/util/et/libcom_err.a
+krb5flags = -DKRB5 -I$(krb5dir)/include -I$(krb5dir)/include/krb5
+
+#Do not comment out.
+krbflags  = $(krb4flags) $(krb5flags)
+krblibs   = $(krb4libs) $(krb5libs) 
+
+
+#### DIRECT WAIS SUPPORT
+
+#### If you want to have Mosaic be able to communicate directly with
+#### WAIS servers, do set the following flags appropriately.  We
+#### recommend linking with CNIDR's freeWAIS 0.5 distribution; other
+#### WAIS distributions may work but we have not tested them with
+#### Mosaic.  freeWAIS 0.5 can currently (Sept.1995) be found at
+#### ftp://sunsite.unc.edu/pub/wais/servers/freeWAIS 
+
+#### If you do not wish to link to the WAIS libraries, then comment
+#### the following lines out.  Mosaic will then communicate with WAIS
+#### servers via a HTTP gateway.
+
+#### -lm is required for freeWAIS 0.5, as ceil() is used.
+
+waisroot = /xdev/mosaic/freeWAIS/sun4
+waisflags = -DDIRECT_WAIS -I$(waisroot)/include
+waislibdir = $(waisroot)/bin
+waislibs = $(waislibdir)/inv.a $(waislibdir)/wais.a $(waislibdir)/libftw.a -lm
+
+
+#### Customization flags:
+#### . If you want Mosaic to come up with monochrome colors by default,
+####   use -DMONO_DEFAULT
+#### . If you want to define the default Mosaic home page, set
+####   -DHOME_PAGE_DEFAULT=\\\"url\\\"
+#### . If you want to define the default Mosaic documentation directory
+####   (should be a URL), set -DDOCS_DIRECTORY_DEFAULT=\\\"url\\\"
+#### . Other things you can define are spelled out in src/mosaic.h.
+customflags =
+
+
+
+
+########
+########
+####      NOTE! If you get errors because of the following line, it means
+####      you are NOT using GNUs Make program. The following line is basically
+####      for the developers at NCSA to customize the build process without
+####      modifying the Makefiles, so you may comment it out without harm.
+########
+########
+-include local-defines/$(DEV_ARCH)
+
+
+
+# ---------------------- END OF CUSTOMIZABLE OPTIONS -------------------------
+
+
+CFLAGS = -g $(sysconfigflags) $(prereleaseflags)
+
+# Don't worry about these -- for development purposes only.
+PURIFY = purify
+QUANTIFY = quantify
+
+default: $(dtmdirs) libwww2 libXmx libhtmlw libnut src
+	@echo \*\*\* Welcome to NCSA Mosaic.
+purifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-purifyd
+	@echo \*\*\* Welcome to Purify'd NCSA Mosaic.
+quantifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-quantifyd
+	@echo \*\*\* Welcome to Quantify'd NCSA Mosaic.
+
+libXmx::
+	@echo --- Building libXmx
+	cd libXmx; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc)"
+
+libhtmlw::
+	@echo --- Building libhtmlw
+	cd libhtmlw; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(xinc) -DMOTIF -DXMOSAIC"
+
+libwww2::
+	@echo --- Building libwww2
+	cd libwww2; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(waisflags) $(krbflags) $(xinc)"
+
+libnut::
+	@echo --- Building libnut
+	cd libnut; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag)"
+
+src::
+	@echo --- Building src
+	cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
+
+src-purifyd::
+	@echo --- Building Purify'd src
+	cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
+
+src-quantifyd::
+	@echo --- Building Quantify'd src
+	cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
+
+libnet::
+	@echo --- Building libnet
+	cd libnet; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+libdtm::
+	@echo --- Building libdtm
+	cd libdtm; $(MAKE) $(dtmmachtype) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+clean:
+	cd libXmx; $(MAKE) $@
+	cd libhtmlw; $(MAKE) $@
+	cd libwww2; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+	cd libnet; $(MAKE) $@
+	cd libdtm; $(MAKE) $@
+	cd libnut; $(MAKE) $@
+
+wclean:
+	cd libhtmlw; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+
+commit:
+	cvs commit
+update:
+	cvs update
+countlines:
+	wc libdtm/*.[ch] libnet/*.[ch] libXmx/*.[ch] libhtmlw/*.[ch] libwww2/*.[ch] src/*.[ch]
+replicate:
+	cp Makefile Makefile.sun
+	cp Makefile Makefile.ibm
+	cp Makefile Makefile.dec
+	cp Makefile Makefile.alpha
+	cp Makefile Makefile.hp
+prune:
+	mv Makefile.sun Makefile.sun.old
+	mv Makefile.ibm Makefile.ibm.old
+	mv Makefile.dec Makefile.dec.old
+	mv Makefile.alpha Makefile.alpha.old
+	mv Makefile.hp Makefile.hp.old
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/makefiles/Makefile.sun-lresolv mosaic4_2/makefiles/Makefile.sun-lresolv
--- mosaic4_2.orig/makefiles/Makefile.sun-lresolv	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/makefiles/Makefile.sun-lresolv	1996-06-12 07:45:35.000000000 +0800
@@ -0,0 +1,297 @@
+# Toplevel Makefile for NCSA Mosaic.
+
+# You shouldn't need to touch any of the Makefiles in the various
+# subdirectories if you configure this Makefile correctly.
+
+# If you need to make serious changes to get Mosaic to compile on your
+# platform, send context diffs to mosaic-x@ncsa.uiuc.edu.
+
+# -------------------------- CUSTOMIZABLE OPTIONS ----------------------------
+
+prereleaseflags = -DPRERELEASE
+
+RANLIB = /bin/true
+#### On non-SGI's, this should be ranlib.
+RANLIB = ranlib
+
+CC = cc
+#### On Sun's, this should be gcc (ANSI required).
+CC = gcc
+
+#### Linker Flags -- Primarily for linking static on linux-elf.
+#ldflags = -static
+ldflags =
+
+#### For a few files in the source, some compilers may need to be kicked
+#### in K&R mode.  E.g., on SGI's, -cckr does this.
+knrflag = -cckr
+#### On most systems, no flag is needed.
+knrflag =
+
+
+#### Random system configuration flags.
+#### --> *** For Motif 1.2 ON ANY PLATFORM, do -DMOTIF1_2 *** <--
+#### For IBM AIX 3.2, do -D_BSD
+#### For NeXT, do -DNEXT
+#### For HP/UX, do -Aa -D_HPUX_SOURCE
+#### For Dell SVR4, do -DSVR4
+#### For Solaris, do -DSVR4 
+#### For Esix 4.0.4 and Solaris x86 2.1, do -DSVR4
+#### For Convex whatever, do -DCONVEX
+#### For SCO ODT 3.0, do -DSCO -DSVR4 -DMOTIF1_2
+#### For Motorola SVR4, do -DSVR4 -DMOTOROLA -DMOTIF1_2
+sysconfigflags = -DBROKEN_MOTIF
+
+#### System libraries.
+syslibs = -lPW -lsun -lmalloc
+#### For AIX 3.2
+# syslibs = -lPW -lbsd
+#### For most other Motif platforms:
+# syslibs = -lPW
+#### For Sun's and Ultrix and HP and BSD/386:
+# syslibs =
+#### For Sun's with no DNS:
+syslibs = -lresolv
+#### For SCO ODT:
+# syslibs = -lPW -lsocket -lmalloc
+#### For Dell SVR4:
+# syslibs = -lnsl -lsocket -lc -lucb
+#### For Solaris (?)
+# syslibs = -lnsl -lsocket -lgen
+#### For Motorola SVR4:
+# syslibs = -lnsl -lsocket -lgen
+
+
+#### X include file locations -- if your platform puts the X include
+#### files in a strange place, set this variable appropriately.  Else
+#### don't worry about it.
+#### HP X11R4 version:
+# xinc = -I/usr/include/Motif1.1 -I/usr/include/X11R4
+#### HP X11R5 version:
+# xinc = -I/usr/include/Motif1.2 -I/usr/local/X11R5/include
+#### NeXT version:
+# xinc = -I/usr/include/X11
+#### BSD/386
+# xinc = -I/usr/X11/include
+xinc = -I/xdev/mosaic/X11R5/include
+
+#### X library locations.
+# xlibs = -lXm_s -lXmu -lXt_s -lX11_s
+#### For Sun's (at least running stock X/Motif as installed on our machines):
+xlibs = /usr/lib/libXm.a /xdev/mosaic/X11R5/lib/libXmu.a /xdev/mosaic/X11R5/lib/libXt.a /xdev/mosaic/X11R5/lib/libXext.a /xdev/mosaic/X11R5/lib/libX11.a -lm
+#### For HP-UX 8.00:
+# xlibs = -L/usr/lib/Motif1.1 -lXm -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For HP-UX 9.01: The X11R5 libraries are here on our systems
+# xlibs = -L/usr/lib/Motif1.2 -lXm -L/usr/lib/X11R5 -L/usr/lib/X11R4 -lXmu -lXt -lX11
+#### For NeXT:
+# xlibs = -L/usr/lib/X11 -lXm -lXmu -lXt -lX11
+#### For Dell SVR4:
+# xlibs = -L/usr/X5/lib -lXm -lXmu -lXt -lXext -lX11
+#### For Solaris (?)
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+#### For SCO ODT 3.0 (I'm told that -lXtXm_s is *not* a typo :-):
+# xlibs = -lXtXm_s -lXmu -lX11_s
+#### For nearly everyone else:
+# xlibs = -lXm -lXmu -lXt -lX11
+#### For BSD/386:
+# xlibs = -L/usr/X11/lib -lXm -lXmu -lXt -lX11
+#### For Motorola SVR4:
+# xlibs = -lXm -lXmu -lXt -lXext -lX11 -lm
+
+
+#### DTM AND HDF SUPPORT; READ CAREFULLY
+
+#### If you want to compile with DTM and HDF support, you should leave
+#### the following lines uncommented and make sure you have a copy of
+#### HDF 3.3 (r1 or later) installed and ready.  You can find HDF on
+#### ftp.ncsa.uiuc.edu in /HDF.
+
+#### If you do not want to compile with DTM and HDF support, comment
+#### the following lines out.  (If you are compiling from source for
+#### the first time, you should probably not bother with HDF and DTM
+#### support.)
+
+#### dtmmachtype needs to be set to one of the following:
+####   sun, sgi, dec, ibm, next, cray, convex
+#### If your platform is not one of the above, then either do not compile
+#### with HDF/DTM support or try hacking libdtm/makefile.
+
+#dtmmachtype = sun
+#dtmdirs = libdtm libnet
+#dtmlibs = ../libnet/libnet.a ../libdtm/libdtm.a
+#dtmflags = -DHAVE_DTM -I.. -I../libnet
+#hdfdir = /hdf2/install/sun
+#hdflibs = $(hdfdir)/lib/libmfhdf.a $(hdfdir)/lib/libdf.a
+#hdfflags = -DHAVE_HDF -I$(hdfdir)/include
+
+#### PNG SUPPORT
+#### For inline PNG support, the following should be defined:
+#### The libraries currently used are PNGLIB 0.81 and ZLIB 0.95
+
+pngdir = /xdev/mosaic/libpng/sun
+pnglibdir = $(pngdir)/lib
+pngincludedir = $(pngdir)/include
+pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a -lm
+pngflags =  -I$(pngincludedir) -DHAVE_PNG
+
+#### JPEG SUPPORT
+#### For inline JPEG support, the following should be defined:
+#### The library used is Independent JPEG Group (IJG's) 5.0a.
+
+jpegdir = /xdev/mosaic/libjpeg/sun
+jpeglibs = $(jpegdir)/lib/libjpeg.a
+jpegflags = -I$(jpegdir)/include -DHAVE_JPEG
+
+
+#### KERBEROS SUPPORT
+####
+#### If you want Mosaic to support Kerberos authentication, set the 
+#### following flags appropriately.  You can support Kerberos V4 and/or V5,
+#### although it's most likely that your realm supports one or the other.
+#### To enable DES-encryption of HTTP messages via Kerberos key exchange, 
+#### define the KRB-ENCRYPT flag.
+
+##krb4dir   = /usr/athena
+krb4dir   = /xdev/mosaic/libkrb4/sun
+krb4libs  = $(krb4dir)/lib/libkrb.a $(krb4dir)/lib/libdes.a
+krb4flags = -DKRB4 -I$(krb4dir)/include
+
+##krb5dir   = /krb5
+krb5dir   = /xdev/mosaic/libkrb5/sun
+krb5libs  = $(krb5dir)/lib/libkrb5.a $(krb5dir)/lib/libcrypto.a $(krb5dir)/util/et/libcom_err.a
+krb5flags = -DKRB5 -I$(krb5dir)/include -I$(krb5dir)/include/krb5
+
+#Do not comment out.
+krbflags  = $(krb4flags) $(krb5flags)
+krblibs   = $(krb4libs) $(krb5libs) 
+
+
+#### DIRECT WAIS SUPPORT
+
+#### If you want to have Mosaic be able to communicate directly with
+#### WAIS servers, do set the following flags appropriately.  We
+#### recommend linking with CNIDR's freeWAIS 0.5 distribution; other
+#### WAIS distributions may work but we have not tested them with
+#### Mosaic.  freeWAIS 0.5 can currently (Sept.1995) be found at
+#### ftp://sunsite.unc.edu/pub/wais/servers/freeWAIS 
+
+#### If you do not wish to link to the WAIS libraries, then comment
+#### the following lines out.  Mosaic will then communicate with WAIS
+#### servers via a HTTP gateway.
+
+#### -lm is required for freeWAIS 0.5, as ceil() is used.
+
+waisroot = /xdev/mosaic/freeWAIS/sun4
+waisflags = -DDIRECT_WAIS -I$(waisroot)/include
+waislibdir = $(waisroot)/bin
+waislibs = $(waislibdir)/inv.a $(waislibdir)/wais.a $(waislibdir)/libftw.a -lm
+
+
+#### Customization flags:
+#### . If you want Mosaic to come up with monochrome colors by default,
+####   use -DMONO_DEFAULT
+#### . If you want to define the default Mosaic home page, set
+####   -DHOME_PAGE_DEFAULT=\\\"url\\\"
+#### . If you want to define the default Mosaic documentation directory
+####   (should be a URL), set -DDOCS_DIRECTORY_DEFAULT=\\\"url\\\"
+#### . Other things you can define are spelled out in src/mosaic.h.
+customflags =
+
+
+
+
+########
+########
+####      NOTE! If you get errors because of the following line, it means
+####      you are NOT using GNUs Make program. The following line is basically
+####      for the developers at NCSA to customize the build process without
+####      modifying the Makefiles, so you may comment it out without harm.
+########
+########
+-include local-defines/$(DEV_ARCH)
+
+
+
+# ---------------------- END OF CUSTOMIZABLE OPTIONS -------------------------
+
+
+CFLAGS = -g $(sysconfigflags) $(prereleaseflags)
+
+# Don't worry about these -- for development purposes only.
+PURIFY = purify
+QUANTIFY = quantify
+
+default: $(dtmdirs) libwww2 libXmx libhtmlw libnut src
+	@echo \*\*\* Welcome to NCSA Mosaic.
+purifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-purifyd
+	@echo \*\*\* Welcome to Purify'd NCSA Mosaic.
+quantifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-quantifyd
+	@echo \*\*\* Welcome to Quantify'd NCSA Mosaic.
+
+libXmx::
+	@echo --- Building libXmx
+	cd libXmx; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc)"
+
+libhtmlw::
+	@echo --- Building libhtmlw
+	cd libhtmlw; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(xinc) -DMOTIF -DXMOSAIC"
+
+libwww2::
+	@echo --- Building libwww2
+	cd libwww2; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(waisflags) $(krbflags) $(xinc)"
+
+libnut::
+	@echo --- Building libnut
+	cd libnut; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag)"
+
+src::
+	@echo --- Building src
+	cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
+
+src-purifyd::
+	@echo --- Building Purify'd src
+	cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
+
+src-quantifyd::
+	@echo --- Building Quantify'd src
+	cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
+
+libnet::
+	@echo --- Building libnet
+	cd libnet; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+libdtm::
+	@echo --- Building libdtm
+	cd libdtm; $(MAKE) $(dtmmachtype) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+clean:
+	cd libXmx; $(MAKE) $@
+	cd libhtmlw; $(MAKE) $@
+	cd libwww2; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+	cd libnet; $(MAKE) $@
+	cd libdtm; $(MAKE) $@
+	cd libnut; $(MAKE) $@
+
+wclean:
+	cd libhtmlw; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+
+commit:
+	cvs commit
+update:
+	cvs update
+countlines:
+	wc libdtm/*.[ch] libnet/*.[ch] libXmx/*.[ch] libhtmlw/*.[ch] libwww2/*.[ch] src/*.[ch]
+replicate:
+	cp Makefile Makefile.sun
+	cp Makefile Makefile.ibm
+	cp Makefile Makefile.dec
+	cp Makefile Makefile.alpha
+	cp Makefile Makefile.hp
+prune:
+	mv Makefile.sun Makefile.sun.old
+	mv Makefile.ibm Makefile.ibm.old
+	mv Makefile.dec Makefile.dec.old
+	mv Makefile.alpha Makefile.alpha.old
+	mv Makefile.hp Makefile.hp.old
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/makefiles/Makefile.uosx mosaic4_2/makefiles/Makefile.uosx
--- mosaic4_2.orig/makefiles/Makefile.uosx	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/makefiles/Makefile.uosx	2010-03-01 13:50:06.000000000 +0800
@@ -0,0 +1,240 @@
+# Toplevel Makefile for NCSA Mosaic.
+
+# You shouldn't need to touch any of the Makefiles in the various
+# subdirectories if you configure this Makefile correctly.
+
+# If you need to make serious changes to get Mosaic to compile on your
+# platform, send context diffs to mosaic-x@ncsa.uiuc.edu.
+# -------------------------- CUSTOMIZABLE OPTIONS ----------------------------
+
+prereleaseflags = -DPRERELEASE
+
+RANLIB = ranlib
+
+CC = gcc
+
+#### Linker Flags -- Primarily for linking static on linux-elf.
+ldflags = -force_cpusubtype_ALL -mmacosx-version-min=10.4 -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk
+
+#### For a few files in the source, some compilers may need to be kicked
+#### in K&R mode.  E.g., on SGI's, -cckr does this.
+#### On most systems, no flag is needed.
+knrflag =
+
+
+#### Random system configuration flags.
+#### --> *** For Motif 1.2 ON ANY PLATFORM, do -DMOTIF1_2 *** <--
+#### For IBM AIX 3.2, do -D_BSD
+#### For NeXT, do -DNEXT
+#### For HP/UX, do -Aa -D_HPUX_SOURCE
+#### For Dell SVR4, do -DSVR4
+#### For Solaris, do -DSVR4 
+#### For Esix 4.0.4 and Solaris x86 2.1, do -DSVR4
+#### For Convex whatever, do -DCONVEX
+#### For SCO ODT 3.0, do -DSCO -DSVR4 -DMOTIF1_2
+#### For Motorola SVR4, do -DSVR4 -DMOTOROLA -DMOTIF1_2
+sysconfigflags = -O3 -D_BSD -DMOTIF1_2 -DHAVE_ERRLIST -DUSE_STDARG -D__bsdi__ -force_cpusubtype_ALL -mmacosx-version-min=10.4 -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk
+
+#### System libraries.
+# -lipc
+syslibs = 
+
+#### X include file locations -- if your platform puts the X include
+xinc = -I/usr/OpenMotif/include -I/usr/X11R6/include
+xlibs = -L/usr/OpenMotif/lib -L/usr/X11R6/lib -lXm -lXmu -lXt -lXext -lSM -lICE -lXpm -lX11
+
+
+#### DTM AND HDF SUPPORT; READ CAREFULLY
+
+#### If you want to compile with DTM and HDF support, you should leave
+#### the following lines uncommented and make sure you have a copy of
+#### HDF 3.3 (r1 or later) installed and ready.  You can find HDF on
+#### ftp.ncsa.uiuc.edu in /HDF.
+
+#### If you do not want to compile with DTM and HDF support, comment
+#### the following lines out.  (If you are compiling from source for
+#### the first time, you should probably not bother with HDF and DTM
+#### support.)
+
+#### dtmmachtype needs to be set to one of the following:
+####   sun, sgi, dec, ibm, next, cray, convex
+#### If your platform is not one of the above, then either do not compile
+#### with HDF/DTM support or try hacking libdtm/makefile.
+
+#dtmmachtype = sun
+#dtmdirs = libdtm libnet
+#dtmlibs = ../libnet/libnet.a ../libdtm/libdtm.a
+#dtmflags = -DHAVE_DTM -I.. -I../libnet
+#hdfdir = /hdf2/install/sun
+#hdflibs = $(hdfdir)/lib/libmfhdf.a $(hdfdir)/lib/libdf.a
+#hdfflags = -DHAVE_HDF -DHDF -I$(hdfdir)/include
+
+
+#### PNG SUPPORT
+#### For inline PNG support, the following should be defined:
+#### The libraries currently used are PNGLIB 0.81 and ZLIB 0.95
+
+pngdir = /usr/local
+pnglibdir = $(pngdir)/lib
+pngincludedir = $(pngdir)/include
+pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a -lm
+pngflags =  -I$(pngincludedir) -DHAVE_PNG
+
+#pngdir = /work2/mosaic-libs/libpng
+#pnglibdir = $(pngdir)
+#pngincludedir = $(pngdir)
+#pnglibs = $(pnglibdir)/libpng.a $(pnglibdir)/libz.a -lm
+#pngflags =  -I$(pngincludedir) -DHAVE_PNG
+
+
+#### JPEG SUPPORT
+#### For inline JPEG support, the following should be defined:
+#### The library used is Independent JPEG Group (IJG's) 5.0a.
+
+jpegdir = /usr/local
+jpeglibs = $(jpegdir)/lib/libjpeg.a
+jpegflags = -I$(jpegdir) -DHAVE_JPEG
+
+
+#### KERBEROS SUPPORT
+####
+#### If you want Mosaic to support Kerberos authentication, set the 
+#### following flags appropriately.  You can support Kerberos V4 and/or V5,
+#### although it's most likely that your realm supports one or the other.
+#### To enable DES-encryption of HTTP messages via Kerberos key exchange, 
+#### define the KRB-ENCRYPT flag.
+
+##krb4dir   = /usr/athena
+#krb4dir   = /xdev/mosaic/libkrb4/sun
+#krb4libs  = $(krb4dir)/lib/libkrb.a $(krb4dir)/lib/libdes.a
+#krb4flags = -DKRB4 -I$(krb4dir)/include
+
+##krb5dir   = /krb5
+#krb5dir   = /xdev/mosaic/libkrb5/sun
+#krb5libs  = $(krb5dir)/lib/libkrb5.a $(krb5dir)/lib/libcrypto.a $(krb5dir)/util/et/libcom_err.a
+#krb5flags = -DKRB5 -I$(krb5dir)/include -I$(krb5dir)/include/krb5
+
+#Do not comment out.
+krbflags  = $(krb4flags) $(krb5flags)
+krblibs   = $(krb4libs) $(krb5libs) 
+
+
+#### DIRECT WAIS SUPPORT
+
+#### If you want to have Mosaic be able to communicate directly with
+#### WAIS servers, do set the following flags appropriately.  We
+#### recommend linking with CNIDR's freeWAIS 0.5 distribution; other
+#### WAIS distributions may work but we have not tested them with
+#### Mosaic.  freeWAIS 0.5 can currently (Sept.1995) be found at
+#### ftp://sunsite.unc.edu/pub/wais/servers/freeWAIS 
+
+#### If you do not wish to link to the WAIS libraries, then comment
+#### the following lines out.  Mosaic will then communicate with WAIS
+#### servers via a HTTP gateway.
+
+#### -lm is required for freeWAIS 0.5, as ceil() is used.
+
+#waisroot = /xdev/mosaic/freeWAIS/sun4
+#waisflags = -DDIRECT_WAIS -I$(waisroot)/include
+#waislibdir = $(waisroot)/bin
+#waislibs = $(waislibdir)/inv.a $(waislibdir)/wais.a $(waislibdir)/libftw.a -lm
+
+
+#### Customization flags:
+#### . If you want Mosaic to come up with monochrome colors by default,
+####   use -DMONO_DEFAULT
+#### . If you want to define the default Mosaic home page, set
+####   -DHOME_PAGE_DEFAULT=\\\"url\\\"
+#### . If you want to define the default Mosaic documentation directory
+####   (should be a URL), set -DDOCS_DIRECTORY_DEFAULT=\\\"url\\\"
+#### . Other things you can define are spelled out in src/mosaic.h.
+customflags =
+
+
+
+
+########
+########
+####      NOTE! If you get errors because of the following line, it means
+####      you are NOT using GNUs Make program. The following line is basically
+####      for the developers at NCSA to customize the build process without
+####      modifying the Makefiles, so you may comment it out without harm.
+########
+########
+-include local-defines/$(DEV_ARCH)
+
+
+
+# ---------------------- END OF CUSTOMIZABLE OPTIONS -------------------------
+# --------------------- Do Not Modify Below This Line ------------------------
+#
+
+CFLAGS = -g $(sysconfigflags) $(prereleaseflags)
+
+# Don't worry about these -- for development purposes only.
+PURIFY = purify
+QUANTIFY = quantify
+
+default: $(dtmdirs) libwww2 libXmx libhtmlw libnut src
+	cp src/Mosaic motifmaclauncher/mosaic-mml
+	@echo \*\*\* Welcome to NCSA Mosaic.
+purifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-purifyd
+	@echo \*\*\* Welcome to Purify'd NCSA Mosaic.
+quantifyd: $(dtmdirs) libwww2 libXmx libhtmlw libnut src-quantifyd
+	@echo \*\*\* Welcome to Quantify'd NCSA Mosaic.
+
+libXmx::
+	@echo --- Building libXmx
+	cd libXmx; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(xinc)"
+
+libhtmlw::
+	@echo --- Building libhtmlw
+	cd libhtmlw; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(xinc) -DMOTIF -DXMOSAIC"
+
+libwww2::
+	@echo --- Building libwww2
+	cd libwww2; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag) $(waisflags) $(krbflags) $(xinc)"
+
+libnut::
+	@echo --- Building libnut
+	cd libnut; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(knrflag)"
+
+src::
+	@echo --- Building src
+	cd src; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic"
+
+src-purifyd::
+	@echo --- Building Purify'd src
+	cd src; $(MAKE) PURIFY=$(PURIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-p"
+
+src-quantifyd::
+	@echo --- Building Quantify'd src
+	cd src; $(MAKE) PURIFY=$(QUANTIFY) CC=$(CC) RANLIB=$(RANLIB) LDFLAGS="$(ldflags)" CFLAGS="$(CFLAGS) $(customflags) $(xinc) $(jpegflags) $(dtmflags) $(hdfflags) $(pngflags) $(krbflags) -I.. -I../libXmx -I../libwww2" AUX_CFLAGS=$(knrflag) X_LIBS="$(xlibs)" SYS_LIBS="$(sockslibs) $(syslibs)" DTM_LIBS="$(dtmlibs)" HDF_LIBS="$(hdflibs)" WAIS_LIBS="$(waislibs)" LIBWWW_DIR=../libwww2 JPEG_LIBS="$(jpeglibs)" PNG_LIBS="$(pnglibs)" KRB_LIBS="$(krblibs)" LIBNUT_DIR=../libnut MOSAIC="Mosaic-q"
+
+libnet::
+	@echo --- Building libnet
+	cd libnet; $(MAKE) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+libdtm::
+	@echo --- Building libdtm
+	cd libdtm; $(MAKE) $(dtmmachtype) CC=$(CC) RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) $(dtmflags)"
+
+clean:
+	cd libXmx; $(MAKE) $@
+	cd libhtmlw; $(MAKE) $@
+	cd libwww2; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+	cd libnet; $(MAKE) $@
+	cd libdtm; $(MAKE) $@
+	cd libnut; $(MAKE) $@
+
+wclean:
+	cd libhtmlw; $(MAKE) $@
+	cd src; $(MAKE) MOSAIC="Mosaic" $@
+
+commit:
+	cvs commit
+update:
+	cvs update
+countlines:
+	wc libdtm/*.[ch] libnet/*.[ch] libXmx/*.[ch] libhtmlw/*.[ch] libwww2/*.[ch] src/*.[ch]
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/annotate.c mosaic4_2/src/annotate.c
--- mosaic4_2.orig/src/annotate.c	2007-07-11 07:58:55.000000000 +0800
+++ mosaic4_2/src/annotate.c	2011-12-20 15:12:46.000000000 +0800
@@ -69,17 +69,17 @@
 #include <pwd.h>
 #else
 #include "vms_pwd.h"
 #endif  /* PGE */
 #include <sys/types.h>
 #include <Xm/ToggleB.h>
 #include <Xm/TextF.h>
 #include <Xm/Text.h>
-#include <Xm/FilesB.h>
+#include <Xm/FileSB.h>
 #include "bitmaps/annotate.xbm"
 #ifndef VMS
 #include "../libnut/system.h"
 #endif
 
 typedef enum {
   mo_new_annotation = 0,
   mo_edit_annotation
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/grpan.c mosaic4_2/src/grpan.c
--- mosaic4_2.orig/src/grpan.c	2006-11-04 07:46:33.000000000 +0800
+++ mosaic4_2/src/grpan.c	2011-12-20 15:13:17.000000000 +0800
@@ -50,17 +50,17 @@
  *                                                                          *
  * Comments and questions are welcome and can be sent to                    *
  * mosaic-x@ncsa.uiuc.edu.                                                  *
  ****************************************************************************/
 
 /* Copyright (C) 2005, 2006 - The VMS Mosaic Project */
 
 #include "../config.h"
-#include "../libwww2/htparse.h"
+#include "../libwww2/HTParse.h"
 #include "mosaic.h"
 #include "grpan.h"
 #include "grpan-www.h"
 #include "pan.h"
 #include "mo-www.h"
 /*#ifdef __hpux || __sgi*/
 #if defined(__hpux) || defined(__sgi) || defined(linux) || defined(__DECC)
 #include <time.h>
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/gui-dialogs.c mosaic4_2/src/gui-dialogs.c
--- mosaic4_2.orig/src/gui-dialogs.c	2007-07-11 08:05:25.000000000 +0800
+++ mosaic4_2/src/gui-dialogs.c	2011-12-20 15:03:58.000000000 +0800
@@ -52,17 +52,17 @@
  * mosaic-x@ncsa.uiuc.edu.                                                  *
  ****************************************************************************/
 
 /* Copyright (C) 1998, 1999, 2000, 2003, 2004, 2005, 2006, 2007
  * The VMS Mosaic Project
  */
 
 #include "../config.h"
-#include "../libwww2/HTalert.h"
+#include "../libwww2/HTAlert.h"
 #include "mosaic.h"
 #include "gui-dialogs.h"
 #include "gui-documents.h"
 #include "gui.h"
 #include "mo-www.h"
 #include "mailto.h"
 #include "gui-extras.h"
 
@@ -70,17 +70,17 @@
 #include <Xm/PushB.h>
 #include <Xm/ScrolledW.h>
 #include <Xm/List.h>
 #include <Xm/ToggleB.h>
 #include <Xm/Text.h>
 #include <Xm/TextF.h>
 #include <Xm/DrawingA.h>
 #include <Xm/ScrollBar.h>
-#include <Xm/FilesB.h>
+#include <Xm/FileSB.h>
 #include <Xm/Protocols.h>
 
 #ifdef VMS
 #include <errno.h>
 #include <unixio.h>
 #include <lib$routines.h>
 #endif /* VMS, BSN */
 
@@ -99,17 +99,19 @@
 extern int HTML_Print_Duplex;
 
 extern int is_uncompressed;
 
 #ifndef VMS
 /* For ~ expansion */
 #include <pwd.h>
 extern int sys_nerr;
+#ifndef linux
 extern char *sys_errlist[];
+#endif
 #endif /* VMS, GEC */
 
 extern int errno;
 #define __MAX_HOME_LEN__ 256
 
 extern char *saveFileName;
 extern mo_window *current_win;
 
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/gui-documents.c mosaic4_2/src/gui-documents.c
--- mosaic4_2.orig/src/gui-documents.c	2007-08-29 07:43:21.000000000 +0800
+++ mosaic4_2/src/gui-documents.c	2011-12-20 15:05:29.000000000 +0800
@@ -50,32 +50,32 @@
  *                                                                          *
  * Comments and questions are welcome and can be sent to                    *
  * mosaic-x@ncsa.uiuc.edu.                                                  *
  ****************************************************************************/
 
 /* Copyright (C) 1998, 1999, 2000, 2005, 2006, 2007 - The VMS Mosaic Project */
 
 #include "../config.h"
-#include "../libwww2/htaautil.h"
-#include "../libwww2/htnews.h"
-#include "../libwww2/htmime.h"
-#include "../libwww2/http.h"
+#include "../libwww2/HTAAUtil.h"
+#include "../libwww2/HTNews.h"
+#include "../libwww2/HTMIME.h"
+#include "../libwww2/HTTP.h"
 #include "mosaic.h"
 #include "gui.h"
 #include "gui-documents.h"
 #include "gui-extras.h"
 #include "gui-dialogs.h"
 #include "gui-popup.h"
 #include "img.h"
 #include "mo-www.h"
 #include "globalhist.h"
 #include "annotate.h"
 #include "history.h"
-#include "../libhtmlw/htmlp.h"
+#include "../libhtmlw/HTMLP.h"
 #include "../libnut/str-tools.h"
 
 #ifdef CCI
 #include "cci.h"
 #include "cciBindings.h"
 #include "cciBindings2.h"
 /* From cciBindings.c */
 extern int cci_get;
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/gui-ftp.c mosaic4_2/src/gui-ftp.c
--- mosaic4_2.orig/src/gui-ftp.c	2007-03-02 06:00:36.000000000 +0800
+++ mosaic4_2/src/gui-ftp.c	2011-12-20 15:33:50.000000000 +0800
@@ -51,17 +51,17 @@
  * Comments and questions are welcome and can be sent to                    *
  * mosaic-x@ncsa.uiuc.edu.                                                  *
  ****************************************************************************/
 
 /* Copyright (C) 2005, 2006, 2007 - The VMS Mosaic Project */
 
 #include "../config.h"
 
-#include "../libwww2/HTftp.h"
+#include "../libwww2/HTFTP.h"
 #include "mosaic.h"
 #include "gui.h"
 #include "gui-ftp.h"
 #include "gui-popup.h"
 #include "gui-dialogs.h"
 #include "gui-documents.h"
 #include "mo-www.h"
 #include "../libhtmlw/HTML.h"
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/gui-menubar.c mosaic4_2/src/gui-menubar.c
--- mosaic4_2.orig/src/gui-menubar.c	2007-08-15 08:57:10.000000000 +0800
+++ mosaic4_2/src/gui-menubar.c	2011-12-20 15:04:34.000000000 +0800
@@ -56,17 +56,17 @@
  * The VMS Mosaic Project
  */
 
 #include "../config.h"
 #include "../libwww2/HTNews.h"
 #include "../libwww2/HTAlert.h"
 #include "mosaic.h"
 #include "main.h"
-#include "../libhtmlw/HTMLp.h"
+#include "../libhtmlw/HTMLP.h"
 #include "../libhtmlw/HTMLfont.h"
 #include "gui.h"
 #include "grpan.h"
 #include "gui-ftp.h"
 #include "gui-popup.h"  /* For callback struct definition */
 #include "gui-dialogs.h"
 #include "gui-news.h"
 #ifdef CCI
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/gui-news.c mosaic4_2/src/gui-news.c
--- mosaic4_2.orig/src/gui-news.c	2007-07-11 08:09:35.000000000 +0800
+++ mosaic4_2/src/gui-news.c	2011-12-20 15:06:20.000000000 +0800
@@ -68,17 +68,17 @@
 #include <Xm/LabelG.h>
 #include <Xm/PushB.h>
 #include <Xm/ScrolledW.h>
 #include <Xm/List.h>
 #include <Xm/ToggleB.h>
 #include <Xm/Text.h>
 #include <Xm/TextF.h>
 
-#include <Xm/FilesB.h>
+#include <Xm/FileSB.h>
 #include <Xm/Protocols.h>
 
 #include "../libhtmlw/HTML.h"
 
 #ifndef VMS
 #include <pwd.h>
 #else
 #include "vms_pwd.h"
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/gui-popup.c mosaic4_2/src/gui-popup.c
--- mosaic4_2.orig/src/gui-popup.c	2007-07-17 08:56:24.000000000 +0800
+++ mosaic4_2/src/gui-popup.c	2011-12-20 14:40:26.000000000 +0800
@@ -52,17 +52,17 @@
  * mosaic-x@ncsa.uiuc.edu.                                                  *
  ****************************************************************************/
 
 /* Copyright (C) 1998, 1999, 2000, 2004, 2005, 2006, 2007
  * The VMS Mosaic Project
  */
 
 #include "../config.h"
-#include "../libwww2/htparse.h"
+#include "../libwww2/HTParse.h"
 #include "mosaic.h"
 #include "gui-ftp.h"
 #include "mo-www.h"
 #include "../libnut/system.h"
 #include "gui.h"
 #include "../libnut/ellipsis.h"
 #include "../libnut/str-tools.h"
 #include "hotlist.h"
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/gui-popup.h mosaic4_2/src/gui-popup.h
--- mosaic4_2.orig/src/gui-popup.h	2006-12-16 08:55:20.000000000 +0800
+++ mosaic4_2/src/gui-popup.h	2011-12-20 15:33:04.000000000 +0800
@@ -52,17 +52,17 @@
  * mosaic-x@ncsa.uiuc.edu.                                                  *
  ****************************************************************************/
 
 /* Copyright (C) 2004, 2005, 2006 - The VMS Mosaic Project */
 
 #ifndef __POPUP_H__
 #define __POPUP_H__
 
-#include "../libhtmlw/htmlp.h"
+#include "../libhtmlw/HTMLP.h"
 #include "hotlist.h"			/* Need mo_hotlist below */
 #include <Xm/DrawingA.h>
 #include <Xm/ScrollBar.h>
 #include <Xm/PushBG.h>
 #include <Xm/SeparatoG.h>
 #include <Xm/CascadeBG.h>
 #include <Xm/ToggleBG.h>
 #include <Xm/RowColumn.h>
@@ -128,17 +128,17 @@
 void mo_reinit_hotlist_menu(mo_hotlist *);
 
 
 #ifdef GUI_POPUP_H  /* This is set in gui-popup.c -- it prevents multiple 
 		     * instances of the following variables */
 
 #include "gui-ftp.h"			/* ftp_rmbm_cb definition */
 #include "gui-menubar.h"		/* menubar_cb definition */
-#include "../libhtmlw/htmlputil.h"	/* LocateElement definition */
+#include "../libhtmlw/HTMLPutil.h"	/* LocateElement definition */
 
 static XmxCallback(copy_link_cb);
 static XmxCallback(image_cb);
 static XmxCallback(presentation_cb);
 static XmxCallback(load_link_to_disk_cb);
 static XmxCallback(metadata_cb);
 static XmxCallback(session_cb);
 
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/gui.c mosaic4_2/src/gui.c
--- mosaic4_2.orig/src/gui.c	2007-08-25 12:35:22.000000000 +0800
+++ mosaic4_2/src/gui.c	2011-12-20 18:14:41.000000000 +0800
@@ -53,34 +53,34 @@
  ****************************************************************************/
 
 /* Copyright (C) 1998, 1999, 2000, 2003, 2004, 2005, 2006, 2007
  * The VMS Mosaic Project
  */
 
 #include "../config.h"
 #include "../libwww2/HTAABrow.h"
-#include "../libwww2/htalert.h"
-#include "../libwww2/HTfile.h"
-#include "../libwww2/HTftp.h"
-#include "../libwww2/HTcookie.h"
-#include "../libwww2/http.h"
-#include "../libwww2/htparse.h"
+#include "../libwww2/HTAlert.h"
+#include "../libwww2/HTFile.h"
+#include "../libwww2/HTFTP.h"
+#include "../libwww2/HTCookie.h"
+#include "../libwww2/HTTP.h"
+#include "../libwww2/HTParse.h"
 #include "mosaic.h"
 #include "gui.h"
 #include "gui-documents.h"
 #include "main.h"
 #include "mo-www.h"
 #include "proxy.h"
 #include "gui-menubar.h"
 #include "gui-popup.h"
 #include "pan.h"
 #include "pixmaps.h"
 #include "colors.h"
-#include "../libhtmlw/HTMLp.h"
+#include "../libhtmlw/HTMLP.h"
 #include "../libnut/system.h"
 #include "../libnut/str-tools.h"
 #include "history.h"
 #include "gui-dialogs.h"
 #include "globalhist.h"
 #include "hotlist.h"
 #ifdef CCI
 #include "ccibindings2.h"
@@ -628,24 +628,24 @@
 char *startup_document = NULL;
 
 /* If startup_document is NULL, home_document will be the initial document. */
 char *home_document = NULL;
 char *machine;
 static char *shortmachine;
 char *machine_with_domain;
 
-#ifdef VMS
+//#ifdef VMS
 /*
 ** Need to distinguish between commandline -home argument and Xresource file
 ** homeDocument setting so that commandline takes precedence over WWW_HOME
 ** environment variable.
 */
 static char *cmdline_homeDocument = NULL;
-#endif /* VMS, LLL */
+//#endif /* VMS, LLL */
 
 static int cursorAnimCnt;
 static int makeBusy = 0;
 static Cursor busy_cursor;
 static int busy = 0;
 char *cached_url = NULL;
 
 /* Forward declaration of test predicate. */
@@ -670,24 +670,24 @@
 extern Pixmap securityKerberos4, securityBasic, securityMd5, securityNone,
     securityUnknown, securityKerberos5, securityDomain, securityLogin,
     encryptSecure;
 
 #ifndef VMS
 struct utsname mo_uname;
 #endif
 
-#ifdef VMS
+//#ifdef VMS
 extern unsigned long mbx_event_flag;
 extern unsigned short mbx_iosb[4];
-static char mbx_name[64];
 static XtInputId mo_InputId;
+static char mbx_name[64];
 static int use_mbx = 0;
 static int grp_mbx = 0;
-#endif /* VMS, BSN, TJA */
+//#endif /* VMS, BSN, TJA */
 
 
 static int kioskSafe(char *url)
 {
     int i, psize;
     char *protocol, *ptr;
 
     if (!max_kiosk_protocols)
@@ -5406,36 +5406,36 @@
  *   - char **argv: The argument vector.
  * returns: 
  *   nothing
  * remarks: 
  *   
  ****************************************************************************/
 void mo_do_gui(int argc, char **argv)
 {
+    int j, status;
 #ifdef VMS
 #define SYI$_HW_NAME 4362
 #define SYI$_VERSION 4096
     int syi_hw_name = SYI$_HW_NAME;
     int syi_version = SYI$_VERSION;
     char hardware[32], VMS_version[16];
     char *cp;
-    int j, status;
     unsigned short l_hardware, l_version;
 
     struct  dsc$descriptor_s {
         unsigned short  dsc$w_length;
         unsigned char   dsc$b_dtype;
         unsigned char   dsc$b_class;
         char            *dsc$a_pointer;
     } hardware_desc = { sizeof(hardware), 14, 1, NULL },
         VMS_version_desc = { sizeof(VMS_version), 14, 1, NULL };
 
-    int no_preferences = 0;
 #endif /* VMS, BSN, PGE, GEC */
+    int no_preferences = 0;
 #ifdef MONO_DEFAULT
     int use_color = 0;
 #else
     int use_color = 1;
 #endif
     int no_defaults = 0;
     int color_set = 0;
 #ifndef VMS   /* PGE */
@@ -6257,16 +6257,23 @@
         char *tmp_dir = get_pref_string(eTMP_DIRECTORY);
           
         if (!tmp_dir) {
             tmp_dir = getenv("TMPDIR");
 #ifdef VMS /* Make temp files in SYS$SCRATCH if TMPDIR not defined. PGE */
             if (!tmp_dir)
                 tmp_dir = getenv("SYS$SCRATCH");
 #endif
+#ifdef linux /* for some ease */
+            if (!tmp_dir)
+            {
+                tmp_dir = (char *) malloc(strlen("/tmp") + 1);
+                sprintf(tmp_dir,"/tmp");
+            }
+#endif
             /* It can still be NULL when we leave here -- then we'll just
              * let tmpnam() do what it does best. */
             set_pref(eTMP_DIRECTORY, (void *)tmp_dir);
         }
     }
 
     /* If there's no docs directory assigned by the X resource,
      * then look at MOSAIC_DOCS_DIRECTORY environment variable
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/history.c mosaic4_2/src/history.c
--- mosaic4_2.orig/src/history.c	2007-04-28 09:19:09.000000000 +0800
+++ mosaic4_2/src/history.c	2011-12-20 15:12:10.000000000 +0800
@@ -65,19 +65,19 @@
 #include "gui-documents.h"
 #include "globalhist.h"
 #include "history.h"
 #include <time.h>
 #include <sys/types.h>
 #include "../libhtmlw/HTMLP.h"
 #include <Xm/List.h>
 
-#ifdef VMS
+//#ifdef VMS
 extern char ftp_type[16];
-#endif /* VMS, BSN */
+//#endif /* VMS, BSN */
 
 #define __SRC__
 #include "../libwww2/HTAAUtil.h"
 
 /* For memcpy */
 #ifndef VMS
 #include <memory.h>
 #endif
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/hotfile.c mosaic4_2/src/hotfile.c
--- mosaic4_2.orig/src/hotfile.c	2007-03-02 08:03:13.000000000 +0800
+++ mosaic4_2/src/hotfile.c	2011-12-20 15:25:03.000000000 +0800
@@ -54,18 +54,18 @@
 
 /* Copyright (C) 2004, 2005, 2006, 2007 - The VMS Mosaic Project */
 
 #include "../config.h"
 #include "mosaic.h"
 #include "hotlist.h"
 #include "hotfile.h"
 #include "mo-www.h"
-#include "../libhtmlw/HTMLp.h"
-#include "../libhtmlw/HTMLputil.h"
+#include "../libhtmlw/HTMLP.h"
+#include "../libhtmlw/HTMLPutil.h"
 
 /* The new file format provides support for nested hotlists of interesting
    documents within the browser.  It uses a subset of HTML.
    Here is a simplified BNF for this format:
 
    <hotlist-file> ::= <start-html-tag><hotlist-document><end-html-tag> |
 		      <hotlist-document>
 
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/hotlist.c mosaic4_2/src/hotlist.c
--- mosaic4_2.orig/src/hotlist.c	2007-07-17 07:58:33.000000000 +0800
+++ mosaic4_2/src/hotlist.c	2011-12-20 15:11:25.000000000 +0800
@@ -61,17 +61,17 @@
 #include "gui.h"
 #include "mo-www.h"
 #include "mailto.h"
 #include "gui-documents.h"
 #include <time.h>
 #include <Xm/List.h>
 #include <Xm/TextF.h>
 #include <Xm/ToggleBG.h>
-#include <Xm/FilesB.h>
+#include <Xm/FileSB.h>
 #include <sys/types.h>
 
 #include "../libnut/system.h"
 #include "gui-dialogs.h"
 #include "gui-popup.h"
 
 #if defined(MOTIF1_23) && (MOTIF1_23 == 7)
 #undef MOTIF1_23
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/img.c mosaic4_2/src/img.c
--- mosaic4_2.orig/src/img.c	2007-09-01 07:42:20.000000000 +0800
+++ mosaic4_2/src/img.c	2011-12-20 20:34:33.000000000 +0800
@@ -56,18 +56,18 @@
  * The VMS Mosaic Project
  */
 
 #include "../config.h"
 
 #include "mosaic.h"
 #include "mo-www.h"
 #include "globalhist.h"
-#include "../libhtmlw/HTMLp.h"
-#include "../libhtmlw/HTMLputil.h"
+#include "../libhtmlw/HTMLP.h"
+#include "../libhtmlw/HTMLPutil.h"
 #include "../libnut/str-tools.h"
 #include "img.h"
 #include "../libwww2/HTMultiLoad.h"
 #include "picread.h"
 #ifdef CCI
 #include "cci.h"
 #include "ccibindings2.h"
 extern int cci_event;
@@ -79,16 +79,17 @@
 extern int srcTrace;
 extern int cacheTrace;
 #endif
 
 /* Defined in gui.c */
 extern char *cached_url;
 extern int browserSafeColors;
 extern int BSCnum;
+extern Boolean currently_delaying_images;
          
 /* Defined in gui-documents.c */
 extern int interrupted;
 
 extern int Vclass;
 
 /* Used in libwww2 */
 int force_image_load = 0;
@@ -382,17 +383,19 @@
 void MultiImageLoad(Widget w, XtPointer clid, XtPointer calld)
 {
 	mo_window *win = (mo_window *) clid;
 
 #ifndef DISABLE_TRACE
 	if (srcTrace)
 		fprintf(stderr, "[IMG] Multi image load callback\n");
 #endif
-	if (win->multi_image_load)
+	/* Do if multiload enabled and not delaying image loads */ 
+	if (win->multi_image_load && !win->delay_image_loads &&
+	    !currently_delaying_images)
 		DoMultiLoad = 1;
 }
 
 void ResetMultiLoad()
 {
 	HTBTElement *ele;
 	MultiInfo *multi;
 
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/mailto.c mosaic4_2/src/mailto.c
--- mosaic4_2.orig/src/mailto.c	2007-07-11 08:25:28.000000000 +0800
+++ mosaic4_2/src/mailto.c	2011-12-20 15:26:03.000000000 +0800
@@ -62,17 +62,17 @@
 #include "mailto.h"
 #include "mo-www.h"
 
 #include "../libnut/url-utils.h"
 #include "../libnut/system.h"
 
 #include <Xm/Text.h>
 #include <Xm/TextF.h>
-#include <Xm/FilesB.h>
+#include <Xm/FileSB.h>
 
 #ifdef VMS
 #include <unixio.h>
 #endif
 
 #ifndef DISABLE_TRACE
 extern int srcTrace;
 #endif
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/main.c mosaic4_2/src/main.c
--- mosaic4_2.orig/src/main.c	2007-07-11 07:31:39.000000000 +0800
+++ mosaic4_2/src/main.c	2011-12-20 16:08:03.000000000 +0800
@@ -55,17 +55,17 @@
 /* Copyright (C) 2003, 2004, 2005, 2006, 2007 - The VMS Mosaic Project */
 
 /* SOCKS mods by:
  * Ying-Da Lee, <ylee@syl.dl.nec.com>
  * NEC Systems Laboratory
  * C&C Software Technology Center
  */
 #include "../config.h"
-#include "../libwww2/htcookie.h"
+#include "../libwww2/HTCookie.h"
 #include "mosaic.h"
 #include "main.h"
 #include "gui.h"
 #include "pan.h"
 #include "child.h"
 #include "mo-www.h"
 #include "newsrc.h"
 #include "hotlist.h"
@@ -88,23 +88,23 @@
 #include <errno.h>
 #include <starlet.h>
 #include <lib$routines.h>
 
 #define DVI$_DEVNAM 32
 #define LNM$_STRING 2
 
 char *built_time = BUILD_TIME;
-char *ident_ver = IDENT_VER;
 static int has_mbx = 0;
 static short mbx_channel;
 static char mbx_buf[200];
 unsigned long mbx_event_flag = 23;  /* Must be flag in first cluster ( < 32) */
 unsigned short mbx_iosb[4];
 #endif /* VMS, BSN, GEC */
+char *ident_ver = IDENT_VER;
 
 #ifndef VMS
 char *userPath = NULL;
 #endif
 
 extern mo_root_hotlist *default_hotlist;
 
 /* Normal exit.  Save cookies, etc. */
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/Makefile mosaic4_2/src/Makefile
--- mosaic4_2.orig/src/Makefile	1970-01-01 08:00:00.000000000 +0800
+++ mosaic4_2/src/Makefile	2011-12-20 17:56:00.000000000 +0800
@@ -0,0 +1,230 @@
+All: $(MOSAIC)
+
+LIBHTMLW_DIR = ../libhtmlw
+LIBXMX_DIR = ../libXmx
+LIBXMX_INC = ../libXmx
+LIBPNG_DIR = ../libpng
+
+PROGRAM_LIBS = $(LIBWWW_DIR)/libwww.a $(LIBHTMLW_DIR)/libhtmlw.a $(LIBXMX_DIR)/libXmx.a $(LIBNUT_DIR)/libnut.a
+LIBS = $(PROGRAM_LIBS) $(X_LIBS) $(PNG_LIBS) $(WAIS_LIBS) $(JPEG_LIBS) $(KRB_LIBS) $(MATH_LIB) $(SYS_LIBS)
+
+CFILES = main.c gui.c  gui-dialogs.c gui-menubar.c gui-documents.c gui-news.c\
+  newsrc.c\
+  gui-extras.c mo-www.c hotlist.c history.c\
+  annotate.c pan.c grpan.c grpan-www.c audan.c globalhist.c img.c\
+  picread.c xpmhash.c xpmread.c gifread.c pixmaps.c\
+  medcut.c hotfile.c child.c mailto.c quantize.c colors.c fsdither.c libtarga.c\
+  readJPEG.c readJ2K.c readBMP.c readSUN.c readXWD.c readTGA.c readPNG.c\
+  accept.c cciServer.c cciBindings.c cciBindings2.c support.c bla.c\
+  comment.c md5.c proxy-dialogs.c proxy-misc.c gui-popup.c gui-ftp.c\
+  prefs.c
+
+OBJS = main.o gui.o gui-dialogs.o gui-menubar.o gui-documents.o gui-news.o\
+  newsrc.o\
+  gui-extras.o mo-www.o hotlist.o history.o\
+  annotate.o pan.o grpan.o grpan-www.o audan.o globalhist.o img.o\
+  picread.o xpmhash.o xpmread.o gifread.o pixmaps.o\
+  medcut.o hotfile.o child.o mailto.o quantize.o colors.o fsdither.o libtarga.o\
+  readJPEG.o readJ2K.o readBMP.o readSUN.o readXWD.o readTGA.o readPNG.o\
+  accept.o cciServer.o cciBindings.o cciBindings2.o support.o bla.o\
+  comment.o md5.o proxy-dialogs.o proxy-misc.o gui-popup.o gui-ftp.o\
+  prefs.o
+
+#AUXCFILES = hdf-browse.c
+#AUXOBJS = hdf-browse.o
+
+#hdf-browse.o: hdf-browse.c ../libhtmlw/HTML.h
+#	$(CC) -c $(CFLAGS) $(AUX_CFLAGS) hdf-browse.c
+
+globalhist.o: globalhist.c ../libhtmlw/HTML.h
+	$(CC) -c $(CFLAGS) $(AUX_CFLAGS) globalhist.c
+
+$(MOSAIC): $(OBJS) $(AUXOBJS) $(HDFOBJS) $(PROGRAM_LIBS) $(DTM_LIBS)
+	$(PURIFY) $(CC) $(LDFLAGS) -o $(MOSAIC) $(OBJS) $(AUXOBJS) $(HDFOBJS) $(LIBS)
+
+#HFILES = mosaic.h prefs.h prefs_defs.h xresources.h
+#$(OBJS): $(HFILES)
+#hotlist.o hotfile.o: hotlist.h
+#gui.o: toolbar.h xresources.h ../libhtmlw/HTML.h bitmaps/*.xbm
+#img.o: ../libhtmlw/HTML.h
+#gui-documents.o: toolbar.h
+#comment.o: comment.h
+#kcms.o: kcms.h
+#gui-popup.o: gui-popup.h
+#pixmaps.o: pixmaps/*.xpm
+#$(PIXMAPS)
+#mo-dtm.o: ../libhtmlw/HTML.h
+#prefs.o: prefs.h prefs_defs.h xresources.h
+
+#depend:
+#	makedepend -m -- $(CFLAGS) -- $(CFILES)
+
+wipe:
+	-rm -f Mosaic Mosaic-p Mosaic-q $(OBJS) core
+clean:
+	-rm -f Mosaic Mosaic-p Mosaic-q *.o core Mosaic.xcoff Mosaic.gz
+tags:
+	etags -t *.[ch]
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+main.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h 
+main.o: main.h gui.h pan.h child.h globalhist.h cciBindings2.h 
+main.o: cci.h cciServer.h
+
+gui.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h gui.h
+gui.o: gui-documents.h main.h mo-www.h gui-menubar.h proxy.h pan.h pixmaps.h
+gui.o: ../libwww2/HTAAUtil.h ../libhtmlw/HTML.h xresources.h cci.h
+gui.o: pixmaps/*.xpm 
+gui.o: bitmaps/*.xbm
+
+gui-dialogs.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h
+gui-dialogs.o: gui-dialogs.h gui-documents.h gui.h mo-www.h
+gui-dialogs.o: ../libhtmlw/HTML.h ../libnut/system.h
+
+gui-menubar.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h
+gui-menubar.o: main.h ../libhtmlw/HTML.h gui.h grpan.h gui-ftp.h gui-popup.h
+gui-menubar.o: hotlist.h gui-dialogs.h gui-news.h cci.h
+gui-menubar.o: cciBindings.h cciBindings2.h cciServer.h history.h pan.h
+gui-menubar.o: annotate.h mo-www.h globalhist.h proxy.h
+gui-menubar.o: ../libwww2/HTAAUtil.h
+
+gui-documents.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h 
+gui-documents.o: gui.h gui-documents.h gui-extras.h mo-www.h annotate.h 
+gui-documents.o: history.h ../libhtmlw/HTML.h cci.h cciBindings.h
+
+gui-news.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h gui.h
+gui-news.o: gui-news.h ../libnut/system.h ../libhtmlw/HTML.h newsrc.h
+gui-news.o: ../libwww2/HTNews.h ../libwww2/HTAccess.h ../libwww2/HTUtils.h
+gui-news.o: ../libwww2/HTString.h ../libwww2/HTAnchor.h ../libwww2/HTList.h
+gui-news.o: ../libwww2/HTAtom.h ../libwww2/HTFormat.h ../libwww2/HTStream.h
+gui-news.o: ../src/newsrc.h
+
+newsrc.o: mosaic.h newsrc.h ../libXmx/Xmx.h toolbar.h
+newsrc.o: prefs.h prefs_defs.h
+
+gui-extras.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h gui.h
+gui-extras.o: gui-extras.h mo-www.h ../libhtmlw/HTML.h ../libnut/system.h
+
+mo-www.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h 
+mo-www.o: mo-www.h ../libwww2/HTAAUtil.h ../libwww2/HTUtils.h
+mo-www.o: ../libwww2/HTString.h ../libwww2/tcp.h ../libwww2/HTTCP.h
+mo-www.o: ../libwww2/HTParse.h ../libwww2/HTAccess.h ../libwww2/HTAnchor.h
+mo-www.o: ../libwww2/HTList.h ../libwww2/HTAtom.h ../libwww2/HTFormat.h
+mo-www.o: ../libwww2/HTStream.h ../libwww2/HTML.h ../libwww2/HTMLDTD.h
+mo-www.o: ../libwww2/SGML.h ../libwww2/HText.h ../libwww2/HTInit.h
+mo-www.o: gui-dialogs.h gui.h
+
+#mo-dtm.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h mo-dtm.h
+
+hotlist.o: mosaic.h ../libXmx/Xmx.h toolbar.h
+hotlist.o: prefs.h prefs_defs.h hotlist.h hotfile.h gui.h
+hotlist.o: mo-www.h bitmaps/hotlist.xbm ../libnut/system.h
+
+history.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h 
+history.o: gui.h mo-www.h gui-popup.h ../libhtmlw/HTML.h
+history.o: hotlist.h ../libwww2/HTAAUtil.h
+
+annotate.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h gui.h
+annotate.o: mo-www.h pan.h grpan.h bitmaps/annotate.xbm ../libnut/system.h
+
+pan.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h pan.h
+pan.o: ../libhtmlw/HTML.h
+
+grpan.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h grpan.h
+grpan.o: grpan-www.h pan.h mo-www.h
+
+grpan-www.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h
+grpan-www.o: grpan-www.h
+
+audan.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h audan.h
+audan.o: gui.h pan.h mo-www.h ../libnut/system.h
+
+globalhist.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h
+globalhist.o: mo-www.h globalhist.h ../libhtmlw/HTML.h ../libnut/system.h
+
+img.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h gui.h img.h
+img.o: mo-www.h globalhist.h picread.h ../libhtmlw/HTML.h cci.h
+img.o: bitmaps/gopher_image.xbm bitmaps/gopher_movie.xbm
+img.o: bitmaps/gopher_menu.xbm bitmaps/gopher_text.xbm
+img.o: bitmaps/gopher_sound.xbm bitmaps/gopher_index.xbm
+img.o: bitmaps/gopher_telnet.xbm bitmaps/gopher_binary.xbm
+img.o: bitmaps/gopher_unknown.xbm
+
+picread.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h 
+picread.o: picread.h gifread.h xpmread.h readJPEG.h readPNG.h
+
+xpmhash.o: xpm.h
+
+xpmread.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h xpmread.h
+
+gifread.o: gifread.h
+
+pixmaps.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h 
+pixmaps.o: pixmaps.h xpmread.h xpm.h
+pixmaps.o: pixmaps/*.xpm
+
+#mo-hdf.o: mosaic.h ../libXmx/Xmx.h toolbar.h
+#mo-hdf.o: prefs.h prefs_defs.h mo-hdf.h mo-dtm.h
+
+hotfile.o: mosaic.h ../libXmx/Xmx.h toolbar.h
+hotfile.o: prefs.h prefs_defs.h hotlist.h mo-www.h ../libhtmlw/HTML.h
+
+child.o: child.h
+
+mailto.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h gui.h 
+mailto.o: ../libnut/url-utils.h ../libnut/system.h
+
+readJPEG.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h readJPEG.h
+
+readPNG.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h readPNG.h
+
+accept.o: accept.h
+
+cciServer.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h
+cciServer.o: cci.h accept.h
+
+cciBindings.o: cci.h mosaic.h ../libXmx/Xmx.h
+cciBindings.o: toolbar.h prefs.h prefs_defs.h gui.h
+cciBindings.o: cciServer.h cciBindings.h cciBindings2.h pan.h mo-www.h
+cciBindings.o: annotate.h ../libhtmlw/HTML.h
+
+cciBindings2.o: mosaic.h ../libXmx/Xmx.h
+cciBindings2.o: toolbar.h prefs.h prefs_defs.h gui.h cci.h
+cciBindings2.o: cciBindings2.h cciServer.h
+cciBindings2.o: ../libwww2/HTFormat.h ../libwww2/HTUtils.h
+cciBindings2.o: ../libwww2/HTString.h
+cciBindings2.o: ../libwww2/HTStream.h ../libwww2/HTAtom.h ../libwww2/HTList.h
+cciBindings2.o: ../libwww2/HTAnchor.h
+
+support.o: cci.h
+
+bla.o: cciServer.h cci.h
+bla.o: ../libwww2/HTPlain.h ../libwww2/HTStream.h
+bla.o: ../libwww2/HTUtils.h ../libwww2/HTString.h
+bla.o: ../libwww2/HTAnchor.h ../libwww2/HTList.h ../libwww2/HTAtom.h 
+bla.o: ../libwww2/HTFormat.h ../libwww2/HText.h ../libwww2/HTFile.h 
+bla.o: ../libwww2/HTAccess.h ../libwww2/tcp.h ../libwww2/HTML.h
+bla.o: ../libwww2/HTMLDTD.h ../libwww2/SGML.h ../libwww2/HTCompressed.h
+
+comment.o: mosaic.h ../libXmx/Xmx.h toolbar.h
+comment.o: prefs.h prefs_defs.h gui.h comment.h
+
+#kcms.o: kcms.h
+
+md5.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h md5.h
+
+proxy-dialogs.o: proxy.h mosaic.h ../libXmx/Xmx.h
+proxy-dialogs.o: toolbar.h prefs.h prefs_defs.h
+
+proxy-misc.o: proxy.h
+
+gui-popup.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h
+gui-popup.o: gui-ftp.h mo-www.h gui-popup.h ../libhtmlw/HTML.h hotlist.h
+gui-popup.o: gui-documents.h
+
+gui-ftp.o: mosaic.h ../libXmx/Xmx.h toolbar.h
+gui-ftp.o: prefs.h prefs_defs.h gui.h gui-ftp.h gui-popup.h
+gui-ftp.o: ../libhtmlw/HTML.h hotlist.h ../libnut/system.h
+
+prefs.o: mosaic.h ../libXmx/Xmx.h toolbar.h prefs.h prefs_defs.h
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/mo-www.c mosaic4_2/src/mo-www.c
--- mosaic4_2.orig/src/mo-www.c	2007-08-22 05:11:12.000000000 +0800
+++ mosaic4_2/src/mo-www.c	2011-12-20 15:09:43.000000000 +0800
@@ -54,52 +54,54 @@
 
 /* Copyright (C) 1998, 1999, 2000, 2004, 2005, 2006, 2007
  * The VMS Mosaic Project
  */
 
 #include "../config.h"
 
 /* Moved libwww2 above mosaic.h to avoid VAXC compiler errors, PGE */
-#include "../libwww2/htutils.h"
-#include "../libwww2/htstring.h"
+#include "../libwww2/HTUtils.h"
+#include "../libwww2/HTString.h"
 #ifdef MULTINET
 #if defined(__TIME_T) && !defined(__TYPES_LOADED) && !defined(__TYPES)
 #define __TYPES_LOADED
 #endif /* Different defs in OpenVMS and MultiNet include files, BSN */
 #endif /* MULTINET, BSN */
 #include "../libwww2/tcp.h"
-#include "../libwww2/httcp.h"
-#include "../libwww2/htparse.h"
-#include "../libwww2/htaccess.h"
-#include "../libwww2/html.h"
-#include "../libwww2/htext.h"
-#include "../libwww2/htinit.h"
-#include "../libwww2/htmime.h"
+#include "../libwww2/HTTCP.h"
+#include "../libwww2/HTParse.h"
+#include "../libwww2/HTAccess.h"
+#include "../libwww2/HTML.h"
+#include "../libwww2/HText.h"
+#include "../libwww2/HTInit.h"
+#include "../libwww2/HTMIME.h"
 #include "../libnut/system.h"
 #ifdef VAXC
 #include "mosaic.h"
 #endif /* VAXC, GEC */
-#include "../libhtmlw/html.h"
+#include "../libhtmlw/HTML.h"
 
 #ifndef VAXC
 #include "mosaic.h"
 #endif /* VAXC, Move above HTML.H to work around caddr_t problem, GEC */
 #include "mo-www.h"
 #include "globalhist.h"
 #include "gui-dialogs.h"
 #include "gui-documents.h"
 #include "gui.h"
 #include "../libnut/str-tools.h"
 #include <ctype.h>
 #include <stdio.h>
+#ifdef VMS
 #include <unixio.h>
-#include <Xm/FilesB.h>
+#endif
+#include <Xm/FileSB.h>
 
-#ifdef __GNUC__
+#if defined(VMS) && defined(__GNUC__)
 #include <stat.h>
 #endif
 
 #ifndef VMS
 #include <memory.h>	/* For memcpy */
 #else
 #include <string.h>
 #include <unixlib.h>
@@ -111,17 +113,17 @@
 
 #ifdef CCI
 extern int cci_docommand;
 extern int cci_get;
 #endif
 
 #define __MAX_HOME_LEN__ 256
 #define __SRC__
-#include "../libwww2/htaautil.h"
+#include "../libwww2/HTAAUtil.h"
 extern int securityType;
 
 extern XtAppContext app_context;
 extern mo_window *current_win;
 
 extern int is_uncompressed;
 
 extern Pixmap *IconPix;
Binary files mosaic4_2.orig/src/Mosaic and mosaic4_2/src/Mosaic differ
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/mosaic.h mosaic4_2/src/mosaic.h
--- mosaic4_2.orig/src/mosaic.h	2007-08-15 08:46:08.000000000 +0800
+++ mosaic4_2/src/mosaic.h	2011-12-20 16:05:44.000000000 +0800
@@ -153,20 +153,20 @@
 #endif /* Do if tcp.h not included previously, GEC */
 #ifndef __CADDR_T
 #define __CADDR_T 1   /* DECwindows xresource.h wants __CADDR_T, PGE */
 #endif
 #ifndef CADDR_T
 #define CADDR_T 1     /* DECwindows Motif 1.1 xresource.h wants CADDR_T, GEC */
 #endif
 #endif
-#ifndef __GNUC__
-#include "../libXmx/Xmx.h"
-#else
+#if defined(VMS) && !defined(__GNUC__)
 #include "Xmx.h"
+#else
+#include "../libXmx/Xmx.h"
 #endif
 #include "toolbar.h"
 
 typedef enum {
   mo_plaintext = 0,
   mo_formatted_text,
   mo_html,
   mo_latex,
@@ -301,29 +301,32 @@
 #ifndef GLOBAL_TYPE_MAP
 #ifndef VMS
 #define GLOBAL_TYPE_MAP "/usr/local/lib/mosaic/mailcap"
 #else
 #define GLOBAL_TYPE_MAP "Mosaic_Mailcap_Dir:mailcap."
 #endif /* VMS, BSN */
 #endif
 
-#ifdef VMS
+//#ifdef VMS
 #ifndef MAIL_PREFIX_DEFAULT
 #define MAIL_PREFIX_DEFAULT ""
 #endif /* Mail prefix for VMS MAIL */
+#ifndef IDENT_VER
+#define IDENT_VER ""
+#endif
 
 #ifndef PRINT_DEFAULT
 #define PRINT_DEFAULT "Print/Name=\"Mosaic print\"/Notify/Identify/Delete"
 #endif /* Default print command for VMS */
 
 #ifndef EDITOR_DEFAULT
 #define EDITOR_DEFAULT "Edit"
 #endif /* Editor command for source editing */
-#endif /* VMS, BSN, GEC */
+//#endif /* VMS, BSN, GEC */
 
 #ifndef VMS
 #if defined(bsdi)
 #define MO_MACHINE_TYPE "BSD/OS"
 #endif
 #if defined(__hpux)
 #define MO_MACHINE_TYPE "HP-UX"
 #endif
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/picread.c mosaic4_2/src/picread.c
--- mosaic4_2.orig/src/picread.c	2007-05-31 08:34:06.000000000 +0800
+++ mosaic4_2/src/picread.c	2011-12-20 17:55:25.000000000 +0800
@@ -63,17 +63,17 @@
 #include "xpmread.h"
 #include "readBMP.h"
 #include "readJ2K.h"
 #include "readSUN.h"
 #include "readTGA.h"
 #include "readXWD.h"
 
 #ifdef HAVE_TIFF
-#include "readTIFF.H"
+#include "readTIFF.h"
 #endif
 
 #ifdef HAVE_JPEG
 #include "readJPEG.h"
 #endif
 
 #ifdef HAVE_PNG
 #include "readPNG.h"
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/pixmaps/s_icon_1.xpm mosaic4_2/src/pixmaps/s_icon_1.xpm
--- mosaic4_2.orig/src/pixmaps/s_icon_1.xpm	1998-11-11 08:30:47.000000000 +0800
+++ mosaic4_2/src/pixmaps/s_icon_1.xpm	2011-12-20 15:23:18.000000000 +0800
@@ -1,10 +1,10 @@
 /* XPM */
-static char *s_icon_1[] = {
+static char *s_icon1[] = {
 /* width height num_colors chars_per_pixel */
 "    32    32       13            1",
 /* colors */
 ". c None",
 "# c #78706b",
 "a c #5a5357",
 "b c #717fca",
 "c c #2a218b",
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/prefs.h mosaic4_2/src/prefs.h
--- mosaic4_2.orig/src/prefs.h	2007-06-02 04:18:17.000000000 +0800
+++ mosaic4_2/src/prefs.h	2011-12-20 13:59:47.000000000 +0800
@@ -385,16 +385,17 @@
 float get_pref_float(int pref_id);
 
 void set_pref_boolean(int pref_id, int value);
 void set_pref(int pref_id, void *incoming);
 void set_pref_int(int pref_id, int value);
 void set_pref_float(int pref_id, float value);
 
 #ifndef VMS
+#include "mosaic.h"
 void mo_preferences_dialog(mo_window *win);
 #endif /* VMS, Useless, at least for now, GEC */
 
 #endif
 
 /*
   To add a new preference:
             
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/readbmp.c mosaic4_2/src/readBMP.c
--- mosaic4_2.orig/src/readbmp.c	2007-07-11 06:10:03.000000000 +0800
+++ mosaic4_2/src/readBMP.c	2011-12-20 15:27:21.000000000 +0800
@@ -20,18 +20,18 @@
  * 
 \*/
 
 /* Copyright (C) 2004, 2005, 2006, 2007 - The VMS Mosaic Project */
 
 #include "../config.h"
 #include "mosaic.h"
 #include <X11/Xlib.h>
-#include "readbmp.h"
-#include "readjpeg.h"
+#include "readBMP.h"
+#include "readJPEG.h"
 #include "medcut.h"
 #include "quantize.h"
 
 #ifndef DISABLE_TRACE
 extern int srcTrace;
 extern int reportBugs;
 #endif
 
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/readj2k.c mosaic4_2/src/readJ2K.c
--- mosaic4_2.orig/src/readj2k.c	2007-06-02 06:31:22.000000000 +0800
+++ mosaic4_2/src/readJ2K.c	2011-12-20 15:26:31.000000000 +0800
@@ -30,17 +30,17 @@
  */
 
 /* Modified for use with VMS Mosaic by GEC - 29-May-2007 */
 
 #include "../config.h"
 #ifdef HAVE_JPEG
 
 #include "mosaic.h"
-#include "readj2k.h"
+#include "readJ2K.h"
 #include "quantize.h"
 #include "openjpeg.h"
 
 #ifndef DISABLE_TRACE
 extern int srcTrace;
 extern int reportBugs;
 #endif
 
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/readsun.c mosaic4_2/src/readSUN.c
--- mosaic4_2.orig/src/readsun.c	2006-12-08 05:28:40.000000000 +0800
+++ mosaic4_2/src/readSUN.c	2011-12-20 15:27:42.000000000 +0800
@@ -26,17 +26,17 @@
  * USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
 /* Modified for use with VMS Mosaic by GEC - 20-Oct-2006 */
 
 #include "../config.h"
 #include "mosaic.h"
 #include <X11/Xlib.h>
-#include "readsun.h"
+#include "readSUN.h"
 #include "quantize.h"
 
 #ifndef DISABLE_TRACE
 extern int srcTrace;
 extern int reportBugs;
 #endif
 
 typedef unsigned char byte;
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/readtga.c mosaic4_2/src/readTGA.c
--- mosaic4_2.orig/src/readtga.c	2006-10-14 07:29:24.000000000 +0800
+++ mosaic4_2/src/readTGA.c	2011-12-20 15:29:07.000000000 +0800
@@ -4,17 +4,17 @@
  * Read a Targa image from file
  */
 
 /* Copyright (C) 2006 - The VMS Mosaic Project */
 
 #include "../config.h"
 #include "mosaic.h"
 #include <X11/Xlib.h>
-#include "readtga.h"
+#include "readTGA.h"
 #include "libtarga.h"
 #include "quantize.h"
 
 #ifndef DISABLE_TRACE
 extern int srcTrace;
 #endif
 
 extern int Quantize_Found_NZero_Alpha;
diff -U 8 -rN --ignore-file-name-case mosaic4_2.orig/src/readxwd.c mosaic4_2/src/readXWD.c
--- mosaic4_2.orig/src/readxwd.c	2006-12-08 14:26:04.000000000 +0800
+++ mosaic4_2/src/readXWD.c	2011-12-20 15:29:33.000000000 +0800
@@ -44,17 +44,17 @@
 */
 
 /* Modified for use with VMS Mosaic by GEC - 23-Oct-2006 */
 
 #include "../config.h"
 #define XLIB_ILLEGAL_ACCESS  1		/* Get access to Display struct */
 #include "mosaic.h"
 #include "XWDFile.h"
-#include "readxwd.h"
+#include "readXWD.h"
 #include "quantize.h"
 
 #ifndef DISABLE_TRACE
 extern int srcTrace;
 extern int reportBugs;
 #endif
 
 #define DirectClass  1
