Commit Graph

79 Commits

Author SHA1 Message Date
luigi
de9ccb62a4 Add a "special progname lib xxx ..." command to crunchgen
so the .lo files can be partially linked against libraries
which redefine symbols in the standard libs, or which reference
symbols in the objects.

Submitted by: Sam Leffler
MFC After: 3 days
2002-03-30 16:48:30 +00:00
peter
f3a4628bcc ia64 support. Hide a.out support solely under i386. While alpha never
was released in a.out form, it does define the a.out data structures.
The ia64 port does not.
2001-10-23 10:18:41 +00:00
joe
cd7a777b74 Make source crunches work as well as object crunches; broken in the
last commit that fixed object crunches.

Repeat after me, "no excuses for not testing".
2001-08-17 11:11:10 +00:00
joe
839c5a1332 Make crunchgen crunch pre-built object files again, i.e.:
progs prog1
    special prog1 objdir ../../prog1/obj
    special prog1 objs prog1.o

This fixes a bug that I introduced around the time of 4.2-release.

Reported by:	Larry Baird <lab@gta.com>
2001-08-15 14:37:26 +00:00
ru
24c7b0a61d mdoc(7) police: s/BSD/.Bx/ where appropriate. 2001-08-14 10:01:54 +00:00
obrien
9c97c8f02d Perform a major cleanup of the usr.sbin Makefiles.
These are not perfectly in agreement with each other style-wise, but they
are orders of orders of magnitude more consistent style-wise than before.
2001-07-20 06:20:32 +00:00
obrien
be022bb715 Remove GCC'isms in CFLAGS. 2001-07-20 04:23:13 +00:00
dd
911ca14c87 Remove whitespace at EOL. 2001-07-15 08:06:20 +00:00
ru
0d5f9334cf mdoc(7) police: removed HISTORY info from the .Os call. 2001-07-10 15:12:08 +00:00
joe
cfd6d3b0f9 Use 'LIBS+= ...' instead of 'LIBS= ...' in the generated makefile
so that the user can override libraries at build time.  This is
makes it easier to cross-compile crunch builds.

Suggested by:	luigi
MFC after:	3 days
2001-06-20 23:21:02 +00:00
ru
9372226a6c mount_msdos(8) -> mount_msdosfs(8). 2001-06-01 11:25:40 +00:00
ru
79f2c51981 mount_fdesc -> mount_fdescfs
mount_portal -> mount_portalfs
2001-05-24 13:23:54 +00:00
obrien
538e761e02 * include/elf.h has been repo copied to include/elf-hints.h, and it no
longer includes machine/elf.h.
* consumers of elf.h now use the minimalist elf header possible.

