# Makefile for busybox # # Copyright (C) 1999-2005 by Erik Andersen # # 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)