You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
3.1 KiB
90 lines
3.1 KiB
# Makefile for toybox. |
|
# Copyright 2006 Rob Landley <rob@landley.net> |
|
|
|
# If people set these on the make command line, use 'em |
|
# Note that CC defaults to "cc" so the one in configure doesn't get |
|
# used when scripts/make.sh and care called through "make". |
|
|
|
HOSTCC?=cc |
|
|
|
export CROSS_COMPILE CFLAGS OPTIMIZE LDOPTIMIZE CC HOSTCC V |
|
|
|
all: toybox |
|
|
|
KCONFIG_CONFIG ?= .config |
|
|
|
toybox_stuff: $(KCONFIG_CONFIG) *.[ch] lib/*.[ch] toys/*.h toys/*/*.c scripts/*.sh |
|
|
|
toybox generated/unstripped/toybox: toybox_stuff |
|
scripts/make.sh |
|
|
|
.PHONY: clean distclean baseline bloatcheck install install_flat \ |
|
uinstall uninstall_flat tests help toybox_stuff change \ |
|
list list_working list_pending |
|
|
|
include kconfig/Makefile |
|
-include .singlemake |
|
|
|
$(KCONFIG_CONFIG): $(KCONFIG_TOP) |
|
$(KCONFIG_TOP): generated/Config.in |
|
generated/Config.in: toys/*/*.c scripts/genconfig.sh |
|
scripts/genconfig.sh |
|
|
|
# Development targets |
|
baseline: generated/unstripped/toybox |
|
@cp generated/unstripped/toybox generated/unstripped/toybox_old |
|
|
|
bloatcheck: toybox_old generated/unstripped/toybox |
|
@scripts/bloatcheck generated/unstripped/toybox_old generated/unstripped/toybox |
|
|
|
install_flat: |
|
scripts/install.sh --symlink --force |
|
|
|
install_airlock: |
|
scripts/install.sh --symlink --force --airlock |
|
|
|
install: |
|
scripts/install.sh --long --symlink --force |
|
|
|
uninstall_flat: |
|
scripts/install.sh --uninstall |
|
|
|
uninstall: |
|
scripts/install.sh --long --uninstall |
|
|
|
change: |
|
scripts/change.sh |
|
|
|
clean:: |
|
rm -rf toybox generated change .singleconfig* |
|
|
|
# If singlemake was in generated/ "make clean; make test_ls" wouldn't work. |
|
distclean: clean |
|
rm -f toybox_old .config* .singlemake |
|
|
|
tests: |
|
scripts/test.sh |
|
|
|
help:: |
|
@echo ' toybox - Build toybox.' |
|
@echo ' COMMANDNAME - Build individual toybox command as a standalone binary.' |
|
@echo ' list - List COMMANDNAMEs you can build standalone.' |
|
@echo ' list_pending - List unfinished COMMANDNAMEs out of toys/pending.' |
|
@echo ' change - Build each command standalone under change/.' |
|
@echo ' baseline - Create toybox_old for use by bloatcheck.' |
|
@echo ' bloatcheck - Report size differences between old and current versions' |
|
@echo ' test_COMMAND - Run tests for COMMAND (test_ps, test_cat, etc.)' |
|
@echo ' tests - Run test suite against all compiled commands.' |
|
@echo ' export TEST_HOST=1 to test host command, VERBOSE=1' |
|
@echo ' to show diff, VERBOSE=fail to stop after first failure.' |
|
@echo ' clean - Delete temporary files.' |
|
@echo " distclean - Delete everything that isn't shipped." |
|
@echo ' install_airlock - Install toybox and host toolchain into $$PREFIX directory' |
|
@echo ' (providing $$PATH for hermetic builds).' |
|
@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 ''
|
|
|