- fix the variable substitution code in make [PR/2748]
1. change s/a/b/ so that it substitutes the first occurance of the
pattern on each word, not only the first word.
2. add flag '1' to the variable substitution so that the substitutions
get performed only once.
***THIS IS AN INCOMPATIBLE CHANGE!***
Unfortunately there was no way to make things consistent without
modifying the current behavior. Fortunately none of our Makefiles
depended on this.
OLD:
VAR = aa1 aa2 aa3 aa4
S/a/b/ = ba1 aa2 aa3 aa4
S/a/b/g = bb1 bb2 bb3 bb4
NEW:
VAR = aa1 aa2 aa3 aa4
S/a/b/ = ba1 ba2 ba3 ba4
S/a/b/1 = ba1 aa2 aa3 aa4
S/a/b/g = bb1 bb2 bb3 bb4
S/a/b/1g = bb1 aa2 aa3 aa4
- add regexp variable substitution via 'C/foo/bar/' [PR/2752]
- add variable quoting via the ${VAR:Q} modifier. This is useful when running
recursive invocations of make(1):
make VAR=${VAR:Q}
will always work... (This may prove useful in the kernel builds...) [PR/2981]
* Add IPL_HIGH. Alias IPL_HIGH to IPL_RTTY
* Define splrtty (used by the scn driver).
* Add iv_level and iv_mask to struct iv. These define the IPL at
which the handler should run.
* intr_establish now takes *two* ipls. One at which the handler should run,
and one in which the interrupt should get blocked.
* Define SCN_RING_HIWAT and add sc_rbhiwat to scn_softc. When the
ringbuffer gets full up to this mark, rts gets asserted (Ian Dall).
* Add sc_rx_blocked to scn_softc. This is used to tell scnsoft that
rxinterrupts are blocked (Ian Dall).
* intr_establish now takes *two* ipls. One at which the handler should run,
and one in which the interrupt should get blocked.
All the following changes were provided by Ian Dall:
* Remove SCN_HSOFT. Now that the pc532's software interrupt system is running
from int14, this won't work anymore.
* Add code to detect uart type (SCN2681, SCC2692 or SCC26C92).
* Cleanup my RECOVER mess. Thank's to Ian Dall for reading the datasheet
and removing all the unnecessary RECOVERs.
* Cleanup scnrxintr.
* Implement scnhiwflow.
* Do not use automatic RTS. This and scnhiflow and some changes to the
interrupt system suggested by Ian fix the scn overrun problem at 57600
baud.
* intr_establish now takes *two* ipls. One at which the handler should run,
and one in which the interrupt should get blocked.
* Make transfersize configurable for input and output. Default the input
transfersize to 128 bytes. That way interrupts won't be disabled for more
then about 128us-256us for slow targets. This is necessary to prevent scn
fifo overruns. Cleanup the pdma code. Thank's to Ian Dall for these
changes.
* Make it work on 30mhz machines.
* Configure MSDOSFS, CD9660, KERNFS, NFSCLIENT and INET.
* Configure SCSI-cds, slip and ppp.
* Update for mi ramdisk driver.
* Initialize iv_level for all interrupts.
* Protect the call to the sir-handler with splraise.
* intr_establish now takes *two* ipls. One at which the handler should run,
and one in which the interrupt should get blocked.
* Compute iv_mask for all interrupts in intr_establish.
* Have 'fake' options for all offensive fortune files (fortunes2-o and
limerick moved to fortunes2-o.real and limerick.real via repository copy).
* build all offensive fortune data files, etc., in the same way.
* Have installation of offensive fortunes controlled by one make variable.
To disable build/install of offensive fortunes, set
INSTALL_OFFENSIVE_FORTUNES to anything other than "YES" on the make
command line, in bsd.own.mk, or in /etc/mk.conf or your ${MAKECONF} file.
(If changing the setting, you should 'make clean' here and rebuild
the fortunes before installing.)
* Don't use variables that bsd.prog.mk thinks have certain meanings.
a la /usr/bin/true's makefile and others like it. It's simpler than
what was here before, and more correct in terms of providing the variables
that the .mk files expected.