Rob Landley | 401ae8f | 2006-11-01 22:26:25 -0500 | [diff] [blame] | 1 | # Makefile for toybox. |
| 2 | # Copyright 2006 Rob Landley <rob@landley.net> |
landley | c562150 | 2006-09-28 17:18:51 -0400 | [diff] [blame] | 3 | |
Rob Landley | 5b39d5c | 2015-10-04 08:44:17 -0500 | [diff] [blame] | 4 | # If people set these on the make command line, use 'em |
| 5 | # Note that CC defaults to "cc" so the one in configure doesn't get |
| 6 | # used when scripts/make.sh and care called through "make". |
Rob Landley | 1223578 | 2015-10-05 20:47:49 -0500 | [diff] [blame] | 7 | |
| 8 | HOSTCC?=cc |
| 9 | |
Francesco Valla | 5efc167 | 2018-06-02 16:09:22 +0200 | [diff] [blame] | 10 | export CROSS_COMPILE CFLAGS OPTIMIZE LDOPTIMIZE CC HOSTCC V STRIP |
Rob Landley | 5b39d5c | 2015-10-04 08:44:17 -0500 | [diff] [blame] | 11 | |
Rob Landley | 401ae8f | 2006-11-01 22:26:25 -0500 | [diff] [blame] | 12 | all: toybox |
| 13 | |
Rob Landley | d04dc1f | 2013-08-30 01:53:31 -0500 | [diff] [blame] | 14 | KCONFIG_CONFIG ?= .config |
Rob Landley | 62390fd | 2014-11-28 16:49:46 -0600 | [diff] [blame] | 15 | |
Rob Landley | 48ac4c6 | 2018-03-23 19:39:02 -0500 | [diff] [blame] | 16 | toybox_stuff: $(KCONFIG_CONFIG) *.[ch] lib/*.[ch] toys/*/*.c scripts/*.sh |
Rob Landley | 62390fd | 2014-11-28 16:49:46 -0600 | [diff] [blame] | 17 | |
Rob Landley | a8d0d13 | 2016-03-23 03:25:37 -0500 | [diff] [blame] | 18 | toybox generated/unstripped/toybox: toybox_stuff |
Rob Landley | 2896480 | 2008-01-19 17:08:39 -0600 | [diff] [blame] | 19 | scripts/make.sh |
| 20 | |
Rob Landley | bf081b9 | 2008-03-28 00:40:57 -0500 | [diff] [blame] | 21 | .PHONY: clean distclean baseline bloatcheck install install_flat \ |
Rob Landley | a8d0d13 | 2016-03-23 03:25:37 -0500 | [diff] [blame] | 22 | uinstall uninstall_flat tests help toybox_stuff change \ |
Rob Landley | 0b3e756 | 2019-08-22 14:34:45 -0500 | [diff] [blame] | 23 | list list_working list_pending root run_root |
Rob Landley | 401ae8f | 2006-11-01 22:26:25 -0500 | [diff] [blame] | 24 | |
| 25 | include kconfig/Makefile |
Rob Landley | 712e43e | 2016-02-07 18:15:53 -0600 | [diff] [blame] | 26 | -include .singlemake |
Rob Landley | 401ae8f | 2006-11-01 22:26:25 -0500 | [diff] [blame] | 27 | |
Rob Landley | 62390fd | 2014-11-28 16:49:46 -0600 | [diff] [blame] | 28 | $(KCONFIG_CONFIG): $(KCONFIG_TOP) |
Patrick Oppenlander | 656ad3c | 2019-08-02 16:35:16 +1000 | [diff] [blame] | 29 | @if [ -e "$(KCONFIG_CONFIG)" ]; then make silentoldconfig; \ |
Rob Landley | c957160 | 2018-10-27 10:54:18 -0500 | [diff] [blame] | 30 | else echo "Not configured (run 'make defconfig' or 'make menuconfig')";\ |
| 31 | exit 1; fi |
| 32 | |
| 33 | $(KCONFIG_TOP): generated/Config.in generated/Config.probed |
Patrick Oppenlander | e25a847 | 2019-08-02 16:35:43 +1000 | [diff] [blame] | 34 | generated/Config.probed: generated/Config.in |
Rob Landley | 3a9241a | 2012-08-25 14:25:22 -0500 | [diff] [blame] | 35 | generated/Config.in: toys/*/*.c scripts/genconfig.sh |
Rob Landley | 2896480 | 2008-01-19 17:08:39 -0600 | [diff] [blame] | 36 | scripts/genconfig.sh |
Rob Landley | de05a70 | 2007-01-31 14:37:01 -0500 | [diff] [blame] | 37 | |
Rob Landley | cd2edfd | 2006-11-26 18:47:14 -0500 | [diff] [blame] | 38 | # Development targets |
Rob Landley | a8d0d13 | 2016-03-23 03:25:37 -0500 | [diff] [blame] | 39 | baseline: generated/unstripped/toybox |
| 40 | @cp generated/unstripped/toybox generated/unstripped/toybox_old |
Rob Landley | cd2edfd | 2006-11-26 18:47:14 -0500 | [diff] [blame] | 41 | |
Rob Landley | 8d67721 | 2017-12-19 16:16:31 -0600 | [diff] [blame] | 42 | bloatcheck: generated/unstripped/toybox_old generated/unstripped/toybox |
Rob Landley | a8d0d13 | 2016-03-23 03:25:37 -0500 | [diff] [blame] | 43 | @scripts/bloatcheck generated/unstripped/toybox_old generated/unstripped/toybox |
Rob Landley | cd2edfd | 2006-11-26 18:47:14 -0500 | [diff] [blame] | 44 | |
Rob Landley | 9a64b8d | 2016-02-03 22:33:04 -0600 | [diff] [blame] | 45 | install_flat: |
Rob Landley | 05fbd1e | 2008-03-28 00:09:31 -0500 | [diff] [blame] | 46 | scripts/install.sh --symlink --force |
| 47 | |
Rob Landley | 6c3188c | 2016-10-02 22:41:55 -0500 | [diff] [blame] | 48 | install_airlock: |
| 49 | scripts/install.sh --symlink --force --airlock |
| 50 | |
Rob Landley | 05fbd1e | 2008-03-28 00:09:31 -0500 | [diff] [blame] | 51 | install: |
| 52 | scripts/install.sh --long --symlink --force |
Rob Landley | bcfad87 | 2007-01-31 14:18:05 -0500 | [diff] [blame] | 53 | |
Rob Landley | df07fb7 | 2016-02-10 23:27:55 -0600 | [diff] [blame] | 54 | uninstall_flat: |
Rob Landley | bf081b9 | 2008-03-28 00:40:57 -0500 | [diff] [blame] | 55 | scripts/install.sh --uninstall |
| 56 | |
| 57 | uninstall: |
| 58 | scripts/install.sh --long --uninstall |
| 59 | |
Rob Landley | 5eb4475 | 2015-02-07 17:19:38 -0600 | [diff] [blame] | 60 | change: |
Rob Landley | 45962a7 | 2015-02-14 01:08:15 -0600 | [diff] [blame] | 61 | scripts/change.sh |
Rob Landley | 62390fd | 2014-11-28 16:49:46 -0600 | [diff] [blame] | 62 | |
Rob Landley | 7a58225 | 2019-09-07 00:30:59 -0500 | [diff] [blame] | 63 | root_clean: |
Rob Landley | 0b3e756 | 2019-08-22 14:34:45 -0500 | [diff] [blame] | 64 | @rm -rf root |
Rob Landley | 7a58225 | 2019-09-07 00:30:59 -0500 | [diff] [blame] | 65 | @echo root cleaned |
| 66 | |
| 67 | clean:: |
Rob Landley | 35666e7 | 2019-10-11 12:28:05 -0500 | [diff] [blame] | 68 | @rm -rf toybox generated change .singleconfig* cross-log-*.* |
Rob Landley | 0b3e756 | 2019-08-22 14:34:45 -0500 | [diff] [blame] | 69 | @echo cleaned |
| 70 | |
Rob Landley | 8cc325d | 2016-09-04 18:07:12 -0500 | [diff] [blame] | 71 | # If singlemake was in generated/ "make clean; make test_ls" wouldn't work. |
Rob Landley | 7a58225 | 2019-09-07 00:30:59 -0500 | [diff] [blame] | 72 | distclean: clean root_clean |
| 73 | @rm -f toybox* .config* .singlemake |
Rob Landley | 0b3e756 | 2019-08-22 14:34:45 -0500 | [diff] [blame] | 74 | @echo removed .config |
Rob Landley | cd2edfd | 2006-11-26 18:47:14 -0500 | [diff] [blame] | 75 | |
Rob Landley | e35f2b8 | 2007-06-18 01:09:00 -0400 | [diff] [blame] | 76 | tests: |
Rob Landley | 9d243a2 | 2008-03-28 00:44:44 -0500 | [diff] [blame] | 77 | scripts/test.sh |
Rob Landley | e35f2b8 | 2007-06-18 01:09:00 -0400 | [diff] [blame] | 78 | |
Rob Landley | 0b3e756 | 2019-08-22 14:34:45 -0500 | [diff] [blame] | 79 | root: |
| 80 | scripts/mkroot.sh $(MAKEFLAGS) |
| 81 | |
| 82 | run_root: |
| 83 | C=$$(basename "$$CROSS_COMPILE" | sed 's/-.*//'); \ |
Rob Landley | 7a58225 | 2019-09-07 00:30:59 -0500 | [diff] [blame] | 84 | cd root/"$${C:-host}" && ./qemu-*.sh $(MAKEFLAGS) || exit 1 |
Rob Landley | 0b3e756 | 2019-08-22 14:34:45 -0500 | [diff] [blame] | 85 | |
Rob Landley | cd2edfd | 2006-11-26 18:47:14 -0500 | [diff] [blame] | 86 | help:: |
Rob Landley | e1d68f5 | 2018-01-10 10:54:11 -0600 | [diff] [blame] | 87 | @cat scripts/help.txt |