home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 11 Util / 11-Util.zip / DIFFPT.ZIP / MERGED.DIF < prev    next >
Internet Message Format  |  1991-07-01  |  17KB

  1. From fauern!unido!mcsun!uunet!cs.utexas.edu!wuarchive!zaphod.mps.ohio-state.edu!think.com!snorkelwacker.mit.edu!ai-lab!ai.mit.edu!gnulists Tue Jan 15 16:13:56 1991
  2. Article 1295 of gnu.utils.bug:
  3. Path: lan!fauern!unido!mcsun!uunet!cs.utexas.edu!wuarchive!zaphod.mps.ohio-state.edu!think.com!snorkelwacker.mit.edu!ai-lab!ai.mit.edu!gnulists
  4. From: chip@chinacat.unicom.com (Chip Rosenthal)
  5. Newsgroups: gnu.utils.bug,comp.unix.sysv386,comp.unix.xenix.sco
  6. Subject: patches to GNU diff v1.15 (SCO fixes, `merged' output format)
  7. Message-ID: <1789@chinacat.Unicom.COM>
  8. Date: 11 Jan 91 03:23:55 GMT
  9. Followup-To: gnu.utils.bug
  10. Organization: Unicom Systems Development, Austin, TX
  11. Lines: 547
  12. Approved: info-gnu@prep.ai.mit.edu
  13. Xref: lan gnu.utils.bug:1295 comp.unix.sysv386:4034 comp.unix.xenix.sco:1329
  14. Posted-Date: 11 Jan 91 03:23:55 GMT
  15. To: bug-gnu-utils@prep.ai.mit.edu
  16.  
  17. --text follows this line--
  18. This patch allows GNU diff 1.15 to run on SCO XENIX and SCO UNIX, and adds
  19. a merged diff format.  For example, using the merged format with the command:
  20.  
  21.     diff -M76 Distrib/diff.h diff.h
  22.  
  23. gives the result:
  24.  
  25.     -------------------------------------+-------------------------------------
  26.     Distrib/diff.h                       | diff.h
  27.     --- insert at 85 --------------------+- 86 --------------------------------
  28.                      | #if !defined (INT_MAX) /* SCO UNIX g
  29.     --- insert at 86 --------------------+- 88 --------------------------------
  30.                      | #endif
  31.     --- change at 123 -------------------+- 125-128 ---------------------------
  32.       OUTPUT_IFDEF };                    |   OUTPUT_IFDEF,
  33.                      |   /* Output merged in side-by-side d
  34.                      |   OUTPUT_MERGED
  35.                      | };
  36.     --- insert at 200 -------------------+- 206-208 ---------------------------
  37.                      |
  38.                      | /* Line width for the merged display
  39.                      | EXTERN int line_width;
  40.     -------------------------------------+-------------------------------------
  41.  
  42. Two command line switches were added to get the merged format `-M line_width'
  43. and `-m'.  The only difference is that the latter implies a 80-char line width.
  44.  
  45. The following files are affected by this patch:
  46.  
  47.     diff.h        merged format support, bugfix for SCO UNIX
  48.     diff.c        merged format support
  49.     analyze.c        merged format support
  50.     alloca.c        bugfix for ansish cpp warnings
  51.     merged.c        new file - print merged format
  52.     Makefile        bugfix for SCO XENIX flags and to make alloca.c work
  53.     make.sco-xenix    new file - see below
  54.     make.sco-unix    new file - see below
  55.  
  56. About the easiest way to `plug and go' under SCO XENIX or UNIX would be
  57. to link either `make.sco-xenix' or `make.sco-unix' to `makefile', edit
  58. the definitions at the top (most notably `bindir'), and run `make'.
  59.  
  60. BTW...this stuff has been tested under SCO XENIX 2.3.3OS/2.3.1DS and
  61. SCO UNIX 3.2.1.
  62.  
  63. --- start of patch -----------------------------------------------------------
  64. Index: diff.h
  65. *** Distrib/diff.h    Sun Jan  6 17:04:45 1991
  66. --- diff.h    Thu Jan 10 18:55:23 1991
  67. ***************
  68. *** 83,89 ****
  69. --- 83,91 ----
  70.  
  71.   /* Support old-fashioned C compilers.  */
  72.   #if defined (__STDC__) || defined (__GNUC__)
  73. + #if !defined (INT_MAX) /* SCO UNIX grabs this through <stdio.h> */
  74.   #include "limits.h"
  75. + #endif
  76.   #else
  77.   #define INT_MAX 2147483647
  78.   #define CHAR_BIT 8
  79. ***************
  80. *** 120,126 ****
  81.     /* Like -f, but output a count of changed lines in each "command" (-n). */
  82.     OUTPUT_RCS,
  83.     /* Output merged #ifdef'd file (-D).  */
  84. !   OUTPUT_IFDEF };
  85.  
  86.   /* True for output styles that are robust,
  87.      i.e. can handle a file that ends in a non-newline.  */
  88. --- 122,131 ----
  89.     /* Like -f, but output a count of changed lines in each "command" (-n). */
  90.     OUTPUT_RCS,
  91.     /* Output merged #ifdef'd file (-D).  */
  92. !   OUTPUT_IFDEF,
  93. !   /* Output merged in side-by-side display (-m). */
  94. !   OUTPUT_MERGED
  95. ! };
  96.  
  97.   /* True for output styles that are robust,
  98.      i.e. can handle a file that ends in a non-newline.  */
  99. ***************
  100. *** 198,203 ****
  101. --- 203,211 ----
  102.  
  103.   /* Pipe each file's output through pr (-l).  */
  104.   EXTERN int    paginate_flag;
  105. +
  106. + /* Line width for the merged display (-m,-M).  */
  107. + EXTERN int    line_width;
  108.  
  109.   /* String to use for #ifdef (-D).  */
  110.   EXTERN char *    ifdef_string;
  111. Index: diff.c
  112. *** Distrib/diff.c    Sun Jan  6 17:53:25 1991
  113. --- diff.c    Thu Jan 10 00:41:56 1991
  114. ***************
  115. *** 143,153 ****
  116.     msg_chain = NULL;
  117.     msg_chain_end = NULL;
  118.     no_discards = 0;
  119.  
  120.     /* Decode the options.  */
  121.  
  122.     while ((c = getopt_long (argc, argv,
  123. !                "0123456789abBcC:dD:efF:hHiI:lL:nNpqrsS:tTuvw",
  124.                  longopts, &longind)) != EOF)
  125.       {
  126.         if (c == 0)        /* Long option. */
  127. --- 143,154 ----
  128.     msg_chain = NULL;
  129.     msg_chain_end = NULL;
  130.     no_discards = 0;
  131. +   line_width = 0;
  132.  
  133.     /* Decode the options.  */
  134.  
  135.     while ((c = getopt_long (argc, argv,
  136. !                "0123456789abBcC:dD:efF:hHiI:lL:mM:nNpqrsS:tTuvw",
  137.                  longopts, &longind)) != EOF)
  138.       {
  139.         if (c == 0)        /* Long option. */
  140. ***************
  141. *** 281,286 ****
  142. --- 282,299 ----
  143.           file_label[1] = optarg;
  144.         else
  145.           fatal ("too many file label options");
  146. +       break;
  147. +
  148. +     case 'm':
  149. +       /* Make output merged in side-by-side display. */
  150. +       specify_style (OUTPUT_MERGED);
  151. +       line_width = 80;
  152. +       break;
  153. +
  154. +     case 'M':
  155. +       /* Make output merged in side-by-side display. */
  156. +       specify_style (OUTPUT_MERGED);
  157. +       line_width = atoi(optarg);
  158.         break;
  159.  
  160.       case 'n':
  161. Index: analyze.c
  162. *** Distrib/analyze.c    Sun Jan  6 17:05:11 1991
  163. --- analyze.c    Thu Jan 10 00:53:16 1991
  164. ***************
  165. *** 32,37 ****
  166. --- 32,38 ----
  167.   void print_normal_script ();
  168.   void print_rcs_script ();
  169.   void pr_forward_ed_script ();
  170. + void print_merged_script ();
  171.   void setup_output ();
  172.  
  173.   extern int no_discards;
  174. ***************
  175. *** 844,849 ****
  176. --- 845,854 ----
  177.  
  178.       case OUTPUT_IFDEF:
  179.         print_ifdef_script (script);
  180. +       break;
  181. +
  182. +     case OUTPUT_MERGED:
  183. +       print_merged_script (script);
  184.         break;
  185.       }
  186.  
  187. Index: alloca.c
  188. *** Distrib/alloca.c    Sun Jan  6 17:25:02 1991
  189. --- alloca.c    Thu Jan 10 18:35:07 1991
  190. ***************
  191. *** 42,49 ****
  192.   lose
  193.   -- must know STACK_DIRECTION at compile-time
  194.   #endif /* STACK_DIRECTION undefined */
  195. ! #endif static
  196. ! #endif emacs
  197.  
  198.   #ifdef X3J11
  199.   typedef void    *pointer;        /* generic pointer type */
  200. --- 42,49 ----
  201.   lose
  202.   -- must know STACK_DIRECTION at compile-time
  203.   #endif /* STACK_DIRECTION undefined */
  204. ! #endif /* static */
  205. ! #endif /* emacs */
  206.  
  207.   #ifdef X3J11
  208.   typedef void    *pointer;        /* generic pointer type */
  209. Index: merged.c
  210. *** /dev/null    Thu Jan 10 21:10:10 1991
  211. --- merged.c    Thu Jan 10 20:52:52 1991
  212. ***************
  213. *** 0 ****
  214. --- 1,193 ----
  215. + /*
  216. +  * The merged diff format added by Chip Rosenthal <chip@chinacat.unicom.com>
  217. +  */
  218. +
  219. + #include "diff.h"
  220. +
  221. + #define TABSTOP    8    /* must be a power of two (e.g. 4, 8, etc.) */
  222. +
  223. + #define Fput3(FP,S1,S2,S3) \
  224. +     ( fputs((S1),(FP)), fputs((S2),(FP)), fputs((S3),(FP)), putc('\n',(FP)) )
  225. +
  226. + #define Strncpy(OUT,IN,LEN) \
  227. +     ( (OUT)[(LEN)] = '\0', strncpy((OUT),(IN),(LEN)) )
  228. +
  229. + static int field_width;
  230. + static char *field0_buf, *field1_buf, *tmp_buf;
  231. +
  232. + static void print_merged_hunk();
  233. + static void expand_field();
  234. +
  235. + extern struct change *find_change();
  236. +
  237. +
  238. + void print_merged_script(script)
  239. + struct changed *script;
  240. + {
  241. +
  242. +     /*
  243. +      * Figure out how big a field to print the file differences in.
  244. +      */
  245. +     field_width = ( line_width - (sizeof("-+-")-1) ) / 2;
  246. +     if ( field_width < 1 ) {
  247. +         fputs("diff: bad field width specified\n",stderr);
  248. +         exit(1);
  249. +     }
  250. +
  251. +     /*
  252. +      * Create the space for formatting.
  253. +      */
  254. +     field0_buf = (char*) xmalloc((unsigned)field_width+1);
  255. +     field1_buf = (char*) xmalloc((unsigned)field_width+1);
  256. +     tmp_buf = (char*) xmalloc((unsigned)field_width+1);
  257. +
  258. +     /*
  259. +      * Print the header.
  260. +      */
  261. +     expand_field(tmp_buf, (char*)NULL, field_width, '-'),
  262. +     Fput3(outfile, tmp_buf, "-+-", tmp_buf);
  263. +
  264. +     (void) Strncpy(tmp_buf, files[0].name, field_width);
  265. +     expand_field(field0_buf, tmp_buf, field_width, ' '),
  266. +     (void) Strncpy(tmp_buf, files[1].name, field_width);
  267. +     expand_field(field1_buf, tmp_buf, field_width, ' '),
  268. +     Fput3(outfile, field0_buf, " | ", field1_buf);
  269. +
  270. +     /*
  271. +      * Print the hunks.
  272. +      */
  273. +     print_script(script, find_change, print_merged_hunk);
  274. +
  275. +     /*
  276. +      * Print the trailer.
  277. +      */
  278. +     expand_field(tmp_buf, (char*)NULL, field_width, '-'),
  279. +     Fput3(outfile, tmp_buf, "-+-", tmp_buf);
  280. +
  281. +     free(field0_buf);
  282. +     free(field1_buf);
  283. +     free(tmp_buf);
  284. + }
  285. +
  286. +
  287. + static void print_merged_hunk(hunk)
  288. + struct change *hunk;
  289. + {
  290. +     int first0, last0, first1, last1, deletes, inserts, tr_first, tr_last, len;
  291. +     char *action;
  292. +     register int i0, i1;
  293. +
  294. +     /*
  295. +      * Determine range of line numbers involved in each file.
  296. +      */
  297. +     analyze_hunk(hunk, &first0, &last0, &first1, &last1, &deletes, &inserts);
  298. +     if ( deletes > 0 && inserts > 0 )
  299. +         action = "change";
  300. +     else if ( deletes > 0 )
  301. +         action = "delete";
  302. +     else if ( inserts > 0 )
  303. +         action = "insert";
  304. +     else
  305. +         return;
  306. +
  307. +     /*
  308. +      * Print the header for this hunk.
  309. +      */
  310. +     translate_range(&files[0], first0, last0, &tr_first, &tr_last);
  311. +     if ( tr_last > tr_first )
  312. +         (void) sprintf(tmp_buf, "--- %s at %d-%d ", action, tr_first, tr_last);
  313. +     else
  314. +         (void) sprintf(tmp_buf, "--- %s at %d ", action, tr_last);
  315. +     expand_field(field0_buf, tmp_buf, field_width, '-');
  316. +
  317. +     translate_range(&files[1], first1, last1, &tr_first, &tr_last);
  318. +     if ( tr_last > tr_first )
  319. +         (void) sprintf(tmp_buf, " %d-%d ", tr_first, tr_last);
  320. +     else
  321. +         (void) sprintf(tmp_buf, " %d ", tr_last);
  322. +     expand_field(field1_buf, tmp_buf, field_width, '-');
  323. +
  324. +     Fput3(outfile, field0_buf, "-+-", field1_buf);
  325. +
  326. +     /*
  327. +      * Format and print each line in this hunk.
  328. +      */
  329. +     for ( i0 = first0, i1 = first1 ; i0 <= last0 || i1 <= last1 ; ++i0, ++i1 ) {
  330. +
  331. +         if ( i0 <= last0 ) {
  332. +             len = ( files[0].linbuf[i0].length < field_width ?
  333. +                 files[0].linbuf[i0].length : field_width );
  334. +             Strncpy(tmp_buf, files[0].linbuf[i0].text, len);
  335. +             expand_field(field0_buf, tmp_buf, field_width, ' ');
  336. +         } else {
  337. +             expand_field(field0_buf, (char*)NULL, field_width, ' ');
  338. +         }
  339. +
  340. +         if ( i1 <= last1 ) {
  341. +             len = ( files[1].linbuf[i1].length < field_width ?
  342. +                 files[1].linbuf[i1].length : field_width );
  343. +             Strncpy(tmp_buf, files[1].linbuf[i1].text, len);
  344. +             expand_field(field1_buf, tmp_buf, field_width, ' ');
  345. +         } else {
  346. +             expand_field(field1_buf, (char*)NULL, field_width, ' ');
  347. +         }
  348. +
  349. +         Fput3(outfile, field0_buf, " | ", field1_buf);
  350. +
  351. +     }
  352. +
  353. + }
  354. +
  355. +
  356. + /*
  357. +  * The expand_field() routine performs two functions.  First, it goes
  358. +  * through "inbuf" and reformats the line doing stuff like expanding
  359. +  * tabs and stripping out newlines.  Second, it expands the text to
  360. +  * "fieldlen" characters, using the "padchar" to fill to this length.
  361. +  * If the "inbuf" is NULL, we just generate a string of the "padchar".
  362. +  */
  363. + static void expand_field(outbuf,inbuf,fieldlen,padchar)
  364. + char *outbuf;
  365. + char *inbuf;
  366. + int fieldlen;
  367. + int padchar;
  368. + {
  369. +     int currcol;
  370. +
  371. +     /*
  372. +      * If no string was passed to us, make one of the full field length.
  373. +      */
  374. +     if ( inbuf == NULL ) {
  375. +         while ( --fieldlen >= 0 )
  376. +             *outbuf++ = padchar;
  377. +         *outbuf = '\0';
  378. +         return;
  379. +     }
  380. +
  381. +     /*
  382. +      * Go through the string doing translations (tab expansion, etc.).
  383. +      */
  384. +     currcol = 1;
  385. +     while ( *inbuf != '\0' && fieldlen > 0 ) {
  386. +         if ( *inbuf == '\t' ) {
  387. +             do {
  388. +                 *outbuf++ = ' ';
  389. +             } while ( --fieldlen >= 0 && !( currcol++ & TABSTOP ) ) ;
  390. +             ++inbuf;
  391. +         } else if ( isascii(*inbuf) && isprint(*inbuf) ) {
  392. +             *outbuf++ = *inbuf++;
  393. +             ++currcol;
  394. +             --fieldlen;
  395. +         } else {
  396. +             ++inbuf; /* elide this character */
  397. +         }
  398. +     }
  399. +
  400. +     /*
  401. +      * Finally, pad it out to the required length.
  402. +      */
  403. +     while ( --fieldlen >= 0 )
  404. +         *outbuf++ = padchar;
  405. +     *outbuf = '\0';
  406. + }
  407. +
  408. Index: Makefile
  409. *** Distrib/Makefile    Sun Jan  6 18:02:56 1991
  410. --- Makefile    Thu Jan 10 19:26:28 1991
  411. ***************
  412. *** 38,65 ****
  413.   # Use these definitions for XENIX:
  414.   # There are rumors of bugs in various Xenix's dirent.h and -ldir.  As
  415.   # a result, we suggest using HAVE_NDIR and not using -ldir.
  416. ! # CFLAGS = -O -DUSG -DXENIX -DHAVE_NDIR -DHAVE_DIRECT -DNDIR_IN_SYS
  417. ! # LIBS = -lx -lPW
  418.   # INSTALL = cp
  419.  
  420.   # Some System V machines do not come with libPW.  If this is true, use
  421.   # the GNU alloca by switching the comment on the following lines.
  422.   ALLOCA =
  423. ! # ALLOCA = $(archpfx)/alloca.o
  424.  
  425.   bindir=/usr/local/bin
  426.   prefix=
  427.  
  428.   # All source files
  429. ! srcs=diff.c analyze.c io.c context.c ed.c normal.c ifdef.c util.c dir.c \
  430. !     version.c diff.h regex.c regex.h limits.h diff3.c \
  431. !     getopt.c getopt1.c getopt.h alloca.c
  432.   # Object files for diff only.
  433.   objs=$(archpfx)diff.o $(archpfx)analyze.o $(archpfx)io.o $(archpfx)context.o \
  434. !      $(archpfx)ed.o $(archpfx)normal.o $(archpfx)util.o $(archpfx)dir.o \
  435. !      $(archpfx)regex.o $(archpfx)ifdef.o $(archpfx)version.o \
  436.        $(archpfx)getopt.o $(archpfx)getopt1.o
  437. ! tapefiles = $(srcs) README diagmeet.note Makefile COPYING ChangeLog
  438.  
  439.   all: $(archpfx)diff $(archpfx)diff3
  440.  
  441. --- 38,65 ----
  442.   # Use these definitions for XENIX:
  443.   # There are rumors of bugs in various Xenix's dirent.h and -ldir.  As
  444.   # a result, we suggest using HAVE_NDIR and not using -ldir.
  445. ! # CFLAGS = -O -DUSG -DXENIX -DHAVE_NDIR -DHAVE_DIRECT -DNDIR_IN_SYS -Dconst=
  446. ! # LIBS = -lx
  447.   # INSTALL = cp
  448.  
  449.   # Some System V machines do not come with libPW.  If this is true, use
  450.   # the GNU alloca by switching the comment on the following lines.
  451.   ALLOCA =
  452. ! # ALLOCA = $(archpfx)alloca.o
  453.  
  454.   bindir=/usr/local/bin
  455.   prefix=
  456.  
  457.   # All source files
  458. ! srcs=diff.c analyze.c io.c context.c ed.c normal.c ifdef.c merged.c \
  459. !     util.c dir.c version.c regex.c diff3.c getopt.c getopt1.c alloca.c
  460. ! hdrs=diff.h regex.h limits.h getopt.h
  461.   # Object files for diff only.
  462.   objs=$(archpfx)diff.o $(archpfx)analyze.o $(archpfx)io.o $(archpfx)context.o \
  463. !      $(archpfx)ed.o $(archpfx)normal.o $(archpfx)merged.o $(archpfx)util.o \
  464. !      $(archpfx)dir.o $(archpfx)regex.o $(archpfx)ifdef.o $(archpfx)version.o \
  465.        $(archpfx)getopt.o $(archpfx)getopt1.o
  466. ! tapefiles = $(srcs) $(hdrs) README diagmeet.note Makefile COPYING ChangeLog
  467.  
  468.   all: $(archpfx)diff $(archpfx)diff3
  469.  
  470. ***************
  471. *** 66,78 ****
  472.   $(archpfx)diff3: $(archpfx)diff3.o
  473.       $(CC) -o $(archpfx)diff3 $(CFLAGS) $(LDFLAGS) $(archpfx)diff3.o $(LIBS)
  474.  
  475. ! $(archpfx)diff: $(objs)
  476. !     $(CC) -o $(archpfx)diff $(CFLAGS) $(LDFLAGS) $(objs) $(LIBS)
  477.  
  478.   $(objs): diff.h
  479.  
  480.   $(archpfx)context.o $(archpfx)diff.o: regex.h
  481.  
  482.   $(archpfx)diff3.o: diff3.c
  483.       $(CC) -c $(CFLAGS) -DDIFF_PROGRAM=\"$(bindir)/diff\" diff3.c \
  484.    $(OUTPUT_OPTION)
  485. --- 66,80 ----
  486.   $(archpfx)diff3: $(archpfx)diff3.o
  487.       $(CC) -o $(archpfx)diff3 $(CFLAGS) $(LDFLAGS) $(archpfx)diff3.o $(LIBS)
  488.  
  489. ! $(archpfx)diff: $(objs) $(ALLOCA)
  490. !     $(CC) -o $(archpfx)diff $(CFLAGS) $(LDFLAGS) $(objs) $(ALLOCA) $(LIBS)
  491.  
  492.   $(objs): diff.h
  493.  
  494.   $(archpfx)context.o $(archpfx)diff.o: regex.h
  495.  
  496. + $(archpfx)alloca.o: alloca.c diff.h
  497. +
  498.   $(archpfx)diff3.o: diff3.c
  499.       $(CC) -c $(CFLAGS) -DDIFF_PROGRAM=\"$(bindir)/diff\" diff3.c \
  500.    $(OUTPUT_OPTION)
  501. ***************
  502. *** 91,96 ****
  503. --- 93,103 ----
  504.  
  505.   $(prefix)$(bindir)/diff3: $(archpfx)diff3
  506.       $(INSTALL) $(archpfx)diff3 $(prefix)$(bindir)/diff3
  507. +
  508. + lint: diff.lint
  509. +
  510. + diff.lint: $(srcs)
  511. +     lint $(CFLAGS) $(LDFLAGS) $(srcs) $(LIBS) >$@
  512.  
  513.   diff.tar: $(tapefiles)
  514.       mkdir tmp
  515. Index: make.sco-xenix
  516. *** /dev/null    Thu Jan 10 21:10:10 1991
  517. --- make.sco-xenix    Thu Jan 10 19:26:50 1991
  518. ***************
  519. *** 0 ****
  520. --- 1,16 ----
  521. + SHELL = /bin/sh
  522. + CC = cc
  523. + CFLAGS = -O -DUSG -DXENIX -DHAVE_NDIR -DHAVE_DIRECT -DNDIR_IN_SYS -Dconst=
  524. + LIBS = -lx
  525. + INSTALL = cp
  526. + ALLOCA = alloca.o
  527. + bindir = /local/bin
  528. +
  529. + ENV = CC="$(CC)" CFLAGS="$(CFLAGS)" LIBS="$(LIBS)" INSTALL="$(INSTALL)" \
  530. +     ALLOCA="$(ALLOCA)" bindir="$(bindir)"
  531. +
  532. + all:            ; $(ENV) $(MAKE) -e$(MAKEFLAGS) -f Makefile $@
  533. + clean:            ; $(ENV) $(MAKE) -e$(MAKEFLAGS) -f Makefile $@
  534. + install:        ;  $(ENV) $(MAKE) -e$(MAKEFLAGS) -f Makefile $@
  535. + lint:            ; $(ENV) $(MAKE) -e$(MAKEFLAGS) -f Makefile $@
  536. +
  537. Index: make.sco-unix
  538. *** /dev/null    Thu Jan 10 21:10:10 1991
  539. --- make.sco-unix    Thu Jan 10 19:26:42 1991
  540. ***************
  541. *** 0 ****
  542. --- 1,16 ----
  543. + SHELL = /bin/sh
  544. + CC = cc
  545. + CFLAGS = -O -DUSG -Dconst=
  546. + LIBS =
  547. + INSTALL = cp
  548. + ALLOCA = alloca.o
  549. + bindir = /local/bin
  550. +
  551. + ENV = CC="$(CC)" CFLAGS="$(CFLAGS)" LIBS="$(LIBS)" INSTALL="$(INSTALL)" \
  552. +     ALLOCA="$(ALLOCA)" bindir="$(bindir)"
  553. +
  554. + all:            ; $(ENV) $(MAKE) -e$(MAKEFLAGS) -f Makefile $@
  555. + clean:            ; $(ENV) $(MAKE) -e$(MAKEFLAGS) -f Makefile $@
  556. + install:        ;  $(ENV) $(MAKE) -e$(MAKEFLAGS) -f Makefile $@
  557. + lint:            ; $(ENV) $(MAKE) -e$(MAKEFLAGS) -f Makefile $@
  558. +
  559. --- end of patch -------------------------------------------------------------
  560. --
  561. Chip Rosenthal  512-482-8260  |  If software look-and-feel can be protected,
  562. Unicom Systems Development    |  then I'd like to claim a copyright upon
  563. <chip@chinacat.Unicom.COM>    |  `Memory fault - core dumped'.
  564.  
  565.  
  566.