Commit Graph

225 Commits

Author SHA1 Message Date
thorpej
fb02474c1f In ParseDoInclude(), make a temporary copy of the current file name
while searching for ""-type include files, since the current file name
might not be a writeable string.
1996-02-07 23:04:04 +00:00
christos
8862d696fa fix pr/1421 and pr/1997 1996-02-04 22:20:27 +00:00
christos
b941a324f5 Support SVR4 style archives. 1996-02-04 20:34:41 +00:00
christos
f0874be2f5 - Added .WAIT to synchronize between sources like other pmake variants.
- Updated documentation to include .ORDER .PARALLEL .NO_PARALLEL .NONPARALLEL
1995-12-16 05:03:09 +00:00
christos
6611cb1d0d Updates for POSIX/SVR4 compiling:
arch.c:		 Don't require ranlib stuff. Not everybody has it.
dir.c:		 SunOS-4 != Solaris; change #ifdef sun to #if sun && !__svr4__
job.c, compat.c: Don't use 'union wait', use int and the W*() macros.
main.c: 	 Check for uname() == -1; some unames return > 0...
util.c, job.c:	 Add signal() with BSD semantics for svr4, don't use bsd
		 sigmask and friends.
1995-11-22 17:39:53 +00:00
cgd
e3c5125de9 pull in make.h. (PAlloc() now uses emalloc(), which is prototyped in
make.h.  If the prototype is not in scope on the Alpha, I see lots
of "cast to pointer from integer of different size" warnings.)
1995-11-10 21:27:27 +00:00
christos
027abce852 - Turn compat mode on by default. It gets turned off when the -j without
the -B flag is specified. [Thus you can use -j 1 to turn it off].
- Fix malloc -> emalloc as Gordon noted.
1995-11-08 02:30:53 +00:00
christos
61067003d8 Minor:
- ${.PREFIX} should never contain a full pathname
    - Fixed gcc -Wall warnings
Major:
    - compatMake is now FALSE. This means that we are now running in
      full pmake mode:
	  * rules on dependency lines can be executed in parallel and or
	    out of sequence:

	    foo: bar baz

	    can fire the rule for baz before the rule for bar is fired.
	    To enforce bar to be fired before baz, another rule needs to be
	    added. [bar: baz]
	  * adjacent shell commands in a target are now executed by a single
	    invocation of the shell, not one invocation of the shell per line
      (compatMake can be turned off using the -B flag)
    - The -j flag now works... I.e. make -j 4 will fork up to four jobs in
      parallel when it can. The target name is printed before each burst
      of output caused by the target execution as '--- target ---', when j > 1
    - I have changed all the Makefiles so that they work with make -j N, and
      I have tested the whole netbsd by:
	  'make -j 4 cleandir; make -j 4 depend; make -j 4; make -j 4 install'
    - I have not compiled or tested this version of make with -DREMOTE.
