summaryrefslogtreecommitdiff
path: root/applets/Kbuild.src
blob: 3aedbbffef82e42c0b64e5158953152dc7dbf594 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# Makefile for busybox
#
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
#
# Licensed under GPLv2, see file LICENSE in this source tree.

obj-y :=
obj-y += applets.o

hostprogs-y:=
hostprogs-y += usage usage_pod applet_tables

always:= $(hostprogs-y)

# Generated files need additional love

# This trick decreases amount of rebuilds
# if tree is merely renamed/copied
ifeq ($(srctree),$(objtree))
srctree_slash =
else
srctree_slash = $(srctree)/
endif

HOSTCFLAGS_usage.o = -I$(srctree_slash)include -Iinclude
HOSTCFLAGS_usage_pod.o = -I$(srctree_slash)include -Iinclude

applets/applets.o: include/usage_compressed.h include/applet_tables.h

applets/applet_tables: .config include/applets.h
applets/usage:         .config include/applets.h
applets/usage_pod:     .config include/applets.h include/applet_tables.h

quiet_cmd_gen_usage_compressed = GEN     include/usage_compressed.h
      cmd_gen_usage_compressed = $(srctree_slash)applets/usage_compressed include/usage_compressed.h applets

include/usage_compressed.h: applets/usage $(srctree_slash)applets/usage_compressed
	$(call cmd,gen_usage_compressed)

quiet_cmd_gen_applet_tables = GEN     include/applet_tables.h include/NUM_APPLETS.h
      cmd_gen_applet_tables = applets/applet_tables include/applet_tables.h include/NUM_APPLETS.h

include/NUM_APPLETS.h: applets/applet_tables
	$(call cmd,gen_applet_tables)

# In fact, include/applet_tables.h depends only on applets/applet_tables,
# and is generated by it. But specifying only it can run
# applets/applet_tables twice, possibly in parallel.
# We say that it also needs NUM_APPLETS.h
#
# Unfortunately, we need to list the same command,
# and it can be executed twice (sequentially).
# The alternative is to not list any command,
# and then if include/applet_tables.h is deleted, it won't be rebuilt.
#
include/applet_tables.h: include/NUM_APPLETS.h applets/applet_tables
	$(call cmd,gen_applet_tables)