# 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_INSMOD)		+= insmod.o
lib-$(CONFIG_LSMOD)		+= lsmod.o
lib-$(CONFIG_MODPROBE)		+= modprobe.o
lib-$(CONFIG_RMMOD)		+= rmmod.o
