# 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.

libs-y			+= libcoreutils/

lib-y:=
lib-$(CONFIG_BASENAME)  += basename.o
lib-$(CONFIG_CAL)       += cal.o
lib-$(CONFIG_CAT)       += cat.o
lib-$(CONFIG_MORE)      += cat.o # more uses it if stdout isn't a tty
lib-$(CONFIG_LESS)      += cat.o # less too
lib-$(CONFIG_CATV)      += catv.o
lib-$(CONFIG_CHGRP)     += chgrp.o chown.o
lib-$(CONFIG_CHMOD)     += chmod.o
lib-$(CONFIG_CHOWN)     += chown.o
lib-$(CONFIG_CHROOT)    += chroot.o
lib-$(CONFIG_CKSUM)     += cksum.o
lib-$(CONFIG_CMP)       += cmp.o
lib-$(CONFIG_COMM)      += comm.o
lib-$(CONFIG_CP)        += cp.o
lib-$(CONFIG_CUT)       += cut.o
lib-$(CONFIG_DATE)      += date.o
lib-$(CONFIG_DD)        += dd.o
lib-$(CONFIG_DF)        += df.o
lib-$(CONFIG_DIFF)      += diff.o
lib-$(CONFIG_DIRNAME)   += dirname.o
lib-$(CONFIG_DOS2UNIX)  += dos2unix.o
lib-$(CONFIG_DU)        += du.o
lib-$(CONFIG_ECHO)      += echo.o
lib-$(CONFIG_ASH)       += echo.o # used by ash
lib-$(CONFIG_ENV)       += env.o
lib-$(CONFIG_EXPR)      += expr.o
lib-$(CONFIG_FALSE)     += false.o
lib-$(CONFIG_FOLD)      += fold.o
lib-$(CONFIG_HEAD)      += head.o
lib-$(CONFIG_HOSTID)    += hostid.o
lib-$(CONFIG_ID)        += id.o
lib-$(CONFIG_INSTALL)   += install.o
lib-$(CONFIG_LENGTH)    += length.o
lib-$(CONFIG_LN)        += ln.o
lib-$(CONFIG_LOGNAME)   += logname.o
lib-$(CONFIG_LS)        += ls.o
lib-$(CONFIG_MD5SUM)    += md5_sha1_sum.o
lib-$(CONFIG_MKDIR)     += mkdir.o
lib-$(CONFIG_MKFIFO)    += mkfifo.o
lib-$(CONFIG_MKNOD)     += mknod.o
lib-$(CONFIG_MV)        += mv.o
lib-$(CONFIG_NICE)      += nice.o
lib-$(CONFIG_NOHUP)     += nohup.o
lib-$(CONFIG_OD)        += od.o
lib-$(CONFIG_PRINTENV)  += printenv.o
lib-$(CONFIG_PRINTF)    += printf.o
lib-$(CONFIG_PWD)       += pwd.o
lib-$(CONFIG_REALPATH)  += realpath.o
lib-$(CONFIG_RM)        += rm.o
lib-$(CONFIG_RMDIR)     += rmdir.o
lib-$(CONFIG_SEQ)       += seq.o
lib-$(CONFIG_SHA1SUM)   += md5_sha1_sum.o
lib-$(CONFIG_SLEEP)     += sleep.o
lib-$(CONFIG_SPLIT)     += split.o
lib-$(CONFIG_SORT)      += sort.o
lib-$(CONFIG_STAT)      += stat.o
lib-$(CONFIG_STTY)      += stty.o
lib-$(CONFIG_SUM)       += sum.o
lib-$(CONFIG_SYNC)      += sync.o
lib-$(CONFIG_TAIL)      += tail.o
lib-$(CONFIG_TEE)       += tee.o
lib-$(CONFIG_TEST)      += test.o
lib-$(CONFIG_ASH)       += test.o # used by ash
lib-$(CONFIG_TOUCH)     += touch.o
lib-$(CONFIG_TR)        += tr.o
lib-$(CONFIG_TRUE)      += true.o
lib-$(CONFIG_TTY)       += tty.o
lib-$(CONFIG_UNAME)     += uname.o
lib-$(CONFIG_UNIQ)      += uniq.o
lib-$(CONFIG_USLEEP)    += usleep.o
lib-$(CONFIG_UUDECODE)  += uudecode.o
lib-$(CONFIG_UUENCODE)  += uuencode.o
lib-$(CONFIG_WATCH)     += watch.o
lib-$(CONFIG_WC)        += wc.o
lib-$(CONFIG_WHO)       += who.o
lib-$(CONFIG_WHOAMI)    += whoami.o
lib-$(CONFIG_YES)       += yes.o
