Mercurial > hg > toybox
annotate Makefile @ 1303:2b89b13df19e draft
Update docs for example and pending directories.
author | Rob Landley <rob@landley.net> |
---|---|
date | Thu, 22 May 2014 08:16:55 -0500 |
parents | 565980862743 |
children | e19c00f44c31 |
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 | 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 | 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 | 64 @echo " distclean - Delete everything that isn't shipped." |
65 @echo ' install_flat - Install toybox into $$PREFIX directory.' | |
66 @echo ' install - Install toybox into subdirectories of $$PREFIX.' | |
67 @echo ' uninstall_flat - Remove toybox from $$PREFIX directory.' | |
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 '' |