view Makefile @ 1359:fa1a3b9eed6f draft

Tweak license page to explicitly say that zero clause BSD is functionally equivalent to placing the code in the public domain. This license variant looks like BSD, but is an unrestricted permission grant that doesn't require you to copy specific license text into derivative works. (The second paragraph is about something we DON'T do, I.E. provide any sort of warantee, and is just boilerplate from BSD to make it look like a BSD license.)
author Rob Landley <rob@landley.net>
date Tue, 24 Jun 2014 07:00:13 -0500
parents 565980862743
children e19c00f44c31
line wrap: on
line source

# Makefile for toybox.
# Copyright 2006 Rob Landley <rob@landley.net>

all: toybox

KCONFIG_CONFIG ?= .config
toybox toybox_unstripped: $(KCONFIG_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

generated/instlist: toybox
	$(HOSTCC) -I . scripts/install.c -o generated/instlist

install_flat: generated/instlist
	scripts/install.sh --symlink --force

install:
	scripts/install.sh --long --symlink --force

uninstall_flat: generated/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 testdir \
		generated/Config.probed generated/oldtoys.h generated/flags.h \
		.singleconfig .singleconfig.old generated/help.h \
		generated/instlist generated/mkflags generated/config2help

distclean: clean
	rm -f toybox_old .config*

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  ''