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

NEEDED-$(CONFIG_CHATTR) = y
NEEDED-$(CONFIG_LSATTR) = y
NEEDED-$(CONFIG_MKE2FS) = y
NEEDED-$(CONFIG_TUNE2FS) = y

lib-y:=
lib-$(NEEDED-y) += fgetsetflags.o fgetsetversion.o pf.o iod.o mntopts.o \
           feature.o ls.o uuid.o pe.o ostype.o ps.o hashstr.o \
           parse_num.o
