# Makefile for busybox
#
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
#
# Licensed under the GPL v2, see the file LICENSE in this tarball.

lib-y:=
lib-$(CONFIG_FREE)	+= free.o
lib-$(CONFIG_KILL)	+= kill.o
lib-$(CONFIG_ASH)	+= kill.o  # used for built-in kill by ash
lib-$(CONFIG_PIDOF)	+= pidof.o
lib-$(CONFIG_PS)	+= ps.o
lib-$(CONFIG_RENICE)	+= renice.o
lib-$(CONFIG_BB_SYSCTL)	+= sysctl.o
lib-$(CONFIG_TOP)	+= top.o
lib-$(CONFIG_UPTIME)	+= uptime.o
lib-$(CONFIG_FUSER)	+= fuser.o
