Android.mk revision 35237d135807af84bf9b0e5b8d7f8633e58db6f5
1LOCAL_PATH:= $(call my-dir)
2include $(CLEAR_VARS)
3
4TOOLS := \
5	ls \
6	mount \
7	cat \
8	ps \
9	kill \
10	ln \
11	insmod \
12	rmmod \
13	lsmod \
14	ifconfig \
15	setconsole \
16	rm \
17	mkdir \
18	rmdir \
19	reboot \
20	getevent \
21	sendevent \
22	date \
23	wipe \
24	sync \
25	umount \
26	start \
27	stop \
28	notify \
29	cmp \
30	dmesg \
31	route \
32	hd \
33	dd \
34	df \
35	getprop \
36	setprop \
37	watchprops \
38	log \
39	sleep \
40	renice \
41	printenv \
42	smd \
43	chmod \
44	mkdosfs \
45	netstat \
46	ioctl \
47	mv \
48	schedtop \
49	top \
50	iftop \
51	id \
52	vmstat
53
54LOCAL_SRC_FILES:= \
55	toolbox.c \
56	$(patsubst %,%.c,$(TOOLS))
57
58LOCAL_SHARED_LIBRARIES := libcutils libc
59
60LOCAL_MODULE:= toolbox
61
62# Including this will define $(intermediates).
63#
64include $(BUILD_EXECUTABLE)
65
66$(LOCAL_PATH)/toolbox.c: $(intermediates)/tools.h
67
68TOOLS_H := $(intermediates)/tools.h
69$(TOOLS_H): PRIVATE_TOOLS := $(TOOLS)
70$(TOOLS_H): PRIVATE_CUSTOM_TOOL = echo "/* file generated automatically */" > $@ ; for t in $(PRIVATE_TOOLS) ; do echo "TOOL($$t)" >> $@ ; done
71$(TOOLS_H): $(LOCAL_PATH)/Android.mk
72$(TOOLS_H):
73	$(transform-generated-source)
74
75# Make #!/system/bin/toolbox launchers for each tool.
76#
77SYMLINKS := $(addprefix $(TARGET_OUT)/bin/,$(TOOLS))
78$(SYMLINKS): TOOLBOX_BINARY := $(LOCAL_MODULE)
79$(SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(LOCAL_PATH)/Android.mk
80	@echo "Symlink: $@ -> $(TOOLBOX_BINARY)"
81	@mkdir -p $(dir $@)
82	@rm -rf $@
83	$(hide) ln -sf $(TOOLBOX_BINARY) $@
84
85ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
86
87# We need this so that the installed files could be picked up based on the
88# local module name
89ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \
90    $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(SYMLINKS)
91