# Makefile for uClibc
#
# Copyright (C) 2000-2008 Erik Andersen <andersen@uclibc.org>
#
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#

include $(top_srcdir)libc/inet/rpc/Makefile.in

INET_DIR := $(top_srcdir)libc/inet
INET_OUT := $(top_builddir)libc/inet

CSRC :=
ifneq ($(UCLIBC_HAS_CRYPT_IMPL)$(UCLIBC_HAS_IPV4)$(UCLIBC_HAS_IPV6),)
# des uses ntohl
CSRC += ntohl.c
endif
ifneq ($(UCLIBC_HAS_IPV4)$(UCLIBC_HAS_IPV6),)
CSRC +=	getservice.c getproto.c hostid.c getnetent.c getnetbynm.c getnetbyad.c \
	inet_net.c herror.c if_index.c gai_strerror.c getaddrinfo.c \
	ether_addr.c ifaddrs.c ntop.c
endif
ifeq ($(UCLIBC_HAS_IPV6),y)
CSRC += in6_addr.c
endif

# multi source addr.c
addr_CSRC := \
	inet_aton.c inet_addr.c inet_ntoa.c inet_makeaddr.c \
	inet_lnaof.c inet_netof.c
ifneq ($(UCLIBC_HAS_IPV4)$(UCLIBC_HAS_IPV6),)
CSRC += $(addr_CSRC)
endif

# multi source resolv.c
resolv_CSRC += \
	encodeh.c decodeh.c encoded.c decoded.c lengthd.c \
	encodeq.c decodeq.c encodea.c decodea.c lengthq.c \
	dnslookup.c opennameservers.c closenameservers.c \
	read_etc_hosts_r.c get_hosts_byaddr_r.c get_hosts_byname_r.c \
	getnameinfo.c \
	gethostbyaddr_r.c gethostbyname_r.c gethostbyname2_r.c gethostent_r.c \
	gethostbyaddr.c gethostbyname.c gethostbyname2.c gethostent.c \
	res_init.c res_query.c res_comp.c ns_name.c

ifneq ($(UCLIBC_HAS_IPV4)$(UCLIBC_HAS_IPV6),)
CSRC += $(resolv_CSRC)
## # unused ATM
## CSRC += encodep.c decodep.c formquery.c
endif


# multi source socketcalls.c
socketcalls_CSRC += \
	accept.c bind.c connect.c getpeername.c getsockname.c \
	getsockopt.c listen.c recv.c recvfrom.c recvmsg.c send.c sendmsg.c \
	sendto.c setsockopt.c shutdown.c socket.c socketpair.c
ifeq ($(UCLIBC_HAS_SOCKET),y)
CSRC += $(socketcalls_CSRC) opensock.c
endif

ifneq ($(UCLIBC_HAS_SOCKET)$(UCLIBC_HAS_IPV4)$(UCLIBC_HAS_IPV6),)
CSRC += ethers.c
endif

INET_SRC := $(patsubst %.c,$(INET_DIR)/%.c,$(CSRC))
INET_OBJ := $(patsubst %.c,$(INET_OUT)/%.o,$(CSRC))

libc-y += $(INET_OBJ)

objclean-y += inet_clean

inet_clean:
	$(do_rm) $(addprefix $(INET_OUT)/*., o os)