OSDN Git Service

Update my email address. I am no longer andersen@lineo.com
[uclinux-h8/uClibc.git] / libc / inet / Makefile
index 14afc17..c9157bb 100644 (file)
@@ -1,38 +1,95 @@
-# Copyright (C) 1995,1996 Robert de Bath <rdebath@cix.compulink.co.uk>
-# Copyright (C) 1998-1999 D. Jeff Dionne <jeff@rt-control.com>
-# Copyright (C) 1998      Kenneth Albanowski <kjahds@kjahds.com>
-# Copyright (C) 1999      D. Jeff Dionne <jeff@rt-control.com>
-# under the GNU Library General Public License.
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000,2001 Erik Andersen <andersen@uclibc.org>
+#
+# This program is free software; you can redistribute it and/or modify it under
+# the terms of the GNU Library General Public License as published by the Free
+# Software Foundation; either version 2 of the License, or (at your option) any
+# later version.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more
+# details.
+#
+# You should have received a copy of the GNU Library General Public License
+# along with this program; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# Derived in part from the Linux-8086 C library, the GNU C Library, and several
+# other sundry sources.  Files within this library are copyright by their
+# respective copyright holders.
 
-TOPDIR=../
-include $(TOPDIR)Rules.make
+TOPDIR=../../
+include $(TOPDIR)Rules.mak
 
-LIBC=../libc.a
+ifeq ($(strip $(INCLUDE_RPC)),true)
+       DIRS=rpc
+else
+       DIRS=
+endif
+ALL_SUBDIRS = rpc
 
-ASRC=addr.c
-AOBJ=inet_aton.o inet_addr.o inet_ntoa.o
+MSRC=addr.c
+MOBJ=inet_aton.o inet_addr.o inet_ntoa.o
 
-RSRC=resolv.c
-ROBJ= encodeh.o decodeh.o encoded.o decoded.o lengthd.o encodeq.o \
-decodeq.o lengthq.o encodea.o decodea.o encodep.o decodep.o \
-formquery.o dnslookup.o resolveaddress.o resolvemailbox.o \
-opennameservers.o closenameservers.o resolvename.o gethostbyname.o\
-gethostbyaddr.o
+MSRC2=resolv.c
+MOBJ2=encodeh.o decodeh.o encoded.o decoded.o lengthd.o encodeq.o \
+       decodeq.o lengthq.o encodea.o decodea.o encodep.o decodep.o \
+       formquery.o dnslookup.o resolveaddress.o resolvemailbox.o \
+       opennameservers.o closenameservers.o resolvename.o gethostbyname.o\
+       res_init.o res_query.o gethostbyaddr.o \
+       get_hosts_byname.o get_hosts_byaddr.o read_etc_hosts.o \
+       gethostbyname2.o getnameinfo.o
 
-OBJ=$(AOBJ) $(ROBJ)
+MSRC3=socketcalls.c
+MOBJ3= accept.o bind.o connect.o getpeername.o getsockname.o getsockopt.o \
+       listen.o recv.o recvfrom.o recvmsg.o send.o sendmsg.o sendto.o \
+       setsockopt.o shutdown.o socket.o socketpair.o 
 
-all: $(LIBC)
-       @$(RM) $(OBJ)
+CSRC =getservice.c getproto.c hostid.c getnetent.c getnetbynm.c getnetbyad.c \
+       herror.c inet_net.c ntop.c
 
-$(LIBC): $(LIBC)($(OBJ))
+COBJS=$(patsubst %.c,%.o, $(CSRC))
 
-$(LIBC)($(AOBJ)): $(ASRC)
+OBJS=$(MOBJ) $(MOBJ2) $(MOBJ3) $(COBJS)
+
+
+all: $(OBJS) $(LIBC)
+
+$(LIBC): ar-target subdirs
+
+ar-target: $(OBJS)
+       $(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+
+$(MOBJ): $(MSRC)
+       $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
+       $(STRIPTOOL) -x -R .note -R .comment $*.o
+
+$(MOBJ2): $(MSRC2)
        $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-       $(AR) $(ARFLAGS) $@ $*.o
+       $(STRIPTOOL) -x -R .note -R .comment $*.o
 
-$(LIBC)($(ROBJ)): $(RSRC)
+$(MOBJ3): $(MSRC3)
        $(CC) $(CFLAGS) -DL_$* $< -c -o $*.o
-       $(AR) $(ARFLAGS) $@ $*.o
+       $(STRIPTOOL) -x -R .note -R .comment $*.o
+
+$(COBJS): %.o : %.c
+       $(CC) $(CFLAGS) -c $< -o $@
+       $(STRIPTOOL) -x -R .note -R .comment $*.o
+
+clean: subdirs_clean
+       rm -f *.[oa] *~ core
+
+subdirs: $(patsubst %, _dir_%, $(DIRS))
+subdirs_clean: $(patsubst %, _dirclean_%, $(ALL_SUBDIRS))
+
+$(patsubst %, _dir_%, $(DIRS)) : dummy
+       $(MAKE) -C $(patsubst _dir_%, %, $@)
+
+$(patsubst %, _dirclean_%, $(ALL_SUBDIRS)) : dummy
+       $(MAKE) -C $(patsubst _dirclean_%, %, $@) clean
+
+.PHONY: dummy
 
-clean:
-       rm -f *.o libc.a