xref: /illumos-gate/usr/src/head/Makefile (revision 350ffdd5)
17c478bd9Sstevel@tonic-gate#
27c478bd9Sstevel@tonic-gate# CDDL HEADER START
37c478bd9Sstevel@tonic-gate#
47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the
5734b6a94Sdarrenm# Common Development and Distribution License (the "License").
6734b6a94Sdarrenm# You may not use this file except in compliance with the License.
77c478bd9Sstevel@tonic-gate#
87c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
107c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions
117c478bd9Sstevel@tonic-gate# and limitations under the License.
127c478bd9Sstevel@tonic-gate#
137c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
147c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
167c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
177c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
187c478bd9Sstevel@tonic-gate#
197c478bd9Sstevel@tonic-gate# CDDL HEADER END
207c478bd9Sstevel@tonic-gate#
215f10ef69SYuri Pankov
2225c28e83SPiotr Jasiukajtis#
236e91bba0SGirish Moodalbail# Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
247c478bd9Sstevel@tonic-gate# Use is subject to license terms.
252d08521bSGarrett D'Amore# Copyright 2013 Garrett D'Amore <garrett@damore.org>
264cb69eccSIgor Kozhukhov# Copyright 2015 Igor Kozhukhov <ikozhukhov@gmail.com>
274585130bSYuri Pankov# Copyright 2017 Nexenta Systems, Inc.
285f10ef69SYuri Pankov#
295f10ef69SYuri Pankov
307c478bd9Sstevel@tonic-gate# include global definitions
317c478bd9Sstevel@tonic-gateinclude ../Makefile.master
327c478bd9Sstevel@tonic-gate
335f10ef69SYuri Pankovsparc_HDRS=
347c478bd9Sstevel@tonic-gatei386_HDRS=	stack_unwind.h
357c478bd9Sstevel@tonic-gate
364585130bSYuri PankovKRB5HDRS=		\
374585130bSYuri Pankov	mit_copyright.h	\
384585130bSYuri Pankov	mit-sipb-copyright.h
397c478bd9Sstevel@tonic-gate
404585130bSYuri PankovATTRDB_HDRS=		\
414585130bSYuri Pankov	auth_attr.h	\
424585130bSYuri Pankov	auth_list.h	\
434585130bSYuri Pankov	exec_attr.h	\
444585130bSYuri Pankov	prof_attr.h	\
454585130bSYuri Pankov	secdb.h		\
464585130bSYuri Pankov	user_attr.h
477c478bd9Sstevel@tonic-gate
484585130bSYuri PankovHDRS=   $($(MACH)_HDRS)	\
494585130bSYuri Pankov	$(ATTRDB_HDRS)	\
507c478bd9Sstevel@tonic-gate	aio.h		\
517c478bd9Sstevel@tonic-gate	alloca.h	\
527c478bd9Sstevel@tonic-gate	apptrace.h	\
537c478bd9Sstevel@tonic-gate	apptrace_impl.h	\
547c478bd9Sstevel@tonic-gate	ar.h		\
557c478bd9Sstevel@tonic-gate	archives.h	\
567c478bd9Sstevel@tonic-gate	assert.h	\
577c478bd9Sstevel@tonic-gate	atomic.h	\
58da6c28aaSamw	attr.h		\
5925c28e83SPiotr Jasiukajtis	complex.h	\
607c478bd9Sstevel@tonic-gate	config_admin.h	\
617c478bd9Sstevel@tonic-gate	cpio.h		\
627c478bd9Sstevel@tonic-gate	crypt.h		\
637c478bd9Sstevel@tonic-gate	ctype.h		\
647c478bd9Sstevel@tonic-gate	deflt.h		\
657c478bd9Sstevel@tonic-gate	devid.h		\
667c478bd9Sstevel@tonic-gate	devmgmt.h	\
677c478bd9Sstevel@tonic-gate	devpoll.h	\
687c478bd9Sstevel@tonic-gate	dial.h		\
697c478bd9Sstevel@tonic-gate	dirent.h	\
707c478bd9Sstevel@tonic-gate	dlfcn.h		\
717c478bd9Sstevel@tonic-gate	door.h		\
727c478bd9Sstevel@tonic-gate	elf.h		\
737dc9a163SRobert Mustacchi	endian.h	\
74d362b749Svk	err.h		\
757c478bd9Sstevel@tonic-gate	errno.h		\
767c478bd9Sstevel@tonic-gate	euc.h		\
777c478bd9Sstevel@tonic-gate	exacct.h	\
787c478bd9Sstevel@tonic-gate	exacct_impl.h	\
79f151e4bfSbarts	execinfo.h	\
807c478bd9Sstevel@tonic-gate	fatal.h		\
817c478bd9Sstevel@tonic-gate	fcntl.h		\
8225c28e83SPiotr Jasiukajtis	fenv.h		\
837c478bd9Sstevel@tonic-gate	float.h		\
8425c28e83SPiotr Jasiukajtis	floatingpoint.h	\
857c478bd9Sstevel@tonic-gate	fmtmsg.h	\
867c478bd9Sstevel@tonic-gate	fnmatch.h	\
874585130bSYuri Pankov	fts.h		\
887c478bd9Sstevel@tonic-gate	ftw.h		\
897c478bd9Sstevel@tonic-gate	gelf.h		\
907c478bd9Sstevel@tonic-gate	getopt.h	\
917c478bd9Sstevel@tonic-gate	getwidth.h	\
927c478bd9Sstevel@tonic-gate	glob.h		\
937c478bd9Sstevel@tonic-gate	grp.h		\
947c478bd9Sstevel@tonic-gate	iconv.h		\
957c478bd9Sstevel@tonic-gate	ieeefp.h	\
966e91bba0SGirish Moodalbail	ifaddrs.h	\
977c478bd9Sstevel@tonic-gate	inttypes.h	\
987c478bd9Sstevel@tonic-gate	iso646.h	\
99ddf7fe95Scasper	klpd.h		\
1007c478bd9Sstevel@tonic-gate	langinfo.h	\
1017c478bd9Sstevel@tonic-gate	lastlog.h	\
1027c478bd9Sstevel@tonic-gate	lber.h		\
1037c478bd9Sstevel@tonic-gate	ldap.h		\
1047c478bd9Sstevel@tonic-gate	libelf.h	\
1057c478bd9Sstevel@tonic-gate	libgen.h	\
1067c478bd9Sstevel@tonic-gate	libintl.h	\
1077c478bd9Sstevel@tonic-gate	libw.h		\
1087c478bd9Sstevel@tonic-gate	libzonecfg.h	\
1097c478bd9Sstevel@tonic-gate	limits.h	\
1107c478bd9Sstevel@tonic-gate	linenum.h	\
1117c478bd9Sstevel@tonic-gate	link.h		\
1127c478bd9Sstevel@tonic-gate	listen.h	\
1137c478bd9Sstevel@tonic-gate	locale.h	\
1147c478bd9Sstevel@tonic-gate	macros.h	\
1157c478bd9Sstevel@tonic-gate	malloc.h	\
11625c28e83SPiotr Jasiukajtis	math.h		\
1177c478bd9Sstevel@tonic-gate	memory.h	\
1187c478bd9Sstevel@tonic-gate	mon.h		\
1197c478bd9Sstevel@tonic-gate	monetary.h	\
1207c478bd9Sstevel@tonic-gate	mp.h		\
1217c478bd9Sstevel@tonic-gate	mqueue.h	\
1227c478bd9Sstevel@tonic-gate	nan.h		\
1237c478bd9Sstevel@tonic-gate	ndbm.h		\
124cc52cd5bSapersson	ndpd.h		\
1257c478bd9Sstevel@tonic-gate	netconfig.h	\
1267c478bd9Sstevel@tonic-gate	netdb.h		\
1277c478bd9Sstevel@tonic-gate	netdir.h	\
1287c478bd9Sstevel@tonic-gate	nl_types.h	\
1297c478bd9Sstevel@tonic-gate	nlist.h		\
1307c478bd9Sstevel@tonic-gate	note.h		\
1317c478bd9Sstevel@tonic-gate	nsswitch.h	\
1327c478bd9Sstevel@tonic-gate	nss_common.h	\
1337c478bd9Sstevel@tonic-gate	nss_dbdefs.h	\
1347c478bd9Sstevel@tonic-gate	nss_netdir.h	\
135686c0471SRichard Lowe	paths.h		\
1367c478bd9Sstevel@tonic-gate	pcsample.h	\
1377c478bd9Sstevel@tonic-gate	pfmt.h		\
1387c478bd9Sstevel@tonic-gate	pkgdev.h	\
1397c478bd9Sstevel@tonic-gate	pkginfo.h	\
1407c478bd9Sstevel@tonic-gate	pkglocs.h	\
1417c478bd9Sstevel@tonic-gate	pkgstrct.h	\
1427c478bd9Sstevel@tonic-gate	pkgtrans.h	\
1437c478bd9Sstevel@tonic-gate	poll.h		\
1447c478bd9Sstevel@tonic-gate	port.h		\
1457c478bd9Sstevel@tonic-gate	priv.h		\
1467c478bd9Sstevel@tonic-gate	priv_utils.h	\
1477c478bd9Sstevel@tonic-gate	proc_service.h	\
1487c478bd9Sstevel@tonic-gate	procfs.h	\
1497c478bd9Sstevel@tonic-gate	prof.h		\
1507c478bd9Sstevel@tonic-gate	project.h	\
1517c478bd9Sstevel@tonic-gate	pthread.h	\
1527c478bd9Sstevel@tonic-gate	pw.h		\
1537c478bd9Sstevel@tonic-gate	pwd.h		\
1547c478bd9Sstevel@tonic-gate	rctl.h		\
1557c478bd9Sstevel@tonic-gate	re_comp.h	\
1567c478bd9Sstevel@tonic-gate	regex.h		\
1577c478bd9Sstevel@tonic-gate	regexp.h	\
1587c478bd9Sstevel@tonic-gate	resolv.h	\
1597c478bd9Sstevel@tonic-gate	rje.h		\
1607c478bd9Sstevel@tonic-gate	rtld_db.h	\
1617c478bd9Sstevel@tonic-gate	sac.h		\
1627c478bd9Sstevel@tonic-gate	sched.h		\
1637c478bd9Sstevel@tonic-gate	schedctl.h	\
1647c478bd9Sstevel@tonic-gate	search.h	\
1657c478bd9Sstevel@tonic-gate	semaphore.h	\
1667c478bd9Sstevel@tonic-gate	setjmp.h	\
1677c478bd9Sstevel@tonic-gate	sgtty.h		\
1687c478bd9Sstevel@tonic-gate	shadow.h	\
1697c478bd9Sstevel@tonic-gate	siginfo.h	\
1707c478bd9Sstevel@tonic-gate	signal.h	\
1717c478bd9Sstevel@tonic-gate	spawn.h		\
172fc2512cfSRobert Mustacchi	stdalign.h	\
1737c478bd9Sstevel@tonic-gate	stdarg.h	\
1747c478bd9Sstevel@tonic-gate	stdbool.h	\
1757c478bd9Sstevel@tonic-gate	stddef.h	\
1767c478bd9Sstevel@tonic-gate	stdint.h	\
1777c478bd9Sstevel@tonic-gate	stdio.h		\
1787c478bd9Sstevel@tonic-gate	stdio_ext.h	\
1797c478bd9Sstevel@tonic-gate	stdio_tag.h	\
1807c478bd9Sstevel@tonic-gate	stdio_impl.h	\
1817c478bd9Sstevel@tonic-gate	stdlib.h	\
182fc2512cfSRobert Mustacchi	stdnoreturn.h	\
1837c478bd9Sstevel@tonic-gate	storclass.h	\
1847c478bd9Sstevel@tonic-gate	string.h	\
1857c478bd9Sstevel@tonic-gate	strings.h	\
1867c478bd9Sstevel@tonic-gate	stropts.h	\
1877c478bd9Sstevel@tonic-gate	synch.h		\
1887c478bd9Sstevel@tonic-gate	sysexits.h	\
1897c478bd9Sstevel@tonic-gate	syslog.h	\
1907c478bd9Sstevel@tonic-gate	syms.h		\
1917c478bd9Sstevel@tonic-gate	tar.h		\
1927c478bd9Sstevel@tonic-gate	termio.h	\
1937c478bd9Sstevel@tonic-gate	termios.h	\
19425c28e83SPiotr Jasiukajtis	tgmath.h	\
1957c478bd9Sstevel@tonic-gate	thread.h	\
1967c478bd9Sstevel@tonic-gate	thread_db.h	\
197fc2512cfSRobert Mustacchi	threads.h	\
1987c478bd9Sstevel@tonic-gate	time.h		\
1997c478bd9Sstevel@tonic-gate	tiuser.h	\
2007c478bd9Sstevel@tonic-gate	tzfile.h	\
201eda3ef2dSRobert Mustacchi	uchar.h		\
2027c478bd9Sstevel@tonic-gate	ucontext.h	\
2037c478bd9Sstevel@tonic-gate	ucred.h		\
2047c478bd9Sstevel@tonic-gate	ulimit.h	\
2057c478bd9Sstevel@tonic-gate	unistd.h	\
206*350ffdd5SRobert Mustacchi	upanic.h	\
2077c478bd9Sstevel@tonic-gate	userdefs.h	\
2087c478bd9Sstevel@tonic-gate	ustat.h		\
2097c478bd9Sstevel@tonic-gate	utime.h		\
2107c478bd9Sstevel@tonic-gate	utmp.h		\
2117c478bd9Sstevel@tonic-gate	utmpx.h		\
2127c478bd9Sstevel@tonic-gate	valtools.h	\
2137c478bd9Sstevel@tonic-gate	values.h	\
2147c478bd9Sstevel@tonic-gate	varargs.h	\
2157c478bd9Sstevel@tonic-gate	wait.h		\
2167c478bd9Sstevel@tonic-gate	wchar.h		\
2177c478bd9Sstevel@tonic-gate	wchar_impl.h	\
2187c478bd9Sstevel@tonic-gate	wctype.h	\
2197c478bd9Sstevel@tonic-gate	widec.h		\
2207c478bd9Sstevel@tonic-gate	wordexp.h	\
2212d08521bSGarrett D'Amore	xlocale.h	\
2227c478bd9Sstevel@tonic-gate	xti.h		\
2237c478bd9Sstevel@tonic-gate	xti_inet.h	\
2247c478bd9Sstevel@tonic-gate	zone.h
2257c478bd9Sstevel@tonic-gate
2267c478bd9Sstevel@tonic-gateISOHDRS = \
2277c478bd9Sstevel@tonic-gate	ctype_iso.h	\
2287c478bd9Sstevel@tonic-gate	limits_iso.h	\
2297c478bd9Sstevel@tonic-gate	locale_iso.h	\
23025c28e83SPiotr Jasiukajtis	math_c99.h	\
23125c28e83SPiotr Jasiukajtis	math_iso.h	\
232eda3ef2dSRobert Mustacchi	setjmp_iso.h	\
2337c478bd9Sstevel@tonic-gate	signal_iso.h	\
2347c478bd9Sstevel@tonic-gate	stdarg_c99.h	\
2357c478bd9Sstevel@tonic-gate	stdarg_iso.h	\
2367c478bd9Sstevel@tonic-gate	stddef_iso.h	\
2377c478bd9Sstevel@tonic-gate	stdio_c99.h	\
2387c478bd9Sstevel@tonic-gate	stdio_iso.h	\
2397c478bd9Sstevel@tonic-gate	stdlib_c99.h	\
240fc2512cfSRobert Mustacchi	stdlib_c11.h	\
2417c478bd9Sstevel@tonic-gate	stdlib_iso.h	\
2427c478bd9Sstevel@tonic-gate	string_iso.h	\
2437c478bd9Sstevel@tonic-gate	time_iso.h	\
2447c478bd9Sstevel@tonic-gate	wchar_c99.h	\
2457c478bd9Sstevel@tonic-gate	wchar_iso.h	\
2467c478bd9Sstevel@tonic-gate	wctype_iso.h
2477c478bd9Sstevel@tonic-gate
248eda3ef2dSRobert MustacchiARPAHDRS =		\
2497c478bd9Sstevel@tonic-gate	ftp.h		\
2507c478bd9Sstevel@tonic-gate	inet.h		\
2517c478bd9Sstevel@tonic-gate	nameser.h	\
2527c478bd9Sstevel@tonic-gate	telnet.h	\
2537c478bd9Sstevel@tonic-gate	tftp.h		\
2547c478bd9Sstevel@tonic-gate	nameser_compat.h
2557c478bd9Sstevel@tonic-gate
2567c478bd9Sstevel@tonic-gateAUDIOHDRS =		\
2577c478bd9Sstevel@tonic-gate	au.h
2587c478bd9Sstevel@tonic-gate
2597c478bd9Sstevel@tonic-gateUUIDHDRS =		\
2607c478bd9Sstevel@tonic-gate	uuid.h
2617c478bd9Sstevel@tonic-gate
2627c478bd9Sstevel@tonic-gate# rpcsvc headers which are just headers (not derived from a .x file)
2637c478bd9Sstevel@tonic-gateRPCSVC_SRC_HDRS =	\
2647c478bd9Sstevel@tonic-gate	bootparam.h	\
2657c478bd9Sstevel@tonic-gate	daemon_utils.h	\
2667c478bd9Sstevel@tonic-gate	dbm.h		\
2677c478bd9Sstevel@tonic-gate	nis_db.h	\
2687c478bd9Sstevel@tonic-gate	nislib.h	\
269f48205beScasper	svc_dg_priv.h	\
2707c478bd9Sstevel@tonic-gate	yp_prot.h	\
2717c478bd9Sstevel@tonic-gate	ypclnt.h	\
2727c478bd9Sstevel@tonic-gate	yppasswd.h	\
2737c478bd9Sstevel@tonic-gate	ypupd.h		\
2747c478bd9Sstevel@tonic-gate	rpc_sztypes.h
2757c478bd9Sstevel@tonic-gate
2767c478bd9Sstevel@tonic-gate# rpcsvc headers which are generated from .x files
2777c478bd9Sstevel@tonic-gateRPCSVC_GEN_HDRS = \
2787c478bd9Sstevel@tonic-gate	bootparam_prot.h \
2797c478bd9Sstevel@tonic-gate	mount.h		\
2807c478bd9Sstevel@tonic-gate	nfs_prot.h	\
2817c478bd9Sstevel@tonic-gate	nfs4_prot.h	\
2827c478bd9Sstevel@tonic-gate	nis.h		\
2837c478bd9Sstevel@tonic-gate	rquota.h	\
2847c478bd9Sstevel@tonic-gate	rstat.h		\
2857c478bd9Sstevel@tonic-gate	rusers.h	\
2867c478bd9Sstevel@tonic-gate	rwall.h		\
2877c478bd9Sstevel@tonic-gate	spray.h		\
2887c478bd9Sstevel@tonic-gate	ufs_prot.h	\
2897c478bd9Sstevel@tonic-gate	nfs_acl.h
2907c478bd9Sstevel@tonic-gate
2917c478bd9Sstevel@tonic-gateSYMHDRASSERT = $(ROOT)/usr/include/iso/assert_iso.h
2927c478bd9Sstevel@tonic-gateSYMHDRERRNO = $(ROOT)/usr/include/iso/errno_iso.h
2937c478bd9Sstevel@tonic-gateSYMHDRFLOAT = $(ROOT)/usr/include/iso/float_iso.h
2947c478bd9Sstevel@tonic-gateSYMHDRISO646 = $(ROOT)/usr/include/iso/iso646_iso.h
2957c478bd9Sstevel@tonic-gate
2967c478bd9Sstevel@tonic-gateRPCGENFLAGS = -C -h
2977c478bd9Sstevel@tonic-gaterpcsvc/rwall.h :=	RPCGENFLAGS += -M
2987c478bd9Sstevel@tonic-gate
2997c478bd9Sstevel@tonic-gate# rpcsvc rpcgen source (.x files)
3007c478bd9Sstevel@tonic-gate#
3015f10ef69SYuri Pankov# yp.x is an attempt at codifying what was hand coded in RPCL.
3027c478bd9Sstevel@tonic-gate# Unfortunately it doesn't quite work. (The handcoded stuff isn't
3037c478bd9Sstevel@tonic-gate# expressable in RPCL) this is due to the fact that YP was written
3047c478bd9Sstevel@tonic-gate# before rpcgen existed.  Hence, yp_prot.h cannot be derived from yp.x
3057c478bd9Sstevel@tonic-gate#
3067c478bd9Sstevel@tonic-gate# There is no `.h' for nis_object.x because it is included by nis.x and
3077c478bd9Sstevel@tonic-gate# the resulting .h is nis.h.
3087c478bd9Sstevel@tonic-gate
3097c478bd9Sstevel@tonic-gateRPCSVCPROTS = \
3107c478bd9Sstevel@tonic-gate$(RPCSVC_GEN_HDRS:%.h=%.x)        nis_object.x       yp.x
3117c478bd9Sstevel@tonic-gate
3127c478bd9Sstevel@tonic-gateRPCSVCHDRS= $(RPCSVC_SRC_HDRS) $(RPCSVC_GEN_HDRS)
3137c478bd9Sstevel@tonic-gate
314cc52cd5bSaperssonPROTOHDRS=   dumprestore.h routed.h ripngd.h rwhod.h timed.h
3157c478bd9Sstevel@tonic-gate
3167c478bd9Sstevel@tonic-gateROOTHDRS= $(HDRS:%=$(ROOT)/usr/include/%)  \
3177c478bd9Sstevel@tonic-gate	$(KRB5HDRS:%=$(ROOT)/usr/include/kerberosv5/%)  \
3187c478bd9Sstevel@tonic-gate	$(ISOHDRS:%=$(ROOT)/usr/include/iso/%)  \
3197c478bd9Sstevel@tonic-gate	$(ARPAHDRS:%=$(ROOT)/usr/include/arpa/%)  \
3207c478bd9Sstevel@tonic-gate	$(AUDIOHDRS:%=$(ROOT)/usr/include/audio/%)  \
3217c478bd9Sstevel@tonic-gate	$(UUIDHDRS:%=$(ROOT)/usr/include/uuid/%)  \
3227c478bd9Sstevel@tonic-gate	$(RPCSVCHDRS:%=$(ROOT)/usr/include/rpcsvc/%)  \
3237c478bd9Sstevel@tonic-gate	$(RPCSVCPROTS:%=$(ROOT)/usr/include/rpcsvc/%)  \
3247c478bd9Sstevel@tonic-gate	$(PROTOHDRS:%=$(ROOT)/usr/include/protocols/%)
3257c478bd9Sstevel@tonic-gate
3267c478bd9Sstevel@tonic-gateDIRS= iso arpa audio rpcsvc protocols security uuid kerberosv5
3277c478bd9Sstevel@tonic-gateROOTDIRS= $(DIRS:%=$(ROOT)/usr/include/%)
3287c478bd9Sstevel@tonic-gate
3297c478bd9Sstevel@tonic-gate# check files really don't exist
3307c478bd9Sstevel@tonic-gate#
3317c478bd9Sstevel@tonic-gate# should do something with the rpcsvc headers
3327c478bd9Sstevel@tonic-gate
3337c478bd9Sstevel@tonic-gateiso/%.check:		iso/%.h
3347c478bd9Sstevel@tonic-gate	$(DOT_H_CHECK)
3357c478bd9Sstevel@tonic-gate
3367c478bd9Sstevel@tonic-gatearpa/%.check:		arpa/%.h
3377c478bd9Sstevel@tonic-gate	$(DOT_H_CHECK)
3387c478bd9Sstevel@tonic-gate
3397c478bd9Sstevel@tonic-gateaudio/%.check:		audio/%.h
3407c478bd9Sstevel@tonic-gate	$(DOT_H_CHECK)
3417c478bd9Sstevel@tonic-gate
3427c478bd9Sstevel@tonic-gaterpcsvc/%.check:		rpcsvc/%.h
3437c478bd9Sstevel@tonic-gate	$(DOT_H_CHECK)
3447c478bd9Sstevel@tonic-gate
3457c478bd9Sstevel@tonic-gaterpcsvc/%.check:		rpcsvc/%.x
3467c478bd9Sstevel@tonic-gate	$(DOT_X_CHECK)
3477c478bd9Sstevel@tonic-gate
3487c478bd9Sstevel@tonic-gateprotocols/%.check:	protocols/%.h
3497c478bd9Sstevel@tonic-gate	$(DOT_H_CHECK)
3507c478bd9Sstevel@tonic-gate
3517c478bd9Sstevel@tonic-gatekerberosv5/%.check:             kerberosv5/%.h
3527c478bd9Sstevel@tonic-gate	$(DOT_H_CHECK)
3537c478bd9Sstevel@tonic-gate
3547c478bd9Sstevel@tonic-gateuuid/%.check:		uuid/%.h
3557c478bd9Sstevel@tonic-gate	$(DOT_H_CHECK)
3567c478bd9Sstevel@tonic-gate
3577c478bd9Sstevel@tonic-gate# Note that the derived headers (rpcgen) are not checked at this time.  These
3587c478bd9Sstevel@tonic-gate# need work at the source level and rpcgen itself has a bug which causes a
3597c478bd9Sstevel@tonic-gate# cstyle violation.  Furthermore, there seems to be good reasons for the
3607c478bd9Sstevel@tonic-gate# generated headers to not pass all of the hdrchk rules.
3617c478bd9Sstevel@tonic-gate#
3627c478bd9Sstevel@tonic-gate# Add the following to the CHECKHDRS list to activate the .x checks:
3637c478bd9Sstevel@tonic-gate#	$(RPCSVCPROTS:%.x=rpcsvc/%.check) \
3647c478bd9Sstevel@tonic-gate#
3657c478bd9Sstevel@tonic-gateCHECKHDRS= $(HDRS:%.h=%.check)  \
3667c478bd9Sstevel@tonic-gate	$(KRB5HDRS:%.h=kerberosv5/%.check)  \
3677c478bd9Sstevel@tonic-gate	$(ISOHDRS:%.h=iso/%.check)  \
3687c478bd9Sstevel@tonic-gate	$(ARPAHDRS:%.h=arpa/%.check)  \
3697c478bd9Sstevel@tonic-gate	$(AUDIOHDRS:%.h=audio/%.check)  \
3707c478bd9Sstevel@tonic-gate	$(UUIDHDRS:%.h=uuid/%.check)  \
3717c478bd9Sstevel@tonic-gate	$(RPCSVC_SRC_HDRS:%.h=rpcsvc/%.check) \
3727c478bd9Sstevel@tonic-gate	$(PROTOHDRS:%.h=protocols/%.check)
3737c478bd9Sstevel@tonic-gate
3747c478bd9Sstevel@tonic-gate# headers which won't quite meet the standards...
3757c478bd9Sstevel@tonic-gate#
3767c478bd9Sstevel@tonic-gate# assert.h is required by ansi-c to *not* be idempotent (section 4.1.2).
3777c478bd9Sstevel@tonic-gate# Hence the trailing guard is not the last thing in the file nor can it
3787c478bd9Sstevel@tonic-gate# be without playing silly games.
3797c478bd9Sstevel@tonic-gate
3807c478bd9Sstevel@tonic-gateassert.check	:= HDRCHK_TAIL = | grep -v "end guard wrong" | true
3817c478bd9Sstevel@tonic-gate
3827c478bd9Sstevel@tonic-gate# install rules
3837c478bd9Sstevel@tonic-gate
3847c478bd9Sstevel@tonic-gate$(ROOT)/usr/include/security/%: security/%
3857c478bd9Sstevel@tonic-gate	$(INS.file)
3867c478bd9Sstevel@tonic-gate
3877c478bd9Sstevel@tonic-gate$(ROOT)/usr/include/protocols/%: protocols/%
3887c478bd9Sstevel@tonic-gate	$(INS.file)
3897c478bd9Sstevel@tonic-gate
3907c478bd9Sstevel@tonic-gate$(ROOT)/usr/include/rpcsvc/%: rpcsvc/%
3917c478bd9Sstevel@tonic-gate	$(INS.file)
3927c478bd9Sstevel@tonic-gate
3937c478bd9Sstevel@tonic-gate$(ROOT)/usr/include/kerberosv5/%: kerberosv5/%
3947c478bd9Sstevel@tonic-gate	$(INS.file)
3957c478bd9Sstevel@tonic-gate
3967c478bd9Sstevel@tonic-gate$(ROOT)/usr/include/arpa/%: arpa/%
3977c478bd9Sstevel@tonic-gate	$(INS.file)
3987c478bd9Sstevel@tonic-gate
3997c478bd9Sstevel@tonic-gate$(ROOT)/usr/include/audio/%: audio/%
4007c478bd9Sstevel@tonic-gate	$(INS.file)
4017c478bd9Sstevel@tonic-gate
4027c478bd9Sstevel@tonic-gate$(ROOT)/usr/include/iso/%: iso/%
4037c478bd9Sstevel@tonic-gate	$(INS.file)
4047c478bd9Sstevel@tonic-gate
4057c478bd9Sstevel@tonic-gate$(ROOT)/usr/include/uuid/%: uuid/%
4067c478bd9Sstevel@tonic-gate	$(INS.file)
4077c478bd9Sstevel@tonic-gate
4087c478bd9Sstevel@tonic-gate$(ROOT)/usr/include/%: %
4097c478bd9Sstevel@tonic-gate	$(INS.file)
4107c478bd9Sstevel@tonic-gate
4117c478bd9Sstevel@tonic-gate.KEEP_STATE:
4127c478bd9Sstevel@tonic-gate
4137c478bd9Sstevel@tonic-gate.PARALLEL:	$(ROOTHDRS) $(CHECKHDRS)
4147c478bd9Sstevel@tonic-gate
415eda3ef2dSRobert Mustacchiinstall_h:	$(ROOTDIRS) .WAIT $(ROOTHDRS) $(SYMHDRASSERT) $(SYMHDRERRNO) \
4167c478bd9Sstevel@tonic-gate		$(SYMHDRFLOAT) $(SYMHDRISO646)
4177c478bd9Sstevel@tonic-gate
4187c478bd9Sstevel@tonic-gatecheck:	$(CHECKHDRS)
4197c478bd9Sstevel@tonic-gate
4207c478bd9Sstevel@tonic-gateclean clobber:
4217c478bd9Sstevel@tonic-gate	cd rpcsvc ; $(RM) $(RPCSVC_GEN_HDRS)
4227c478bd9Sstevel@tonic-gate
4237c478bd9Sstevel@tonic-gate$(ROOTDIRS):
4247c478bd9Sstevel@tonic-gate	$(INS.dir)
4257c478bd9Sstevel@tonic-gate
4265f10ef69SYuri Pankov$(SYMHDRASSERT):
4277c478bd9Sstevel@tonic-gate	-$(RM) $@; $(SYMLINK) ../assert.h $@
4287c478bd9Sstevel@tonic-gate
4295f10ef69SYuri Pankov$(SYMHDRERRNO):
4307c478bd9Sstevel@tonic-gate	-$(RM) $@; $(SYMLINK) ../errno.h $@
4317c478bd9Sstevel@tonic-gate
4325f10ef69SYuri Pankov$(SYMHDRFLOAT):
4337c478bd9Sstevel@tonic-gate	-$(RM) $@; $(SYMLINK) ../float.h $@
4347c478bd9Sstevel@tonic-gate
4355f10ef69SYuri Pankov$(SYMHDRISO646):
4367c478bd9Sstevel@tonic-gate	-$(RM) $@; $(SYMLINK) ../iso646.h $@
4377c478bd9Sstevel@tonic-gate
4387c478bd9Sstevel@tonic-gaterpcsvc/%.h:	rpcsvc/%.x
4397c478bd9Sstevel@tonic-gate	$(RPCGEN) $(RPCGENFLAGS) $< -o $@
4407c478bd9Sstevel@tonic-gate
4417c478bd9Sstevel@tonic-gaterpcsvc/nis.h:	rpcsvc/nis.x
4427c478bd9Sstevel@tonic-gate	$(RPCGEN) $(RPCGENFLAGS) rpcsvc/nis.x |\
4437c478bd9Sstevel@tonic-gate	$(SED) -e '/EDIT_START/,$$ d' > $@
444