# Makefile for uClibc
#
-# Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
+# Copyright (C) 2000-2008 Erik Andersen <andersen@uclibc.org>
#
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#
+subdirs += libc/inet
+
include $(top_srcdir)libc/inet/rpc/Makefile.in
INET_DIR := $(top_srcdir)libc/inet
INET_OUT := $(top_builddir)libc/inet
-CSRC := getservice.c getproto.c hostid.c getnetent.c getnetbynm.c getnetbyad.c \
- inet_net.c ntop.c herror.c if_index.c gai_strerror.c getaddrinfo.c \
- in6_addr.c ether_addr.c ntohl.c opensock.c ifaddrs.c
+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 \
+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 lengthq.c encodea.c decodea.c \
- dnslookup.c resolveaddress.c opennameservers.c \
- closenameservers.c resolvename.c gethostbyname.c res_init.c \
- res_query.c gethostbyaddr.c read_etc_hosts_r.c get_hosts_byname_r.c \
- get_hosts_byaddr_r.c gethostbyname2.c getnameinfo.c gethostent.c \
- gethostbyname_r.c gethostbyname2_r.c gethostbyaddr_r.c \
- res_comp.c ns_name.c ethers.c
+resolv_CSRC += \
+ encodeh.c decodeh.c encoded.c decoded.c \
+ encodeq.c encodea.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 \
+ _res_state.c
+ifneq ($(UCLIBC_HAS_IPV4)$(UCLIBC_HAS_IPV6),)
CSRC += $(resolv_CSRC)
+## # unused ATM
+## CSRC += encodep.c decodep.c formquery.c
+endif
-# unused ATM
-CSRC += encodep.c decodep.c formquery.c
# multi source socketcalls.c
-socketcalls_CSRC += accept.c bind.c connect.c getpeername.c getsockname.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
-CSRC += $(socketcalls_CSRC)
+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_objclean
+objclean-y += inet_clean
-inet_objclean:
- $(RM) $(INET_OUT)/*.{o,os}
+inet_clean:
+ $(do_rm) $(addprefix $(INET_OUT)/*., o os)