# 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_IP) += \
	ip_parse_common_args.o \
	ipaddress.o \
	iplink.o \
	iproute.o \
	iptunnel.o \
	iprule.o \
	libnetlink.o \
	ll_addr.o \
	ll_map.o \
	ll_proto.o \
	ll_types.o \
	rt_names.o \
	rtm_map.o \
	utils.o

lib-$(CONFIG_IPADDR) += \
	ip_parse_common_args.o \
	ipaddress.o \
	libnetlink.o \
	ll_addr.o \
	ll_map.o \
	ll_types.o \
	rt_names.o \
	utils.o

lib-$(CONFIG_IPLINK) += \
	ip_parse_common_args.o \
	ipaddress.o \
	iplink.o \
	libnetlink.o \
	ll_addr.o \
	ll_map.o \
	ll_types.o \
	rt_names.o \
	utils.o

lib-$(CONFIG_IPROUTE) += \
	ip_parse_common_args.o \
	iproute.o \
	libnetlink.o \
	ll_map.o \
	rt_names.o \
	rtm_map.o \
	utils.o

lib-$(CONFIG_IPTUNNEL) += \
	ip_parse_common_args.o \
	iptunnel.o \
	rt_names.o \
	utils.o

lib-$(CONFIG_IPRULE) += \
	ip_parse_common_args.o \
	iprule.o \
	rt_names.o \
	utils.o

