Home | History | Annotate | Download | only in toolbox
      1 LOCAL_PATH:= $(call my-dir)
      2 include $(CLEAR_VARS)
      3 
      4 TOOLS := \
      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 	chown \
     45 	newfs_msdos \
     46 	netstat \
     47 	ioctl \
     48 	mv \
     49 	schedtop \
     50 	top \
     51 	iftop \
     52 	id \
     53 	uptime \
     54 	vmstat \
     55 	nandread \
     56 	ionice \
     57 	lsof
     58 
     59 LOCAL_SRC_FILES:= \
     60 	toolbox.c \
     61 	$(patsubst %,%.c,$(TOOLS))
     62 
     63 LOCAL_SHARED_LIBRARIES := libcutils libc
     64 
     65 LOCAL_MODULE:= toolbox
     66 
     67 # Including this will define $(intermediates).
     68 #
     69 include $(BUILD_EXECUTABLE)
     70 
     71 $(LOCAL_PATH)/toolbox.c: $(intermediates)/tools.h
     72 
     73 TOOLS_H := $(intermediates)/tools.h
     74 $(TOOLS_H): PRIVATE_TOOLS := $(TOOLS)
     75 $(TOOLS_H): PRIVATE_CUSTOM_TOOL = echo "/* file generated automatically */" > $@ ; for t in $(PRIVATE_TOOLS) ; do echo "TOOL($$t)" >> $@ ; done
     76 $(TOOLS_H): $(LOCAL_PATH)/Android.mk
     77 $(TOOLS_H):
     78 	$(transform-generated-source)
     79 
     80 # Make #!/system/bin/toolbox launchers for each tool.
     81 #
     82 SYMLINKS := $(addprefix $(TARGET_OUT)/bin/,$(TOOLS))
     83 $(SYMLINKS): TOOLBOX_BINARY := $(LOCAL_MODULE)
     84 $(SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(LOCAL_PATH)/Android.mk
     85 	@echo "Symlink: $@ -> $(TOOLBOX_BINARY)"
     86 	@mkdir -p $(dir $@)
     87 	@rm -rf $@
     88 	$(hide) ln -sf $(TOOLBOX_BINARY) $@
     89 
     90 ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
     91 
     92 # We need this so that the installed files could be picked up based on the
     93 # local module name
     94 ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \
     95     $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(SYMLINKS)
     96