1995-11-02 23:54:35 +00:00
ws
337d0ee3b1 Always ensure space for trailing NULL in argv 1995-10-30 17:36:27 +00:00
jtc
95c465e08b Update lseek() constants:
L_SET	-> SEEK_SET
And add off_t cast to offset argument.
1995-09-27 18:44:38 +00:00
jtc
6a70570191 include <signal.h> instead of <sys/signal.h> 1995-09-27 18:42:21 +00:00
christos
f4699a7dd3 Revert previous suffix fix. If the .a suffix is present and a .c.a rule is
there, then the rule should be applied. This is the correct behavior.
1995-09-25 02:46:30 +00:00
christos
ae8c2b9dd3 Don't apply the default suffix rules for nodes that are not in our
current directory because we could be building things outside our
directory that were not meant to be build... Fixes PR/1488
1995-09-22 00:42:10 +00:00
christos
17c2255148 Fix PR/1443:
Dependency rules with `=' in the lhs are parsed as variable assignments.
E.g., the following Makefile fails:

A=a b c d
all: $(A:%=%b)
$(A:%=%b):
	@echo $@
1995-09-10 03:58:16 +00:00
christos
b5f782e810 - $NetBSD$ rcsids
- Fixed so that .[A-Z]* targets that do not match keywords are ignored as
  Posix mandates
- Added .PHONY target keyword
1995-06-14 15:18:37 +00:00
ws
de7fa9654c Sort keyword table correctly, so binary search really works 1995-05-15 13:10:10 +00:00
jtc
d08e2815ca None of the functions in util.c are needed by NetBSD, so don't
bother to compile it.
1995-05-03 05:09:14 +00:00
christos
67c2aabd6c Fix small typo; from Chris Torek 1995-04-29 17:05:08 +00:00
christos
f222a602cf Fixed so that orphan tabs are ignored. Should close PR760. 1995-02-08 04:36:41 +00:00
christos
85ac32e8d2 str.c: Don't free NULL; does not work with non posix frees.
var.c: Minor memory leak plugged.
suff.c: Don't add extra sources on the null suffix if it has dependency
	lines or commands attached to it [POSIX says so]
1995-02-04 23:44:41 +00:00
mycroft
b36edbb4da Fix 4 typos pointed out by Jordan, and 1 by me. 1995-01-23 20:34:59 +00:00
christos
0036b358ae Fixed to parse correctly SysV variable substitutions ${VAR:P1=P2} when
P1 or P2 contain }'s or )'s. From mikeb@snow.datametrics.com
1995-01-20 04:35:10 +00:00
christos
77759e5c6d Fixed PR/724, 'make' runs commands when $? is empty
This is not the perfect fix. I think that the whole __SYMDEF
checking code should be removed. [I should also teach myself
how to deal with the PR stuff to mark this closed :-)]
1995-01-11 17:42:26 +00:00
christos
42d1db77e3 Save the name of the environment variables. Remove the comment that
says that we don't. from Paul Borman (prb@bsdi.com)
1995-01-09 18:31:41 +00:00
christos
95531c8e1f Fixes from Paul Borman (prb@bsdi.com)
1. Honor environment variable $MACHINE if set over uname.machine
2. archives with :: are always out of date, even when they have no children.
3. VAR= a b c     # comment, gets the trailing blanks trimmed, unless
   escaped by \. I'll have to read the posix manul to make sure that it
   is ok to handle escapes here.
1995-01-06 19:57:27 +00:00
cgd
7d82c5ab5d a few casts, for peace and quiet. 1994-12-24 16:54:24 +00:00
christos
218fbce657 Don't remove targets when the -n flag is given and make is interrupted.
(From Keith Bostic)
1994-11-25 19:16:45 +00:00
mycroft
126cf80fd0 Deal with lines that contain only spaces, per PR 515, but implemented
differently.
1994-10-18 20:36:26 +00:00
mycroft
dfab95c9fe Remove an outdated comment that is very confusing. 1994-10-18 20:16:13 +00:00
gwr
4ca862ca1d Get the name of this type of MACHINE from utsname
so we can share an executable for similar machines.
(i.e. m68k: amiga hp300, mac68k, sun3, ...)
1994-09-30 03:14:21 +00:00
mycroft
e046f69de1 Use getcwd(3), not getwd(3), and remove some old, unused compatibility code. 1994-09-23 09:33:21 +00:00
cgd
138fcd8327 deal with new share/doc strategy 1994-06-30 05:33:30 +00:00
mycroft
ded5f042c3 Clean up deleted files. 1994-06-28 04:36:07 +00:00
cgd
5b029eb9a8 update for new doc-make/install strategy 1994-06-25 05:57:47 +00:00
cgd
f10235118d from Lite 1994-06-19 02:33:16 +00:00
jtc
ac414e10cd Christos' fix for quoting variable extraction properly. 1994-06-16 18:50:18 +00:00
jtc
b28f89c931 Christos' fix for quoting variable extraction properly. 1994-06-16 18:50:16 +00:00
jtc
9f7dde6ba0 Christos' fix for quoting variable extraction properly. 1994-06-16 18:50:04 +00:00
jtc
26a8972fd7 Fixes from Christos Zoulas, who used purify, objectcenter and testcenter
to find memory leaks and illegal memory accesses.
1994-06-06 22:45:17 +00:00
jtc
63ad15ccc1 Fix from Thorsten Lockert: don't ignore \ before # characters
in strings (Fixes bug 255).
1994-05-21 16:36:01 +00:00
jtc
abd412aa8d Properly parse null command line arguments in makefile rules.
Fix from Christos Zoulas.
1994-05-17 15:55:42 +00:00
glass
0b84fdb5c1 bootstrap improvements 1994-05-09 06:36:20 +00:00
glass
5760062851 bootstrap changes 1994-04-17 03:09:49 +00:00
briggs
506dde3090 Need for.o in list of objects when bootstrapping. 1994-04-09 23:35:25 +00:00
jtc
aa67092685 Fixes from Christos Zoulas:
The following two patches fix a couple of problems with make(1)

1. Null Suffixes were not being copied, but they were being free'd
   This caused rules of the form:

   .c:
	${CC} ...

   to access invalid memory and potentially core dump..
   [That was always broken; I did not break that one :-)]

2. My recent fixes to parse ${VAR:%.foo=%.bar} handled the null string
   case incorrectly (${VAR:=.c} was broken).
1994-03-23 00:52:13 +00:00
pk
15b943d427 Do extended-name archives. 1994-03-18 11:32:09 +00:00
cgd
3cb7f8e872 kill some warnings, from Christos. 1994-03-07 22:22:01 +00:00
jtc
6b1913fcc9 Apply fix that was lost when Christos Zoulas' changes were integrated:
Shell commands start with tabs, not whitespace.  Pmake's
  POSIX behavior must have been derrived from an early draft.
1994-03-05 01:58:23 +00:00
mycroft
f4d252cff0 Clean up deleted files. 1994-03-05 00:35:58 +00:00
cgd
298fa8e587 fixes/improvements from Christos Zoulas <christos@deshaw.com>. 1994-03-05 00:35:26 +00:00
mycroft
ea40a9138d Clean up deleted files. 1994-03-05 00:35:19 +00:00
cgd
3db59563ee fixes/improvements from Christos Zoulas <christos@deshaw.com>. 1994-03-05 00:34:29 +00:00
jtc
f4db87c6e4 Fix typos & spelling errors 1994-02-10 18:24:46 +00:00
jtc
e890eb6415 Include appropriate header files to bring prototypes into scope. 1994-01-13 21:01:40 +00:00
cgd
e11feae6b8 add missing arg to setenv(). reported by downsj@csos.orst.edu 1994-01-13 17:18:30 +00:00
pk
f0e170dc10 Introduced ${.OBJDIR}. The variable is similar to .CURDIR but points at
the directory where make builds the targets. It can be used to clean up
those cumbersome Makefiles that have to guess at the "obj" directory.
1993-12-22 00:25:57 +00:00
jtc
5a178ffc9b POSIX.2 added the -S flag (opposite of -k). It was allready there,
just #ifdef'ed out.
1993-12-17 23:55:57 +00:00
jtc
d253881943 Fix bug #47. Shell commands start with tabs, not whitespace. Pmake's
POSIX behavior must have been derrived from an early draft.
1993-12-17 23:52:04 +00:00
jtc
77e8bced10 Fix bug (PR #42) with -j flag. Doesn't seem to do anything, but at
least it doesn't dump core anymore.
1993-12-15 18:26:40 +00:00
jtc
ae2b6ea2c2 Compile with -DPOSIX --- enables reasonable behavior for MAKE and
MAKEFLAGS variables.
1993-12-14 18:27:15 +00:00
jtc
f39d0cfe88 Update to use <dirent.h>. 1993-12-08 00:37:37 +00:00
cgd
edcba29bc8 add MACHINE_ARCH 1993-12-04 02:12:34 +00:00
cgd
670f052fd7 add support for an obj.${MACHINE} dir, which will be used rather than obj,
if both exist.  basically, precedence is now:
	MAKEOBJDIR or (obj.${MACHINE} then obj)
	.
1993-10-23 02:32:03 +00:00
cgd
e57d888eed fix from chmr@edvz.tu-graz.ac.at (Christoph Robitschko)
to get things right if obj is a symlink and points to nowhere.
1993-08-23 05:29:31 +00:00
mycroft
aee4b07b8a Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
1993-08-02 17:48:44 +00:00
mycroft
e9d867ef50 Add RCS identifiers. 1993-08-01 17:54:45 +00:00
mycroft
c3e42d1c64 Add RCS indentifiers. 1993-08-01 07:22:47 +00:00
mycroft
690cae8181 Add RCS indentifiers. 1993-07-31 15:17:49 +00:00
cgd
2b3bd9befd remember curdir as something other than ".", so that makes
of things which include files in directories won't get hosed...
1993-07-08 03:41:58 +00:00
glass
248f75d9b8 some compatibility fixes to ease bootstrapping:
Makefile.dist is now a decent Makefile and not one of these cc *.c disasters
1993-05-27 16:54:21 +00:00
glass
6cbb2d4ece some compatibility fixes to ease bootstrapping:
Makefile.dist is now a decent Makefile and not one of these cc *.c disasters
RANLIBMAG now defaults if not otherwise defined
1993-05-27 16:53:49 +00:00
mycroft
1b67cec37d Fix various bugs in man pages (from 386BSD patch 130). 1993-04-22 03:27:28 +00:00
cgd
883c20ae5a made .CURDIR be absolute, not relative, thereby eliminating
the need for some of the makefile trickery when making objects,
and fixing a few .PATH bugs
1993-03-23 07:26:38 +00:00
cgd
e541169ce2 after 0.2.2 "stable" patches applied 1993-03-21 18:04:42 +00:00
cgd
61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00