# 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_ACPID)             += acpid.o
lib-$(CONFIG_BLKID)             += blkid.o
lib-$(CONFIG_DMESG)             += dmesg.o
lib-$(CONFIG_FBSET)             += fbset.o
lib-$(CONFIG_FDFLUSH)           += freeramdisk.o
lib-$(CONFIG_FDFORMAT)          += fdformat.o
lib-$(CONFIG_FDISK)             += fdisk.o
lib-$(CONFIG_FINDFS)            += findfs.o
lib-$(CONFIG_FREERAMDISK)       += freeramdisk.o
lib-$(CONFIG_FSCK_MINIX)        += fsck_minix.o
lib-$(CONFIG_GETOPT)            += getopt.o
lib-$(CONFIG_HEXDUMP)           += hexdump.o
lib-$(CONFIG_HWCLOCK)           += hwclock.o
lib-$(CONFIG_IPCRM)             += ipcrm.o
lib-$(CONFIG_IPCS)              += ipcs.o
lib-$(CONFIG_LOSETUP)           += losetup.o
lib-$(CONFIG_MDEV)              += mdev.o
lib-$(CONFIG_MKFS_MINIX)        += mkfs_minix.o
lib-$(CONFIG_MKFS_VFAT)         += mkfs_vfat.o
lib-$(CONFIG_MKSWAP)            += mkswap.o
lib-$(CONFIG_MORE)              += more.o
lib-$(CONFIG_MOUNT)             += mount.o
lib-$(CONFIG_PIVOT_ROOT)        += pivot_root.o
lib-$(CONFIG_RDATE)             += rdate.o
lib-$(CONFIG_RDEV)              += rdev.o
lib-$(CONFIG_READPROFILE)       += readprofile.o
lib-$(CONFIG_RTCWAKE)           += rtcwake.o
lib-$(CONFIG_SCRIPT)            += script.o
lib-$(CONFIG_SCRIPTREPLAY)      += scriptreplay.o
lib-$(CONFIG_SETARCH)           += setarch.o
lib-$(CONFIG_SWAPONOFF)         += swaponoff.o
lib-$(CONFIG_SWITCH_ROOT)       += switch_root.o
lib-$(CONFIG_UMOUNT)            += umount.o
