GNU make 3.63 Binaries for Linux prepared by faith@cs.unc.edu, Sat Jan 23 12:29:02 1993 Compiled with gcc 2.3.3 (-O6) Linked with jump-4.2 libraries (-s) To install from Linux binary distribution: 1) Get binary distribution (mk363B.taz) from ftp.cs.unc.edu:/pub/faith/linux/utils or from tsx-11.mit.edu:/pub/linux/binaries/FSF 2) cd / 3) gtar zpxvf mk363B.taz Alternatively, the SLS sysinstall program can be used. To uninstall this binary distribution, do the following: cd /usr/src/make-3.63 ./mk363B.Unins To install from source: 1) Get source from: prep.ai.mit.edu:/pub/gnu/make-3.63.tar.Z 2) Untar make-3.63.tar.Z in /usr/src 3) cd make-3.63 4) patch -p1 < mk363B.Notes 4) ./configure --prefix=/usr 5) make 'CFLAGS=-O6 -DSYS_SIGLIST_DECLARED' LDFLAGS=-s 6) make 'CFLAGS=-O6 -DSYS_SIGLIST_DECLARED' LDFLAGS=-s install 8) make make.info 9) cp make.info* /usr/emacs/info 10) cp make.man /usr/man/man1/make.1 Here is the patch from roland@gnu.ai.mit.edu (Roland McGrath) to correct the problem of environment variable expansion changing the built in rules. diff -rc make-3.63.old/variable.c make-3.63/variable.c *** make-3.63.old/variable.c Wed Jan 13 21:09:20 1993 --- make-3.63/variable.c Thu Jan 28 21:09:55 1993 *************** *** 437,442 **** --- 437,446 ---- switch (v->export) { case v_default: + if (v->origin == o_default) + /* Only export default variables by explicit request. */ + continue; + if (!export_all_variables && v->origin != o_command && v->origin != o_env && v->origin != o_env_override *************** *** 490,500 **** for (b = table[i]; b != 0; b = b->next) { register struct variable *v = b->variable; ! /* If V is recursively expanded, expand its value. */ ! char *value = v->recursive ? recursively_expand (v) : v->value; ! result[nvariables++] = concat (v->name, "=", value); ! if (v->recursive) ! free (value); } } result[nvariables] = (char *) xmalloc (100); --- 494,511 ---- for (b = table[i]; b != 0; b = b->next) { register struct variable *v = b->variable; ! /* If V is recursively expanded and didn't come from the environment, ! expand its value. If it came from the environment, it should ! go back into the environment unchanged. */ ! if (v->recursive ! && v->origin != o_env && v->origin != o_env_override) ! { ! char *value = recursively_expand (v); ! result[nvariables++] = concat (v->name, "=", value); ! free (value); ! } ! else ! result[nvariables++] = concat (v->name, "=", v->value); } } result[nvariables] = (char *) xmalloc (100); *************** *** 682,688 **** #ifndef NO_FLOAT printf ("# average of %.1f variables per bucket, \ max %u in one bucket.\n", ! ((double) nvariables) * 100.0 / (double) set->buckets, per_bucket); #endif } --- 693,699 ---- #ifndef NO_FLOAT printf ("# average of %.1f variables per bucket, \ max %u in one bucket.\n", ! (double) nvariables / (double) set->buckets, per_bucket); #endif }