xref: /illumos-gate/usr/src/lib/librpcsvc/Makefile (revision a28480febf31f0e61debac062a55216a98a05a92)
1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21#
22# Copyright 2015 Gary Mills
23# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
24# Use is subject to license terms.
25#
26
27include  ../../Makefile.master
28
29# Relative path to ensure path to header file is also relative
30HEAD_DIR= ../../head/rpcsvc
31UTS_DIR= ../../uts/common/rpcsvc
32RPC_DIR= ../../uts/common/rpc
33
34SUBDIRS=	$(MACH)
35$(BUILD64)SUBDIRS += $(MACH64)
36
37DERIVED_FILES=  \
38	common/bootparam_prot_xdr.c	\
39	common/rstat_xdr.c	\
40	common/rusers_xdr.c	\
41	common/spray_xdr.c	\
42	common/nlm_prot.c	\
43	common/sm_inter_xdr.c	\
44	common/mount_xdr.c	\
45	common/nsm_addr_xdr.c	\
46	common/rpc_sztypes.c
47
48CLEANFILES += $(DERIVED_FILES)
49
50# include library definitions
51include ../Makefile.lib
52
53# definitions for install_h target
54HDRS=		$(TXTS)
55ROOTHDRDIR=	$(ROOT)/usr/include/rpcsvc
56ROOTHDRS=	$(HDRS:%=$(ROOTHDRDIR)/%)
57CHECKHDRS=	$(HDRS:%.h=%.check)
58
59# install rule for install_h target
60$(ROOTHDRDIR)/%: %
61	$(INS.file)
62
63all :=		TARGET= all
64clean :=	TARGET= clean
65clobber :=	TARGET= clobber
66install :=	TARGET= install
67
68.KEEP_STATE:
69
70all:	$(DERIVED_FILES) $(TXTS) .WAIT $(SUBDIRS)
71
72install: all .WAIT $(SUBDIRS)
73
74install_h: $(DERIVED_FILES) $(ROOTHDRS)
75
76check: $(CHECKHDRS)
77
78clean clobber: $(SUBDIRS)
79
80#
81# Rules for building the derived files
82#
83# Derived files
84#
85common/bootparam_prot_xdr.c: $(HEAD_DIR)/bootparam_prot.x
86	$(RPCGEN) -c $(HEAD_DIR)/bootparam_prot.x > $@
87
88common/rstat_xdr.c: $(HEAD_DIR)/rstat.x
89	$(RPCGEN) -c $(HEAD_DIR)/rstat.x > $@
90
91common/rusers_xdr.c: $(HEAD_DIR)/rusers.x
92	$(RPCGEN) -c $(HEAD_DIR)/rusers.x > $@
93
94common/sm_inter_xdr.c: $(UTS_DIR)/sm_inter.x
95	$(RPCGEN) -c $(UTS_DIR)/sm_inter.x > $@
96
97common/spray_xdr.c: $(HEAD_DIR)/spray.x
98	$(RPCGEN) -c $(HEAD_DIR)/spray.x > $@
99
100common/nlm_prot.c: $(UTS_DIR)/nlm_prot.x
101	$(RPCGEN) -c $(UTS_DIR)/nlm_prot.x > $@
102
103common/mount_xdr.c: $(HEAD_DIR)/mount.x
104	$(RPCGEN) -c $(HEAD_DIR)/mount.x > $@
105
106common/nsm_addr_xdr.c: $(UTS_DIR)/nsm_addr.x
107	$(RPCGEN) -c $(UTS_DIR)/nsm_addr.x > $@
108
109common/rpc_sztypes.c: $(RPC_DIR)/rpc_sztypes.x
110	$(RPCGEN) -c $(RPC_DIR)/rpc_sztypes.x > $@
111
112# include library targets
113include ../Makefile.targ
114
115$(SUBDIRS): FRC
116	@cd $@; pwd; $(MAKE) $(TARGET)
117
118FRC:
119