annotate Makefile @ 1278:324306321d82 draft

Initial cleanup of last: mostly whitespace, move no record test to start of loop, don't bother to stat an empty file to report when an empty log was created (just report current time).
author Rob Landley <rob@landley.net>
date Sat, 10 May 2014 13:20:03 -0500
parents 565980862743
children e19c00f44c31
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 \
1211
40e0f7b09b77 Fix two bugs reported by Ashwini Sharma.
Rob Landley <rob@landley.net>
parents: 1179
diff changeset
45 generated/newtoys.h generated/globals.h testdir \
1076
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 \
1259
565980862743 Probes for O_NOFOLLOW that compile and run something aren't compatible with cross compiling, so just #define it to 0 if it's not in fcntl.h where posix-2008 says.
Rob Landley <rob@landley.net>
parents: 1211
diff changeset
47 .singleconfig .singleconfig.old generated/help.h \
565980862743 Probes for O_NOFOLLOW that compile and run something aren't compatible with cross compiling, so just #define it to 0 if it's not in fcntl.h where posix-2008 says.
Rob Landley <rob@landley.net>
parents: 1211
diff changeset
48 generated/instlist generated/mkflags generated/config2help
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
1179
260cce6c3e35 Replace python help converter with C implementation.
Rob Landley <rob@landley.net>
parents: 1113
diff changeset
51 rm -f toybox_old .config*
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 ''