LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

TOOLS := \
	ls \
	mount \
	cat \
	ps \
	kill \
	ln \
	insmod \
	rmmod \
	lsmod \
	ifconfig \
	setconsole \
	rm \
	mkdir \
	rmdir \
	reboot \
	getevent \
	sendevent \
	date \
	sync \
	umount \
	notify \
	cmp \
	dmesg \
	route \
	hd \
	dd \
	df \
	sleep \
	renice \
	printenv \
	smd \
	chmod \
	chown \
	netstat \
	ioctl \
	mv \
	schedtop \
	top \
	iftop \
	id \
	vmstat \
	lsof

LOCAL_SRC_FILES:= \
	toolbox.c \
	$(patsubst %,%.c,$(TOOLS))

LOCAL_MODULE:= toolbox

all: ${LOCAL_MODULE}

CC ?= gcc

# Directory where object files should be placed
TARGET_OUT ?= .

TOOLS_H := ${TARGET_OUT}/tools.h
$(TOOLS_H):
	echo "/* file generated automatically */" > $@ ; for t in $(PRIVATE_TOOLS) ; do echo "TOOL($$t)" >> $@ ; done

$(TARGET_OUT)/%.o: %.c
	$(CC) $(DEFINES) -I${TARGET_OUT} -c -o $@ $<

OBJFILES := $(patsubst %.c,$(TARGET_OUT)/%.o,$(LOCAL_SRC_FILES))
DEFINES := -DNO_ANDROID_HEADERS

toolbox: $(TOOLS_H) $(OBJFILES)
	$(CC) -o $(TARGET_OUT)/$(TARGET) $(DEFINES) $(OBJFILES) $(LIBRARIES)

# Make #!/system/bin/toolbox launchers for each tool.
#
SYMLINKS := $(addprefix $(TARGET_OUT)/bin/,$(TOOLS))
$(SYMLINKS): TOOLBOX_BINARY := $(LOCAL_MODULE)
$(SYMLINKS):
	@echo "Symlink: $@ -> $(TOOLBOX_BINARY)"
	@mkdir -p $(dir $@)
	@rm -rf $@
	$(hide) ln -sf $(TOOLBOX_BINARY) $@
