1# Makefile for uClibc
2#
3# Copyright (C) 2000-2008 Erik Andersen <andersen@uclibc.org>
4#
5# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
6#
7
8subdirs += libc/inet
9
10INET_DIR := $(top_srcdir)libc/inet
11INET_OUT := $(top_builddir)libc/inet
12V4_OR_V6 := $(findstring y,$(UCLIBC_HAS_IPV4)$(UCLIBC_HAS_IPV6))
13
14CFLAGS-y-libc/inet := -DRESOLVER="\"resolv.c\""
15CSRC-y :=
16# des uses ntohl
17CSRC-$(findstring y,$(UCLIBC_HAS_CRYPT_IMPL)$(V4_OR_V6)) += ntohl.c
18CSRC-$(V4_OR_V6) += \
19	getservice.c getproto.c getnet.c hostid.c \
20	inet_net.c herror.c if_index.c gai_strerror.c getaddrinfo.c \
21	ifaddrs.c ntop.c
22CSRC-$(UCLIBC_HAS_IPV6) += in6_addr.c
23# multi source addr.c
24CSRC-$(V4_OR_V6) += \
25	inet_aton.c inet_addr.c inet_ntoa.c inet_makeaddr.c \
26	inet_lnaof.c inet_netof.c
27# multi source resolv.c
28CSRC-$(V4_OR_V6) += \
29	encodeh.c decodeh.c \
30	encodeq.c encodea.c \
31	read_etc_hosts_r.c \
32	dnslookup.c opennameservers.c closenameservers.c \
33	getnameinfo.c \
34	gethostent.c gethostent_r.c
35CSRC-$(V4_OR_V6) += \
36	get_hosts_byaddr_r.c get_hosts_byname_r.c \
37	gethostbyaddr_r.c gethostbyname_r.c gethostbyname2_r.c \
38	gethostbyaddr.c gethostbyname.c gethostbyname2.c
39CSRC-$(UCLIBC_HAS_RESOLVER_SUPPORT) += \
40	ns_netint.c ns_parse.c res_data.c \
41	res_init.c res_query.c res_comp.c ns_name.c \
42	_res_state.c
43## # unused ATM
44## CSRC-y += encodep.c decodep.c formquery.c
45
46# multi source socketcalls.c
47socketcalls_CSRC-y += \
48	accept.c bind.c connect.c getpeername.c getsockname.c \
49	getsockopt.c listen.c recv.c recvfrom.c recvmsg.c send.c sendmsg.c \
50	sendto.c setsockopt.c shutdown.c socket.c socketpair.c \
51	recvmmsg.c sendmmsg.c
52socketcalls_CSRC-$(UCLIBC_LINUX_SPECIFIC) += accept4.c
53CSRC-$(UCLIBC_HAS_SOCKET) += $(socketcalls_CSRC-y) opensock.c sockatmark.c
54
55CSRC-$(findstring y,$(UCLIBC_HAS_SOCKET)$(V4_OR_V6)) += ethers.c ether_addr.c
56
57INET_SRC := $(patsubst %.c,$(INET_DIR)/%.c,$(CSRC-y))
58INET_OBJ := $(patsubst %.c,$(INET_OUT)/%.o,$(CSRC-y))
59
60libc-y += $(INET_OBJ)
61
62objclean-y += CLEAN_libc/inet
63
64CLEAN_libc/inet:
65	$(do_rm) $(addprefix $(INET_OUT)/*., o os)
66