# 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_CROND)       += crond.o
lib-$(CONFIG_CRONTAB)     += crontab.o
lib-$(CONFIG_BBCONFIG)    += bbconfig.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_MOUNTPOINT)  += mountpoint.o
lib-$(CONFIG_MT)          += mt.o
lib-$(CONFIG_NMETER)      += nmeter.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_WATCHDOG)    += watchdog.o
