# 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_ADJTIMEX)    += adjtimex.o
lib-$(CONFIG_BBCONFIG)    += bbconfig.o
lib-$(CONFIG_CHRT)        += chrt.o
lib-$(CONFIG_CROND)       += crond.o
lib-$(CONFIG_CRONTAB)     += crontab.o
lib-$(CONFIG_DC)          += dc.o
lib-$(CONFIG_DEVFSD)      += devfsd.o
lib-$(CONFIG_EJECT)       += eject.o
lib-$(CONFIG_HDPARM)      += hdparm.o
lib-$(CONFIG_LAST)        += last.o
lib-$(CONFIG_LESS)        += less.o
lib-$(CONFIG_MAKEDEVS)    += makedevs.o
lib-$(CONFIG_MICROCOM)    += microcom.o
lib-$(CONFIG_MOUNTPOINT)  += mountpoint.o
lib-$(CONFIG_MT)          += mt.o
lib-$(CONFIG_RAIDAUTORUN) += raidautorun.o
lib-$(CONFIG_READAHEAD)   += readahead.o
lib-$(CONFIG_RUNLEVEL)    += runlevel.o
lib-$(CONFIG_RX)          += rx.o
lib-$(CONFIG_SETSID)      += setsid.o
lib-$(CONFIG_STRINGS)     += strings.o
lib-$(CONFIG_TASKSET)     += taskset.o
lib-$(CONFIG_TIME)        += time.o
lib-$(CONFIG_TTYSIZE)     += ttysize.o
lib-$(CONFIG_WATCHDOG)    += watchdog.o