This change is motivated by Binutils 2.11.0 and too much clashing over
our base elf headers and the Binutils elf headers.
2001-05-02 23:56:21 +00:00
ru
0df69b81ab Document ``special <progname> ident <identifier>'' command. 2001-04-04 08:28:00 +00:00
ru
df79f208d7 - Call subclean' after clean' for each program.
- Eliminate compiler warning.
2001-04-04 08:26:54 +00:00
ru
b83dc0f648 `buildopts' may affect the selection of object files.
Make sure we pass $(BUILDOPTS) to the `clean' target
so that `make clean' works on the same set of object
files.  Otherwise, we may end up with an incorrectly
built and up-to-date object file.
2001-03-30 08:04:25 +00:00
joe
92c29403ab Liberal application of style(9). 2001-01-10 14:08:48 +00:00
joe
73275f90e1 Flag an error and remove the program from the list if there is
no source directory or no objects can be determined.

Initialise a structure variable.
2001-01-10 13:27:38 +00:00
des
4b9504e071 Retire kernfs (userland part). 2000-12-28 12:59:57 +00:00
joe
60930484fc Clean up the source directory finding code, and in the process fix a
problem that occurs when a program's source isn't found.
2000-12-24 12:21:15 +00:00
joe
0449442242 Use one of the TMPDIR env variable or _PATH_TMP instead of hardcoding
/tmp.

Submitted by:	jedgar
2000-12-17 19:49:07 +00:00
joe
651ae8ea0f Avoid potential problems with the existance of a shadow obj directory
confusing the 'make -f tmpfile' in the tmpfile, by creating it in /tmp.
2000-12-17 17:07:40 +00:00
joe
8ec6857b99 Clarify an ambiguous 'else' introduced by a recent commit. 2000-12-17 17:03:05 +00:00
joe
702e01fe1e o check strdup() return values
o strcpy() -> strlcpy()
o sprintf() -> snprintf()
o mktemp() -> mkstemp()
o use err() instead of errx() in out_of_memory() function since
  errno will probably be set

Submitted by:	jedgar
2000-12-17 16:51:00 +00:00
joe
8112d68767 Hopefully the last patch in a series to try and teach crunchgen to
handle MAKEOBJDIRPREFIX better, in conjunction with the -o and -p
flags.
2000-12-17 16:13:23 +00:00
ru
08eda6b2ec mdoc(7) police: fixed errors from the previous revision, keep
the synopsis in a nice form, and a few more cosmetic changes.
2000-12-01 08:17:15 +00:00
luigi
ddef5da232 Make crunchgen aware of obj directories. Formerly it had
/usr/obj hardwired in the code, now you can override it
with a command line option or MAKEOBJDIRPREFIX env. variable.
The above is useful to build picobsd-specific objects in some other
place than /usr/obj

While at it, fix documentation and change a few sprintf -> snprintf.
2000-11-30 21:14:54 +00:00
ru
71e2293ad4 mdoc(7) police: use the new features of the Nm macro. 2000-11-20 20:10:44 +00:00
ru
eb8c554f56 mdoc(7) police: use certified section headers wherever possible. 2000-11-17 11:44:16 +00:00
ru
a620406064 mdoc(7)ify. 2000-11-16 13:21:17 +00:00
joe
05dff2fbdf Add and document a new configuration command: buildopts.
This allows global make options to be specified within the crunch
configuration file.
2000-11-15 14:33:29 +00:00
ru
a6f5d950d8 Avoid use of direct troff requests in mdoc(7) manual pages. 2000-11-10 17:46:15 +00:00
joe
0797349d74 Define a new special type: buildopts.
This allows build flags to be specified for a particular program from
within the crunch.conf file, eg:

	prog ppp
	special ppp buildopts -DNOKLDLOAD -DNOINET6 -DNONAT -DNOATM

This adds '-DNOKLDLOAD -DNOINET6 -DNONAT -DNOATM' to make targets
related to ppp when determining which object files to build and
when calculating dependencies and building the targets.
2000-11-10 15:21:37 +00:00
steve
de869208f6 Since the 'when built' phrase is talking about the 'source file' we
should be using the word 'creates' instead.
2000-11-09 02:31:02 +00:00
joe
78809b1a0a Cause prog_make targets to include a ``make obj'' rule if the -o flag
is given to crunchgen.
[ This fixes the previous commit which silently added ``make obj'' ]
2000-11-03 15:48:58 +00:00
joe
a39072b06d A missing feature of crunchgen was the ability to supply make options on
a per program basis.

This has now been added in the following way:

* Harness the make header file that's specified with the -h argument:
  - Allow the user to define $(OPTS) to specify make arguments that should
    be added to every program target.
  - Allow the user to define $(prog_OPTS) to specify make arguments that
    should just be added to the build of 'prog'.

* Make sure that $(OPTS) and $(prog_OPTS) are defined when looking through
  each program's make file to determine which object files to crunch.

* When building the crunchgen makefile add $(OPTS) and $(prog_OPTS)
  to the depend and build rules for $(prog_OBJS).
2000-11-03 15:35:27 +00:00
grog
fb570e69fa Add the description of some hard-learnt restrictions and a workaround. 2000-08-28 05:47:05 +00:00
sheldonh
b2240fc1c0 Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.
2000-03-01 14:09:25 +00:00
luigi
de5e1b620a Add a few features to crunchgen to simplify the use of existing
makefiles (for use with picobsd among other things).
See the manpage for details, but:

  * -h makefile-include-name
        can be used to specify a file to include in the makefiles
        generated by crunchgen . This is a good place to specify make
        variables such as RELEASE_CRUNCH, NOTHIS, NOTHAT and the like.

  * special progname objvar variable_name
        in the crunch config file declares a different variable than
        OBJS to be used to get the list of objects.

  * crunchgen now looks first for Makefile.<progname> in the current
    directory to override the makefile in <progname> source dir.
    This in many cases avoids the need to patch the original makefile
    if the above two features are still not enough.

Approved-By: jordan
2000-02-05 10:29:19 +00:00
peter
efabb9ccb1 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
nik
559bbb333e Add $Id$, to make it simpler for members of the translation teams to
track.

The Id line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;

     .\"    $Id$
     .\"

If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.

Approved by:            bde
1999-07-12 20:12:29 +00:00
jkh
98f9e88894 Temporary use different stubs for the ECOFF case; I'm trying to get this
to build on the alpha, first off.
1998-10-02 11:30:07 +00:00
jhay
1bfc1a72e6 Update the man page to match the rest of crunchide. 1998-09-16 09:26:14 +00:00
jkh
a4969a17ca Teach crunch about an elf/a.out world.
Submitted by:	jhay
1998-09-14 11:35:32 +00:00
jkh
e7f0dcd137 Assume ELF-style symbol names now.
Submitted by:	jhay
1998-09-14 11:33:38 +00:00
charnier
6e321f37d4 .Sh AUTHOR -> .Sh AUTHORS. Use .An/.Aq. 1998-03-23 08:31:20 +00:00
sos
e22d07fc0f Use /bin/pwd instead of a potentially shell builtin that does
not return the "real" path.
This makes it possible to have the .o files put in the /usr/obj
hierachy instead of in the /usr/src one.
1998-01-22 19:34:31 +00:00
brian
c73933598a Remove the necessity of -ldes and -lalias etc from release/Makefile.
When building a release, RELEASE_CRUNCH is defined for a `make' of
the objects required by the crunch of each program.  The object list
is still obtained in the same way, so you must make sure that all
objects are built (empty if necessary) by this make.  ppp/Makefile
provides an example.

Reviewed by: jkh
1998-01-17 14:21:21 +00:00
joerg
f94dc5b1f1 Add a new special called `keep' to the list of special options. It
provides for a means to specify an argument for crunchide's -k option.
(This is required by ntpdate.)

Submitted by:	peter@rhiannon.clari.net.au (Peter Hawkins)
1997-10-05 13:35:05 +00:00
charnier
99550d450c Use err(3). 1997-09-15 06:41:09 +00:00