# 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)
