blob: 3aedbbffef82e42c0b64e5158953152dc7dbf594
1 | # Makefile for busybox |
2 | # |
3 | # Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org> |
4 | # |
5 | # Licensed under GPLv2, see file LICENSE in this source tree. |
6 | |
7 | obj-y := |
8 | obj-y += applets.o |
9 | |
10 | hostprogs-y:= |
11 | hostprogs-y += usage usage_pod applet_tables |
12 | |
13 | always:= $(hostprogs-y) |
14 | |
15 | # Generated files need additional love |
16 | |
17 | # This trick decreases amount of rebuilds |
18 | # if tree is merely renamed/copied |
19 | ifeq ($(srctree),$(objtree)) |
20 | srctree_slash = |
21 | else |
22 | srctree_slash = $(srctree)/ |
23 | endif |
24 | |
25 | HOSTCFLAGS_usage.o = -I$(srctree_slash)include -Iinclude |
26 | HOSTCFLAGS_usage_pod.o = -I$(srctree_slash)include -Iinclude |
27 | |
28 | applets/applets.o: include/usage_compressed.h include/applet_tables.h |
29 | |
30 | applets/applet_tables: .config include/applets.h |
31 | applets/usage: .config include/applets.h |
32 | applets/usage_pod: .config include/applets.h include/applet_tables.h |
33 | |
34 | quiet_cmd_gen_usage_compressed = GEN include/usage_compressed.h |
35 | cmd_gen_usage_compressed = $(srctree_slash)applets/usage_compressed include/usage_compressed.h applets |
36 | |
37 | include/usage_compressed.h: applets/usage $(srctree_slash)applets/usage_compressed |
38 | $(call cmd,gen_usage_compressed) |
39 | |
40 | quiet_cmd_gen_applet_tables = GEN include/applet_tables.h include/NUM_APPLETS.h |
41 | cmd_gen_applet_tables = applets/applet_tables include/applet_tables.h include/NUM_APPLETS.h |
42 | |
43 | include/NUM_APPLETS.h: applets/applet_tables |
44 | $(call cmd,gen_applet_tables) |
45 | |
46 | # In fact, include/applet_tables.h depends only on applets/applet_tables, |
47 | # and is generated by it. But specifying only it can run |
48 | # applets/applet_tables twice, possibly in parallel. |
49 | # We say that it also needs NUM_APPLETS.h |
50 | # |
51 | # Unfortunately, we need to list the same command, |
52 | # and it can be executed twice (sequentially). |
53 | # The alternative is to not list any command, |
54 | # and then if include/applet_tables.h is deleted, it won't be rebuilt. |
55 | # |
56 | include/applet_tables.h: include/NUM_APPLETS.h applets/applet_tables |
57 | $(call cmd,gen_applet_tables) |
58 |