Commit Graph

47 Commits

Author SHA1 Message Date
ross 2a76afae02 Generate <>& symbolically. I'm avoiding .../dist/... directories for now. 2002-02-08 01:36:18 +00:00
lukem 2321ad750f CRUNCHEDPROG=1 is a bit more useful if it's also defined when
determining prog_OBJPATHS ...
2002-02-02 12:25:35 +00:00
lukem ab2c3dcd21 pass CRUNCHEDPROG=1 to make(1) when building progs from their Makefiles.
allows different options for programs that are being crunchgen(3)ed.
2002-02-02 12:14:41 +00:00
tv 554a73a4ce Include config.h for host tool; protect __RCSID. 2002-01-31 19:24:47 +00:00
ragge a8858d3140 Add special command "keepsymbols", allows the specified external symbols
not to be hidden. From Jens Nilsson, jens@rockstorm.se.
2002-01-25 12:05:00 +00:00
wiz a48cf1293d Use .Bd -literal. 2001-12-01 19:02:07 +00:00
tv 5da3f37a1c Use .PATH to find mkskel.sh; formatting cleanup. 2001-11-12 18:53:40 +00:00
jmc edf781f5fc Oops...don't nuke the global symbols with objcopy. Just keep the crunched stub
and revert the others to locals
2001-11-08 07:35:00 +00:00
drochner ae7b2f469f remove superflouos arguments to fprintf() 2001-11-07 18:22:39 +00:00
christos 3058ad6190 make sure that we ramdiskbin is static. By the numbscull! Nobody tested this?
BTW. it seems that only make working floppies with USETOOLS=no. Will
investigate more.
2001-11-07 04:48:07 +00:00
thorpej 32928fda0d When adding something to CPPFLAGS, use +=, not = 2001-10-25 01:47:11 +00:00
jmc 0fbad14c98 Check for MAKEFLAGS in the env and pass those to the test make's run for
finding obj files. Otherwise -m <new mk files> won't get passed and can
cause problems on some cross builds.
2001-10-21 23:06:59 +00:00
jmc 6addac288f If USE_NEW_TOOLCHAIN is defined use objcopy instead of crunchide as it works now. 2001-10-05 22:52:56 +00:00
wiz fc7396be3d Whitespace, punctuation, section header fixes, sort sections. 2001-10-04 11:20:39 +00:00
jmc ab4dcdab07 Convert makefile to use bsd.prog.mk. Makes linking work since the .mk file
takes care of it and this will handle a DESTDIR build setup then.
2001-10-04 07:34:47 +00:00
jmc 03648a201b Add a -d option to set the DBG flag to whatever flags the builder wants. If
it's not set, default to -Os (so it's not hard coded into the binary.)

Generate a makefile by default that does all object file builds in local
subdirs by binary (i.e. bad144 gets built in $OBJDIR/bad144) via a reach over
make. (Sets .PATH and .CURDIR and does a make for the objects needed in that
dir).

Add a -o option that does the old behavior of searching for obj files by
querying the various object environment vars and searching. Without this
option none of the objdir special options, environment vars, etc will have
effect.

Document all the changes in the man page (and specificly note that without -o
none of the objdir functions take effect).
2001-10-04 04:17:04 +00:00
tls 5cb98b6cb9 Fix some lossage in previous commit: don't remove everything when cleaning
in a source directory, just the object files.  This is a _very temporary_
fix; I will untangle the meaning of UPDATE, etc. in this context presently.
2001-09-24 01:05:47 +00:00
tls 0b6a2936aa Changes to the emitted makefiles that actually build the objects:
1) Always do a make clean before building objects in any directory.  This
   is wasteful, but there's really no other simple way to cope with the
   fact that the compilation settings (e.g. CFLAGS) appropriate for the
   non-crunched build of a program may not be appropriate for the crunched
   build.  If the objdir magic in make didn't rely upon the presence of an
   "obj" or "obj.${MACHINE}" symlink, we could abuse it to handle this but
   unfortunately, it does.

2) Override $DBG to cause object files to be built with -Os.  We can't emit
   "DBG?=" into the generated makefile because of order-of-inclusion issues
   with the system Makefiles; the result would be that the default setting
   (currently -O2) would always be used instead of -Os.  If you're crunching,
   you almost certainly are doing it to get a smaller executable (!) so -Os
   is almost certainly appropriate for you.
