Commit Graph

93 Commits

Author SHA1 Message Date
Rob Landley
a83a057383 Move "scripts/cross.sh all" log files into root/log. 2020-03-02 17:52:04 -06:00
Rob Landley
35666e7336 Tweak clean to delete "scripts/cross.sh all" logs.
These really should go in generated, but generated should be $GENERATED
and I need to find a way to set that so Makefile and scripts/make.sh can
use it from the same source. Right now cross.sh isn't sourcing .configure
and I don't really want to add it for this, so...
2019-10-11 12:37:27 -05:00
Rob Landley
7a58225c17 Fix up clean so we clean up after toybox-$TARGET and can do cross.sh all. 2019-09-07 00:30:59 -05:00
Rob Landley
0b3e75699e Add scripts/mkroot.sh and makefile changes for "make root".
Not in help text yet. Needs sh and route enabled in pending to do much.
todo: work through the scripts/install.sh $PENDING list and add native
toolchain support.
2019-08-22 14:34:45 -05:00
Rob Landley
a5977aa2e8 Quiet "make clean" so it doesn't fill a whole screen with output. 2019-08-22 09:29:45 -05:00
Patrick Oppenlander
e25a847c2b fix parallel make build failure
make: *** No rule to make target 'generated/Config.probed', needed by 'Config.in'.  Stop.
make: *** Waiting for unfinished jobs....
2019-08-02 16:42:46 -05:00
Patrick Oppenlander
656ad3c147 fix typo in Makefile 2019-08-02 16:42:26 -05:00
Rob Landley
c9571603db Fix "make distclean defconfig toybox" all on one line (good of $CROSS_COMPILER
changed), better error message when .config missing.
2018-10-27 10:54:18 -05:00
Francesco Valla
5efc1674a8 call strip as $STRIP
This is useful e.g. for cross toolchains that define $CC and $STRIP
instead of $CROSS_COMPILE.
2018-06-03 12:44:28 -05:00
Rob Landley
48ac4c6c4f Fix break caused by removing toys/e2fs.h. 2018-03-23 19:39:02 -05:00
Rob Landley
e1d68f5006 Move make help text out of Makefile. 2018-01-10 10:54:11 -06:00
Rob Landley
8d67721609 Fix make bloatcheck dependencies (pointed out by Patrick Oppenlander). 2017-12-19 16:16:31 -06:00
Rob Landley
cba5dc47c1 Tweak install_airlock help text. 2017-01-04 14:18:12 -06:00
Rob Landley
6c3188cf0e Add install_airlock target for hermetic build environment setup, and rebuild
headers during install to make other install targets robust against single
command builds between "make" and "make install" of multiplexer version.
2016-10-02 22:41:55 -05:00
Rob Landley
8cc325d55c Add comment so I don't undo and then redo a thing again. 2016-09-04 18:07:12 -05:00
Rob Landley
a59951489e Replace list_working with just list, "make list list_pending" shows combined list. 2016-04-20 00:47:05 -05:00
Rob Landley
a8d0d13376 Redo build stuff in response to Andy Chu's suggestions.
Toybox single binaries are now made directly with the new name instead of
stomping toybox and getting renamed.

Unstripped files now live in generated/unstripped.

Target to run all tests is now "make tests" to avoid conflict with "make test".

.singleconfig now has .PHONY: entries for all test_$NAME targets.

Default install location changed to /usr/toybox, code.html now says how
to change it (set $PREFIX).

