# Makefile for busybox
#
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
#
# Licensed under the GPL v2 or later, see the file LICENSE in this tarball.

lib-y:=
lib-$(CONFIG_MKFIFO)	+= getopt_mk_fifo_nod.o
lib-$(CONFIG_MKNOD)	+= getopt_mk_fifo_nod.o
lib-$(CONFIG_INSTALL)	+= cp_mv_stat.o
lib-$(CONFIG_CP)	+= cp_mv_stat.o
lib-$(CONFIG_MV)	+= cp_mv_stat.o