2001-09-24 00:40:35 +00:00
christos 35d2e40e99 fix nested extern 2001-02-05 01:39:27 +00:00
garbled 35e9659b6d change the direct call to crunchide to ${CRUNCHIDE} 2000-11-01 07:16:02 +00:00
garbled 3cc7cf211a While I'm here.. document the rest of the environment variables I found in
this program.
2000-10-30 10:16:15 +00:00
garbled 4c2d830e97 Document the MAKE environment variable. 2000-10-30 10:02:39 +00:00
garbled 331c044669 Modify this to obey $MAKE in the environment, instead of allways calling
"make" hardcoded.  This should cause my cross-ramdisk-builds to stop
blowing a gasket.
2000-10-30 09:55:09 +00:00
matt a28f4d4751 Teach crunchgen.c about MAKEOBJDIRPREFIX. 2000-09-08 17:20:47 +00:00
mycroft 886d104ff1 Fix uninitialized structure element. 2000-06-11 14:31:11 +00:00
simonb d88dfea295 Don't declare 'extern opt*' getopt variables. 2000-04-14 06:11:07 +00:00
mycroft 5086341bbf Don't try to use /tmp/Makefile... 2000-01-24 18:07:54 +00:00
sommerfeld dd51978a5a Make rules for finding object directory match those used by make:
obj.${MACHINE} takes precedence over obj.
the generated makefile should probably just use the print-objdir hack instead.
2000-01-09 16:37:28 +00:00
tsutsui 5cb06e6456 Use uname(3) to determine MACHINE type. 2000-01-09 04:54:53 +00:00
cgd 7c91150061 put temporary file in /tmp, and cd into src dirs and make w/ "Makefile"
(rather than making w/ "srcdir/Makefile") so that relative path specs in
srcdirs work out correctly.
1999-06-21 05:57:10 +00:00
wrstuden ad4097b67b Generate a makefile which is cross-crunching compatabile:
1) Include bsd.sys.mk so we pick up DESTDIR changes to fine .h files.
2) Only set STRIP if it's unset.
3) Generate .cro files rather than .lo files. .lo now is used for "local
	objects" - obj's for the host machine not the target machine.
1999-05-06 18:40:39 +00:00
garbled 9e44e9b578 More and more .Os cleanups. .Os is defined in the tmac.doc-common file,
so we shouldn't override it with versions in the manpages.  Many more to
come.
1999-03-22 18:16:34 +00:00
mycroft a1c657fe56 Clean up SYNOPSIS formatting. 1999-03-07 11:29:58 +00:00
mrg 227ed1e3ff add another caveat entry. 1998-12-21 13:41:38 +00:00
wrstuden 67db0c4b38 Teach crunchgen to play nice in a cross-compiling environment. Make
the machine type a run-time decision a la make. Also, use ${LD}
for the linker, not ld.

Note: you will have to delete the crunchgen cache file for these
changes to take effect.
1998-09-13 05:32:18 +00:00
mycroft 519d858510 __AUDIT__ cleanup. 1998-07-28 19:22:54 +00:00
perry 34a98169f0 macroize BSD, NetBSD, FreeBSD and misc cleanup 1998-02-06 05:54:12 +00:00
lukem 8ba07ab0b3 use CPPFLAGS instead of CFLAGS 1997-10-24 09:00:17 +00:00
hubertf 9950ba9dbb Fix type: srt-root -> src-root 1997-09-24 00:47:34 +00:00
perry 88a54d8a99 1) RCSid police
2) Add __RCSIDs where apropriate.
3) WARNS=1, and clean up sources for WARNS=1 (including replacement of
   a mktemp with a mkstemp even though it was probably safe...)
4) Some other small cosmetic changes
1997-08-02 21:30:05 +00:00
cgd 20741c52e9 give crunchide a C label name with -k, since crunchgen really doesn't
want to have to care about the object format in use, and C label prefix
is object format dependent.
1997-01-23 05:07:22 +00:00
cgd 9e2f98f172 clean up formatting glitches (bogus newlines in source) 1997-01-23 05:03:49 +00:00
pk a1edfa1874 Apply `topdir' prefix to relative paths in `special srcdir <prog> <path>'
lines.
1996-05-04 14:37:23 +00:00
gwr 4dab4feee0 Allow an override of STRIP=something_else in the generated makefile. 1995-10-08 23:13:44 +00:00
cgd e36baaae46 add two flags:
-D to specify a "root" from which relative source dir paths
		are assumed to begin, and
	-L to specify the library path for included libs.
1995-05-12 21:13:13 +00:00
cgd e1a9c4fa17 local changes; install into /usr/bin, deal with sh warnings, deal with obj.MACHINE, etc. 1994-08-29 15:08:25 +00:00
cgd ee36043f2b crunch, from James da Silva at UMD 1994-08-29 14:47:29 +00:00