scripts/install.sh --uninstall works now. (And you get to keep the pieces!)
2016-03-23 03:25:37 -05:00
Elliott Hughes
d3904ef623 Fix "make help" again.
Same missing quote at end of line as last time. The new additions to
the help are very useful though.
2016-03-01 21:12:25 -06:00
Rob Landley
5ec9f52a39 Add test_COMMAND for each command, update "make help" to describe TEST_HOST
and VERBOSE=fail, and fix a quote mismatch.
2016-02-19 17:56:01 -06:00
Rob Landley
05b7529c1e Add "make list", rename make working->list_working and pending->list_pending,
and filter out commands that aren't nofork but aren't installed either
(toyflags 0, I.E. recognized aliases like "-sh" called from login).
2016-02-14 14:04:21 -06:00
Rob Landley
df07fb73be Wean scripts/install.c off toys.h so cross compiling less brittle. 2016-02-10 23:27:55 -06:00
Rob Landley
712e43ef7c Add "make ls" and friends targets, with "make working" and "make pending" lists. 2016-02-07 18:15:53 -06:00
Rob Landley
9a64b8db59 Commit d20b9ff3ee fixed most of yocto building, but there was a leftover
(redundant) file built from the makefile (which _should_ just be a wrapper
for scripts/make.sh and scripts/install.sh).
2016-02-03 22:33:04 -06:00
Rob Landley
1223578c94 Fix allnoconfig. (Exporting HOSTCC before HOSTCC?=cc caused a problem.) 2015-10-05 20:47:49 -05:00
Rob Landley
5b39d5c58c Export makefile variables so you can say "make CROSS_COMPILE=blah-" as well as "CROSS_COMPILE=blah- make". 2015-10-04 08:44:17 -05:00
Elliott Hughes
58e06423be Fix an obvious typo in Makefile. 2015-03-28 13:13:42 -05:00
Rob Landley
45962a70e0 Move guts of "make change" to scripts/change.sh, don't try to build sh or help standalone.
sh builtin commands need multiplexer, help describes other enabled commands.
2015-02-14 01:08:15 -06:00
Rob Landley
5eb4475bab Clean up the output of "make change". 2015-02-07 17:19:38 -06:00
Rob Landley
e72ea20cad Add "make help" entry for "make change". 2014-12-13 11:59:10 -06:00
Rob Landley
6d33f3a8be Add "change" subdirectory to make clean. 2014-11-28 16:51:32 -06:00
Rob Landley
62390fddc7 Add "make change" target to build the big toybox binary as a bunch of little ones (in the "change" subdirectory), and tweak scripts/make.sh to avoid redundant work when rebuilding. 2014-11-28 16:49:46 -06:00
Rob Landley
94a4603481 Delete generated/README.txt (the contents are in code.html now) so clean can just remove the "generated" directory entirely. 2014-09-20 14:20:28 -05:00
Rob Landley
cd299bfc06 Forgot to check in the updated makefile when I moved the testsuite.
(Did you know you can test individual commands with scripts/test.sh command?
Now you do...)
2014-09-20 13:22:13 -05:00
Rob Landley
8aa87ab9b4 Create a generated/build.sh with a single compiler command line to rebuild the toybox_unstripped binary using the existing generated/*.h files.
This way we can snapshot the generated/*.{h,sh} from a defconfig build into
a "shipped" directory or something, and then people can maybe build on crazy
crippled environments like pcbsd that haven't got gmake and put bash under
/usr/local so none of the #!/scripts can find it. This solves at least
part of the "toybox can build with itself but you need to build toybox first
to have the tools to run the build scripts" problem.

Next up: work out the minimal config to provide the build tools needed
to run an actual build. (This should, eventually, include a "make" command
if freebsd's kernel is going to refuse to build with netbsd's "make" and
we don't just write off the whole thing as crazy. But it probably shouldn't
include commands that #include <linux/*.h> if we are trying to make that work.)
2014-09-11 20:50:10 -05:00
Rob Landley
7a07c6bc43 Make tweaks: collate generated/*.o files into their own subdirectory, add PIPEFAIL for better error reporting, and simpler regex to select toys/*/*.c list based on NEWTOY/OLDTOY macros. 2014-09-09 20:13:03 -05:00
Rob Landley
579ce3511a Update clean to clean up after new parallel build. 2014-08-10 12:01:49 -05:00
Rob Landley
15027d6de0 Probes for O_NOFOLLOW that compile and run something aren't compatible with cross compiling, so just #define it to 0 if it's not in fcntl.h where posix-2008 says. 2014-04-15 21:59:42 -05:00
Rob Landley
da60b9b163 Fix two bugs reported by Ashwini Sharma. 2014-02-28 23:04:57 -06:00
Rob Landley
86cafe1fde Replace python help converter with C implementation. 2014-01-03 18:23:09 -06:00
Rob Landley
ebe6af6d01 distclean was missing singleconfig.old. 2013-11-10 15:58:03 -06:00
Rob Landley
207cadacd3 Switch flag generation from shell to C.
This should actually generate FLAG_longopt 0 #defines for disabled bare
longopts (ala ls without --color). Put temporary executables under "generated"
(including instlist for install).
2013-10-03 03:18:00 -05:00
Rob Landley
d04dc1feb9 Add scripts/single.sh to build individual non-multiplexed standalone commands.
Alas, you can't quite do this yet:

  make defconfig
  make
  for i in $(./toybox)
  do
    echo $i
    PREFIX=singles/ scripts/single.sh $i || break
  done

Because the OLDTOY() aliases for commands won't build without the base command.
And I can't just skip them because chown/chmod or mv/cp aren't the same thing.
2013-08-30 01:53:31 -05:00
Rob Landley
dd2d239302 More grep cleanup, and make OPTSTR_command macros for use with OLDTOY() 2013-08-12 01:48:27 -05:00
Rob Landley
3a9241add9 Move commands into "posix", "lsb", and "other" menus/directories. 2012-08-25 14:25:22 -05:00
Rob Landley
97abd4a981 Replace CCFLAGS with description of how to add flags to HOSTCC. 2012-06-18 23:23:24 -05:00
Rob Landley
f2e61cb1bb Now that generated/Config.probed is its own file, add it to build dependencies. 2012-02-28 06:34:35 -06:00
Rob Landley
7a4551ff5e Replace GPL python debug script with BSD shell script. 2012-02-21 21:27:10 -06:00
Rob Landley
fcf188ffdb Set HOSTCC only if it isn't already set as an environment variable. 2012-02-19 22:21:45 -06:00
Rob Landley
09e8bde9f2 Add a basic README and an example to "make help". 2012-02-04 12:20:39 -06:00
Rob Landley
27f5779a7a Add autodetect for container support. 2012-02-03 23:16:28 -06:00