Mercurial > hg > toybox
view Makefile @ 998:72bbeccf4565
fdisk: remove goto; inline valid(); merge xprintf() calls; shrink sys_types
sys_types had used char[_PATH_MAX] for 22-char max strings.
When this is done 48 times, it nearly doubles the size of toybox.
goto should only be used when it is the easiest way to bail out.
That does not mean "when we need to fall back to returning a one-liner
that asks user input", nor is it suitable for looping:
C has while () and do { } while (); for a reason.
valid was called once. As such, it belonged inline.
print_*menu could probably be inlined, but I did not do this yet
in case a table-driven approach works better.
This uses C string concatenation to break an overly long message up,
while not wasting function calls.
author | Isaac Dunham <ibid.ag@gmail.com> |
---|---|
date | Sun, 11 Aug 2013 22:00:36 -0500 |
parents | 2986aa63a021 |
children | 0af2375a8ef8 |
line wrap: on
line source
# Makefile for toybox. # Copyright 2006 Rob Landley <rob@landley.net> all: toybox toybox toybox_unstripped: .config *.[ch] lib/*.[ch] toys/*.h toys/*/*.c scripts/*.sh scripts/make.sh .PHONY: clean distclean baseline bloatcheck install install_flat \ uinstall uninstall_flat test tests help scripts/test include kconfig/Makefile $(KCONFIG_TOP): generated/Config.in generated/Config.in: toys/*/*.c scripts/genconfig.sh scripts/genconfig.sh HOSTCC?=cc # Development targets baseline: toybox_unstripped @cp toybox_unstripped toybox_old bloatcheck: toybox_old toybox_unstripped @scripts/bloatcheck toybox_old toybox_unstripped instlist: toybox $(HOSTCC) -I . scripts/install.c -o instlist install_flat: instlist scripts/install.sh --symlink --force install: scripts/install.sh --long --symlink --force uninstall_flat: instlist scripts/install.sh --uninstall uninstall: scripts/install.sh --long --uninstall clean:: rm -rf toybox toybox_unstripped generated/config.h generated/Config.in \ generated/newtoys.h generated/globals.h instlist testdir \ generated/Config.probed distclean: clean rm -f toybox_old .config* generated/help.h test: tests tests: scripts/test.sh help:: @echo ' toybox - Build toybox.' @echo ' baseline - Create busybox_old for use by bloatcheck.' @echo ' bloatcheck - Report size differences between old and current versions' @echo ' test - Run test suite against compiled commands.' @echo ' clean - Delete temporary files.' @echo " distclean - Delete everything that isn't shipped." @echo ' install_flat - Install toybox into $$PREFIX directory.' @echo ' install - Install toybox into subdirectories of $$PREFIX.' @echo ' uninstall_flat - Remove toybox from $$PREFIX directory.' @echo ' uninstall - Remove toybox from subdirectories of $$PREFIX.' @echo '' @echo 'example: CFLAGS="--static" CROSS_COMPILE=armv5l- make defconfig toybox install' @echo ''