diff options
Diffstat (limited to 'sunrpc/Makefile')
-rw-r--r-- | sunrpc/Makefile | 67 |
1 files changed, 45 insertions, 22 deletions
diff --git a/sunrpc/Makefile b/sunrpc/Makefile index 30f74dc135..f067e92398 100644 --- a/sunrpc/Makefile +++ b/sunrpc/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1994-2004, 2005, 2006 Free Software Foundation, Inc. +# Copyright (C) 1994-2004, 2005, 2006, 2011 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -47,44 +47,52 @@ subdir := sunrpc rpcsvc = bootparam_prot.x nlm_prot.x rstat.x \ yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \ rusers.x spray.x nfs_prot.x rquota.x key_prot.x -headers = $(addprefix rpc/,auth.h auth_unix.h clnt.h netdb.h pmap_clnt.h \ - pmap_prot.h pmap_rmt.h rpc.h rpc_msg.h svc.h \ - svc_auth.h types.h xdr.h auth_des.h \ - des_crypt.h key_prot.h rpc_des.h) \ - $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h +headers_in_tirpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \ + pmap_prot.h pmap_rmt.h rpc.h rpc_msg.h \ + svc.h svc_auth.h types.h xdr.h auth_des.h \ + des_crypt.h) +headers_not_in_tirpc = $(addprefix rpc/,netdb.h key_prot.h rpc_des.h) \ + $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h install-others = $(inst_sysconfdir)/rpc generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \ $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen generated-dirs := rpcsvc -routines := auth_none auth_unix authuxprot bindrsvprt \ - clnt_gen clnt_perr clnt_raw clnt_simp clnt_tcp \ - clnt_udp rpc_dtable get_myaddr getrpcport \ - pmap_clnt pm_getmaps pm_getport pmap_prot \ - pmap_prot2 pmap_rmt rpc_prot rpc_common rpc_cmsg rpc_thread \ - svc svc_auth svc_authux svc_raw svc_run svc_simple \ - svc_tcp svc_udp xdr xdr_array xdr_float xdr_mem \ - xdr_rec xdr_ref xdr_stdio publickey xdr_sizeof \ - auth_des authdes_prot des_crypt des_impl des_soft \ - key_call key_prot netname openchild rtime svcauth_des xcrypt\ - clnt_unix svc_unix create_xid xdr_intXX_t - -others := rpcinfo +include ../Makeconfig + +ifeq ($(versioning),yes) +need-export-routines := auth_des auth_unix clnt_gen clnt_perr clnt_tcp \ + clnt_udp get_myaddr key_call netname pm_getport \ + rpc_thread svc svc_tcp svc_udp xcrypt xdr_array xdr \ + xdr_intXX_t xdr_mem xdr_ref xdr_sizeof xdr_stdio + +routines := auth_none authuxprot bindrsvprt clnt_raw clnt_simp \ + rpc_dtable getrpcport pmap_clnt pm_getmaps pmap_prot pmap_prot2 \ + pmap_rmt rpc_prot rpc_common rpc_cmsg svc_auth svc_authux svc_raw \ + svc_run svc_simple xdr_float xdr_rec publickey authdes_prot \ + des_crypt des_impl des_soft key_prot openchild rtime svcauth_des \ + clnt_unix svc_unix create_xid $(need-export-routines) +# We only add the RPC for compatibility to libc.so. +shared-only-routines = $(routines) +endif + +# We do not build rpcinfo anymore. It is not needed for a bootstrap +# and not wanted on complete systems. +# others := rpcinfo +# install-sbin := rpcinfo install-bin := rpcgen -install-sbin := rpcinfo rpcgen-objs = rpc_main.o rpc_hout.o rpc_cout.o rpc_parse.o \ rpc_scan.o rpc_util.o rpc_svcout.o rpc_clntout.o \ rpc_tblout.o rpc_sample.o # These headers are part of rpcgen. distribute := proto.h rpc_util.h rpc_parse.h rpc_scan.h \ + $(headers_in_tirpc) $(headers_not_in_tirpc) \ $(rpcgen-objs:.o=.c) etc.rpc \ errqueue.h extra-objs = $(rpcgen-objs) all: # Make this the default target; it will be defined in Rules. -include ../Makeconfig - tests = tst-xdrmem tst-xdrmem2 xtests := tst-getmyaddr @@ -108,6 +116,17 @@ librpcsvc-inhibit-o = .os # Build no shared rpcsvc library. omit-deps = $(librpcsvc-routines) endif +ifeq (yes,$(build-shared)) +rpc-compat-routines = $(addprefix compat-,$(need-export-routines)) +rpc-compat-routines.os = $(addprefix $(objpfx), \ + $(addsuffix .os,$(rpc-compat-routines))) +subdir_lib: $(objpfx)librpc_compat_pic.a +$(objpfx)librpc_compat_pic.a: $(rpc-compat-routines.os) + $(AR) cr$(verbose) $@ $^ +$(rpc-compat-routines.os): $(objpfx)compat-%.os: %.c + $(compile-command.c) -DEXPORT_RPC_SYMBOLS +endif + CFLAGS-xbootparam_prot.c = -Wno-unused $(PIC-ccflag) CFLAGS-xnlm_prot.c = -Wno-unused $(PIC-ccflag) CFLAGS-xrstat.c = -Wno-unused $(PIC-ccflag) @@ -131,6 +150,10 @@ CPPFLAGS += -D_RPC_THREAD_SAFE_ include ../Rules +$(objpfx)tst-getmyaddr: $(common-objpfx)linkobj/libc.so +$(objpfx)tst-xdrmem: $(common-objpfx)linkobj/libc.so +$(objpfx)tst-xdrmem2: $(common-objpfx)linkobj/libc.so + $(objpfx)rpcgen: $(addprefix $(objpfx),$(rpcgen-objs)) \ $(sort $(filter $(common-objpfx)libc%,$(link-libc))) \ $(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit) |