Commit Graph

78 Commits

Author SHA1 Message Date
mycroft 09819b05ef Don't use .PHONY for targets that are actually installed. Instead use force
dependencies.  (Among other things, `make -t install' does something vaguely
sensible now.)
2002-02-11 21:14:58 +00:00
ross a3f340931b Honor MANSUBDIR when installing md html pages. 2002-02-07 01:56:02 +00:00
ross 57170e8ef5 fix html sources, they were depending on -mdoc, not -mdoc2html 2002-02-07 00:52:23 +00:00
christos e7f0a97835 s/.NOSUFF/.MADE/ 2002-02-04 17:25:44 +00:00
christos 944602ca01 Apply a .NOSUFF: directive to targets we don't want to have processed by
the suffix rules engine.
2002-02-03 21:40:14 +00:00
mrg e5a41e331a generate man pages into a temporary file and rename it if groff succeeds.
this avoids a problem where groff was dumping core and leaving empty
manpage.catN files, that would later not be rebuilt.
2002-01-06 01:27:25 +00:00
tv 35bea081fe Always depend on ${MANPAGES}, so deliberately pre-generated files are
built automatically (even without a ${MANSUFFIX}).
2001-12-17 21:27:45 +00:00
jmc 9083f42414 There's no need for TMACDIR here after all. Anything using it is using it for
FILES installs so it can't have DESTDIR in front of it (and those Makefiles
all explicitly set it).
2001-11-28 23:32:16 +00:00
tv 8f2c8e583f Fix the :U's used with ${UPDATE} so that stray values don't get put into
the .PHONY: target.
2001-11-28 20:19:08 +00:00
jmc 20bb75f3c3 Separate out TMACDIR's use for install's from it's dependency function.
The dependency should be against the TOOLDIR files (is USETOOLS=yes) but
installs will always use ${DESTDIR}/usr/share/tmac.

Without this if people do not have /usr/share/tmac/tmac.andoc on their
systems while building the build will break in the groff areas due to
the dependency rules.
2001-11-28 05:01:28 +00:00
perry 550b1df8d6 replace instances of ln with ${INSTALL_LINK} and ${INSTALL_SYMLINK} 2001-11-19 04:46:07 +00:00
thorpej c08a9b5abe Need bsd.sys.mk for the GROFF definition in the non-USETOOLS case. 2001-11-17 20:38:45 +00:00
tv b5cd2489b2 Major overhaul of src/tools and host toolchain. Summary of changes:
* Rewrite src/tools Make logic to work like the rest of the tree wrt
  "dependall" and "install".  The old "make build" hack is gone.

* Remove the MKTOOLS logic.  This was linked to the "make build" hack,
  and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
  BSD make wrapper.  Use new ${.ALLTARGETS} variable to scan for
  targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
  src/usr.* and src/gnu/usr.* that would do target filename rewriting
  (improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
  MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
2001-11-12 23:16:17 +00:00
enami 97ab45c39d Don't try to build nonexistent compressed man page. 2001-11-04 00:30:52 +00:00
tv 1129ed4afe Improve readability and reduce redundant redundancy in share/mk; add some
descriptive comments.  The guts of hostprog, lib, and prog are mostly
unchanged; this will be done in another pass.

Make several things work properly with UNPRIVILEGED set, and make the
install-time "cmp" logic work for MANZ.  Also reimplement INCS{DIR,NAME}_foo
(requested by wiz) in a backwards compatible way.

Reviewed by christos.
2001-11-02 05:21:47 +00:00
tv d0f9e45413 Rather than explicitly saying "clean cleandir:" all the time, make clean
a dependency of cleandir (so that "make cleandir" implies "make clean").
2001-08-14 07:02:13 +00:00
tv dd70bf30ad Make "distclean" a REAL synonym for "cleandir" by actually aliasing it
in <bsd.own.mk>, rather than sprinkling it in all the .mk files (and
some Makefiles throughout the tree).
2001-06-01 17:49:32 +00:00
sommerfeld 263f3e581d Suppress duplicate entries in ALLFILES, FILES, INCS, DEPINCS, INFOFILES,
NLSALL, CATPAGES, MANPAGES, HTMLPAGES, and SCRIPTS.
2001-05-08 03:19:51 +00:00
simonb 0f020a8ccc Don't overwrite catman pages if there's no difference between the old
and the new pages.  As per discussion on tech-install (a little while
ago).
2001-03-21 04:04:15 +00:00
tron 148a50300a Back out last change as there is no measurable performance gain. 2001-03-05 14:17:06 +00:00
tron df07a57fe4 Invoke "groff" directly when building manual pages, "nroff" is just a
shell script wrapper. This saves at least one fork(2) and one exec(2)
while creating each manual page and should thus speed up builds.
2001-03-05 06:52:12 +00:00
phil fe4560a9a3 Get the correct command line using groff instead of nroff. 2000-09-26 15:33:28 +00:00
phil ec49e039c2 Add rules to make and install html pages in /usr/share/man/html* 2000-09-22 05:37:57 +00:00
itojun 424b5f77fb MLINK optimization based on timestamp. 2000-08-13 06:56:25 +00:00
itojun 531e380d08 do not test $UPDATE nor file existence, on "MLINKS" installation.
the check will leave original manpage and linked manpage unsynchronized,
as we use hard link instead of symlinks.

this backs out 1.37 -> 1.38 change.
2000-08-13 06:36:29 +00:00
mycroft befa5650d3 Minor rearrangement. 2000-06-06 09:22:00 +00:00
mycroft 34e1bda46a Use ODE make(1) features to eliminate extra variables and move several things
outside of .for loops.  (Needs more work to completely eliminate .for.)

XXX Don't look at this stuff.  It will make your head hurt.
2000-06-06 05:40:47 +00:00
erh ad351344c0 Add NOPATH to prevent .cat* files in the search path from interfering. 2000-02-19 22:54:08 +00:00
mycroft 3e13200b73 Make `dependall' play nicely with SUBDIR, using a hack similar to `realinstall'
for both `depend' and `all'.
Also, remove the old hack that invokes an extra shell for .depend, now that
make(1) has been fixed.
2000-01-22 19:31:00 +00:00
perry 9ad44ce879 Add a "dependall" target, which does a "make depend" and then "make all"
in a single directory. This is useful in "make build" because by doing
the build immediately after the depend, all sources will typically
still be in the buffer cache, thus saving significant time over doing
a "make depend" on all the directories and then a "make all".
1999-09-14 01:31:11 +00:00
fredb 1008436afc Permit "make all install", as well as "make foo install" (where foo would be
installed by "make install") without setting of BUILD. All cases where BUILD
is already set are unchanged from the old behavior.

"make all install" is now practically equivalent to "make BUILD= all install",
but without actually setting build.

Fixes pr's 8313, 3894.
1999-09-04 21:48:33 +00:00
simonb 7987e3b34d Add ${INSTPRIV} to ${INSTALL} commands. 1999-08-21 06:17:45 +00:00
mycroft 654297170f Use -Tascii for pre-generated man pages, to avoid some nroff character set
magick.
1999-04-16 18:56:19 +00:00
christos 26bef09099 Don't attempt to build catpages when MKMAN == no 1999-02-13 16:34:39 +00:00
lukem 41510f9a2b for MKSHARE=no, set MKDOC=no MKMAN=no MKNLS=no, and for MKMAN=no, set
MKCATPAGES=no.  this simplifies various tests.
1999-02-12 12:38:44 +00:00
lukem 497d11782a * Add support for MKDOC MKLINKLIB MKLINT MKMAN MKNLS MKOBJ MKPIC MKPICINSTALL
MKPROFILE MKSHARE, which default to `yes' unless an equivalent NOxxx
  variable is defined.
* Add MKCATPAGES, which if "no" prevents catpages from being built or installed

Users should use "MKxxx=no" instead of "NOxxx=" in /etc/mk.conf, because
this allows easy override on the make(1) command line (e.g 'make MKSHARE=yes'
to override MKSHARE=no in /etc/mk.conf).
1999-02-12 01:10:06 +00:00
christos f16578a952 PR/2936: Brian C. Grayson: Avoid truncating precious files when installing
and the filesystem is full. Added ${RENAME} flag to install, which when set
to -r installs on a temporary file and then renames to the final destination.
${RENAME} is currently set to nothing in bsd.own.mk, but one can turn it
on in /etc/mk.conf.
1999-02-04 11:58:30 +00:00
christos ddb60058ff Use preserve flag in install. 1998-09-28 08:13:37 +00:00
lukem 2eadcee825 don't build/install man pages or docs if NOSHARE defined 1998-09-27 16:31:11 +00:00
lukem 24bd0530c9 add distclean as a synonym for cleandir 1998-08-09 14:46:19 +00:00
fair 2e28a338e3 a link installation performance optimization: only fire off "ln -f", not "rm -f; ln" for each link created 1998-04-09 22:08:36 +00:00
thorpej 4d8ed30c33 Make the .N.catN rules depend on the troff macros used in manpage builds. 1998-02-15 01:07:46 +00:00
mikel a206ea679a add missing 'man' so unformatted manpage installation will work when
target exists; solution provided by christos
1997-12-02 08:42:28 +00:00
mrg b7a9acd4a5 set all: target for defined(NOMAN) that does nothing. 1997-10-30 12:57:19 +00:00
mycroft 1e9e92665f Several changes:
* Allow bsd.man.mk to be included separately.
* Always include bsd.own.mk and bsd.obj.mk.
* Include bsd.man.mk and bsd.nls.mk even if NOMAN or NONLS; just turn off
building of the affected files instead.
* Require bsd.subdir.mk to be included explicitly.
(Will make appropriate changes to Makefiles shortly.)
1997-10-11 08:16:24 +00:00
phil 69edc948f4 Some man pages need tbl to make their man page. This adds support for
tbl in building man pages.  If the variable USETBL is defined, the
rules for making the man pages include tbl before nroff.

This supports at least 3 man pages in the tree.
(Related to PR 3144.)
1997-06-30 19:26:21 +00:00
mycroft 4e5d05c9cc Automatically add the .c files corresponding to .l and .y files to DPSRCS.
Automatically add DPSRCS to CLEANFILES.
1997-05-09 13:25:46 +00:00
mycroft b89441bd06 Always define cleanman. 1997-05-07 16:45:40 +00:00
mycroft bb8827f7d1 Various simplifications. 1997-05-07 15:53:28 +00:00
mycroft 2da111c521 Make most of the install targets .PRECIOUS. 1997-05-06 21:29:33 +00:00