annotate Makefile @ 1115:349424387e22 draft

Break out lib/pending.h from lib/lib.h.
author Rob Landley <rob@landley.net>
date Sun, 10 Nov 2013 18:20:16 -0600
parents 1f6c07e46f99
children 260cce6c3e35
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14
f8e628f61f16 Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents: 7
diff changeset
1 # Makefile for toybox.
f8e628f61f16 Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents: 7
diff changeset
2 # Copyright 2006 Rob Landley <rob@landley.net>
f8e628f61f16 Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents: 7
diff changeset
3
f8e628f61f16 Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents: 7
diff changeset
4 all: toybox
f8e628f61f16 Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents: 7
diff changeset
5
1032
40d0c96a8e89 Add scripts/single.sh to build individual non-multiplexed standalone commands.
Rob Landley <rob@landley.net>
parents: 999
diff changeset
6 KCONFIG_CONFIG ?= .config
40d0c96a8e89 Add scripts/single.sh to build individual non-multiplexed standalone commands.
Rob Landley <rob@landley.net>
parents: 999
diff changeset
7 toybox toybox_unstripped: $(KCONFIG_CONFIG) *.[ch] lib/*.[ch] toys/*.h toys/*/*.c scripts/*.sh
233
d4176f3f3835 Zap toys/Config.in and instead create generated/Config.in from contents of
Rob Landley <rob@landley.net>
parents: 232
diff changeset
8 scripts/make.sh
d4176f3f3835 Zap toys/Config.in and instead create generated/Config.in from contents of
Rob Landley <rob@landley.net>
parents: 232
diff changeset
9
274
5b948171e495 Add uninstall and uninstall_flat.
Rob Landley <rob@landley.net>
parents: 273
diff changeset
10 .PHONY: clean distclean baseline bloatcheck install install_flat \
276
e711e375e9c6 Wow is make stupid. (Ahem, full of "magic, implicit rules". Which are stupid.)
Rob Landley <rob@landley.net>
parents: 275
diff changeset
11 uinstall uninstall_flat test tests help scripts/test
14
f8e628f61f16 Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents: 7
diff changeset
12
f8e628f61f16 Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents: 7
diff changeset
13 include kconfig/Makefile
1
59d58fab67c6 Next snapshot. Tries to grab something out of lib in order to build, I have
landley@driftwood
parents:
diff changeset
14
233
d4176f3f3835 Zap toys/Config.in and instead create generated/Config.in from contents of
Rob Landley <rob@landley.net>
parents: 232
diff changeset
15 $(KCONFIG_TOP): generated/Config.in
653
2986aa63a021 Move commands into "posix", "lsb", and "other" menus/directories.
Rob Landley <rob@landley.net>
parents: 603
diff changeset
16 generated/Config.in: toys/*/*.c scripts/genconfig.sh
233
d4176f3f3835 Zap toys/Config.in and instead create generated/Config.in from contents of
Rob Landley <rob@landley.net>
parents: 232
diff changeset
17 scripts/genconfig.sh
19
414625f97667 Better dependencies, and feed the linker --gc-sections. (Which is not an
Rob Landley <rob@landley.net>
parents: 14
diff changeset
18
484
4099d3026e56 Set HOSTCC only if it isn't already set as an environment variable.
Rob Landley <rob@landley.net>
parents: 429
diff changeset
19 HOSTCC?=cc
14
f8e628f61f16 Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents: 7
diff changeset
20
41
a43bdc6f53af Add bloat-o-meter, make bloatcheck, and scripts/showasm.
Rob Landley <rob@landley.net>
parents: 38
diff changeset
21 # Development targets
a43bdc6f53af Add bloat-o-meter, make bloatcheck, and scripts/showasm.
Rob Landley <rob@landley.net>
parents: 38
diff changeset
22 baseline: toybox_unstripped
a43bdc6f53af Add bloat-o-meter, make bloatcheck, and scripts/showasm.
Rob Landley <rob@landley.net>
parents: 38
diff changeset
23 @cp toybox_unstripped toybox_old
a43bdc6f53af Add bloat-o-meter, make bloatcheck, and scripts/showasm.
Rob Landley <rob@landley.net>
parents: 38
diff changeset
24
a43bdc6f53af Add bloat-o-meter, make bloatcheck, and scripts/showasm.
Rob Landley <rob@landley.net>
parents: 38
diff changeset
25 bloatcheck: toybox_old toybox_unstripped
492
f3169b2492f1 Replace GPL python debug script with BSD shell script.
Rob Landley <rob@landley.net>
parents: 484
diff changeset
26 @scripts/bloatcheck toybox_old toybox_unstripped
41
a43bdc6f53af Add bloat-o-meter, make bloatcheck, and scripts/showasm.
Rob Landley <rob@landley.net>
parents: 38
diff changeset
27
1076
1c15ba60aa64 Switch flag generation from shell to C.
Rob Landley <rob@landley.net>
parents: 1032
diff changeset
28 generated/instlist: toybox
1c15ba60aa64 Switch flag generation from shell to C.
Rob Landley <rob@landley.net>
parents: 1032
diff changeset
29 $(HOSTCC) -I . scripts/install.c -o generated/instlist
89
4f5cdc6552da Add make install_flat.
Rob Landley <rob@landley.net>
parents: 47
diff changeset
30
1076
1c15ba60aa64 Switch flag generation from shell to C.
Rob Landley <rob@landley.net>
parents: 1032
diff changeset
31 install_flat: generated/instlist
273
e589555d6416 Add install target, and make install_flat use scripts/install.sh
Rob Landley <rob@landley.net>
parents: 265
diff changeset
32 scripts/install.sh --symlink --force
e589555d6416 Add install target, and make install_flat use scripts/install.sh
Rob Landley <rob@landley.net>
parents: 265
diff changeset
33
e589555d6416 Add install target, and make install_flat use scripts/install.sh
Rob Landley <rob@landley.net>
parents: 265
diff changeset
34 install:
e589555d6416 Add install target, and make install_flat use scripts/install.sh
Rob Landley <rob@landley.net>
parents: 265
diff changeset
35 scripts/install.sh --long --symlink --force
89
4f5cdc6552da Add make install_flat.
Rob Landley <rob@landley.net>
parents: 47
diff changeset
36
1076
1c15ba60aa64 Switch flag generation from shell to C.
Rob Landley <rob@landley.net>
parents: 1032
diff changeset
37 uninstall_flat: generated/instlist
274
5b948171e495 Add uninstall and uninstall_flat.
Rob Landley <rob@landley.net>
parents: 273
diff changeset
38 scripts/install.sh --uninstall
5b948171e495 Add uninstall and uninstall_flat.
Rob Landley <rob@landley.net>
parents: 273
diff changeset
39
5b948171e495 Add uninstall and uninstall_flat.
Rob Landley <rob@landley.net>
parents: 273
diff changeset
40 uninstall:
5b948171e495 Add uninstall and uninstall_flat.
Rob Landley <rob@landley.net>
parents: 273
diff changeset
41 scripts/install.sh --long --uninstall
5b948171e495 Add uninstall and uninstall_flat.
Rob Landley <rob@landley.net>
parents: 273
diff changeset
42
14
f8e628f61f16 Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents: 7
diff changeset
43 clean::
265
c7645fab8d73 Don't delete testdir after running test.sh. Add it to make clean instead.
Rob Landley <rob@landley.net>
parents: 260
diff changeset
44 rm -rf toybox toybox_unstripped generated/config.h generated/Config.in \
1076
1c15ba60aa64 Switch flag generation from shell to C.
Rob Landley <rob@landley.net>
parents: 1032
diff changeset
45 generated/newtoys.h generated/globals.h testdir \
1c15ba60aa64 Switch flag generation from shell to C.
Rob Landley <rob@landley.net>
parents: 1032
diff changeset
46 generated/Config.probed generated/oldtoys.h generated/flags.h \
1113
1f6c07e46f99 distclean was missing singleconfig.old.
Rob Landley <rob@landley.net>
parents: 1076
diff changeset
47 generated/portability.h .singleconfig .singleconfig.old \
1f6c07e46f99 distclean was missing singleconfig.old.
Rob Landley <rob@landley.net>
parents: 1076
diff changeset
48 generated/instlist generated/mkflags
14
f8e628f61f16 Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents: 7
diff changeset
49
f8e628f61f16 Make the config generate gen_config.h with CFG_ and USE() macros.
Rob Landley <rob@landley.net>
parents: 7
diff changeset
50 distclean: clean
232
cd4d5630c978 Move some generated files into the "generated" subdirectory.
Rob Landley <rob@landley.net>
parents: 196
diff changeset
51 rm -f toybox_old .config* generated/help.h
41
a43bdc6f53af Add bloat-o-meter, make bloatcheck, and scripts/showasm.
Rob Landley <rob@landley.net>
parents: 38
diff changeset
52
133
a459c6b39645 Fix makefile to defconfig properly, and leak in a bit of the new test
Rob Landley <rob@landley.net>
parents: 123
diff changeset
53 test: tests
a459c6b39645 Fix makefile to defconfig properly, and leak in a bit of the new test
Rob Landley <rob@landley.net>
parents: 123
diff changeset
54
a459c6b39645 Fix makefile to defconfig properly, and leak in a bit of the new test
Rob Landley <rob@landley.net>
parents: 123
diff changeset
55 tests:
275
005af6006ce3 Update help, move test.sh to scripts, and fix "make test" to call right script.
Rob Landley <rob@landley.net>
parents: 274
diff changeset
56 scripts/test.sh
133
a459c6b39645 Fix makefile to defconfig properly, and leak in a bit of the new test
Rob Landley <rob@landley.net>
parents: 123
diff changeset
57
41
a43bdc6f53af Add bloat-o-meter, make bloatcheck, and scripts/showasm.
Rob Landley <rob@landley.net>
parents: 38
diff changeset
58 help::
233
d4176f3f3835 Zap toys/Config.in and instead create generated/Config.in from contents of
Rob Landley <rob@landley.net>
parents: 232
diff changeset
59 @echo ' toybox - Build toybox.'
41
a43bdc6f53af Add bloat-o-meter, make bloatcheck, and scripts/showasm.
Rob Landley <rob@landley.net>
parents: 38
diff changeset
60 @echo ' baseline - Create busybox_old for use by bloatcheck.'
a43bdc6f53af Add bloat-o-meter, make bloatcheck, and scripts/showasm.
Rob Landley <rob@landley.net>
parents: 38
diff changeset
61 @echo ' bloatcheck - Report size differences between old and current versions'
233
d4176f3f3835 Zap toys/Config.in and instead create generated/Config.in from contents of
Rob Landley <rob@landley.net>
parents: 232
diff changeset
62 @echo ' test - Run test suite against compiled commands.'
d4176f3f3835 Zap toys/Config.in and instead create generated/Config.in from contents of
Rob Landley <rob@landley.net>
parents: 232
diff changeset
63 @echo ' clean - Delete temporary files.'
400
a5ceeeae7f43 Fix "make help".
Rob Landley <rob@landley.net>
parents: 349
diff changeset
64 @echo " distclean - Delete everything that isn't shipped."
a5ceeeae7f43 Fix "make help".
Rob Landley <rob@landley.net>
parents: 349
diff changeset
65 @echo ' install_flat - Install toybox into $$PREFIX directory.'
a5ceeeae7f43 Fix "make help".
Rob Landley <rob@landley.net>
parents: 349
diff changeset
66 @echo ' install - Install toybox into subdirectories of $$PREFIX.'
a5ceeeae7f43 Fix "make help".
Rob Landley <rob@landley.net>
parents: 349
diff changeset
67 @echo ' uninstall_flat - Remove toybox from $$PREFIX directory.'
a5ceeeae7f43 Fix "make help".
Rob Landley <rob@landley.net>
parents: 349
diff changeset
68 @echo ' uninstall - Remove toybox from subdirectories of $$PREFIX.'
429
27104029d771 Add a basic README and an example to "make help".
Rob Landley <rob@landley.net>
parents: 426
diff changeset
69 @echo ''
27104029d771 Add a basic README and an example to "make help".
Rob Landley <rob@landley.net>
parents: 426
diff changeset
70 @echo 'example: CFLAGS="--static" CROSS_COMPILE=armv5l- make defconfig toybox install'
27104029d771 Add a basic README and an example to "make help".
Rob Landley <rob@landley.net>
parents: 426
diff changeset
71 @echo ''