xref: /titanic_52/usr/src/head/Makefile (revision 6e91bba0d6c6bdabbba62cefae583715a4a58e2a)
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#
217c478bd9Sstevel@tonic-gate#
22*6e91bba0SGirish Moodalbail# Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
237c478bd9Sstevel@tonic-gate# Use is subject to license terms.
247c478bd9Sstevel@tonic-gate#
257c478bd9Sstevel@tonic-gate# head/Makefile
267c478bd9Sstevel@tonic-gate#
277c478bd9Sstevel@tonic-gate# include global definitions
287c478bd9Sstevel@tonic-gateinclude ../Makefile.master
297c478bd9Sstevel@tonic-gate
307c478bd9Sstevel@tonic-gatesparc_HDRS=
317c478bd9Sstevel@tonic-gatei386_HDRS=	stack_unwind.h
327c478bd9Sstevel@tonic-gate
337c478bd9Sstevel@tonic-gate# Headers are listed one per line so that TeamWare can auto-merge most changes
347c478bd9Sstevel@tonic-gate
357c478bd9Sstevel@tonic-gateKRB5HDRS= mit_copyright.h mit-sipb-copyright.h
367c478bd9Sstevel@tonic-gate
377c478bd9Sstevel@tonic-gateATTRDB_HDRS=	secdb.h auth_attr.h exec_attr.h prof_attr.h user_attr.h \
387c478bd9Sstevel@tonic-gate	auth_list.h
397c478bd9Sstevel@tonic-gate
407c478bd9Sstevel@tonic-gateHDRS=   $($(MACH)_HDRS)  $(ATTRDB_HDRS) \
417c478bd9Sstevel@tonic-gate	aio.h		\
427c478bd9Sstevel@tonic-gate	alloca.h	\
437c478bd9Sstevel@tonic-gate	apptrace.h	\
447c478bd9Sstevel@tonic-gate	apptrace_impl.h	\
457c478bd9Sstevel@tonic-gate	ar.h		\
467c478bd9Sstevel@tonic-gate	archives.h	\
477c478bd9Sstevel@tonic-gate	assert.h	\
487c478bd9Sstevel@tonic-gate	atomic.h	\
49da6c28aaSamw	attr.h		\
507c478bd9Sstevel@tonic-gate	config_admin.h	\
517c478bd9Sstevel@tonic-gate	cpio.h		\
527c478bd9Sstevel@tonic-gate	crypt.h		\
537c478bd9Sstevel@tonic-gate	ctype.h		\
547c478bd9Sstevel@tonic-gate	deflt.h		\
557c478bd9Sstevel@tonic-gate	devid.h		\
567c478bd9Sstevel@tonic-gate	devmgmt.h	\
577c478bd9Sstevel@tonic-gate	devpoll.h	\
587c478bd9Sstevel@tonic-gate	dial.h		\
597c478bd9Sstevel@tonic-gate	dirent.h	\
607c478bd9Sstevel@tonic-gate	dlfcn.h		\
617c478bd9Sstevel@tonic-gate	door.h		\
627c478bd9Sstevel@tonic-gate	elf.h		\
63d362b749Svk199839	err.h		\
647c478bd9Sstevel@tonic-gate	errno.h		\
657c478bd9Sstevel@tonic-gate	euc.h		\
667c478bd9Sstevel@tonic-gate	exacct.h	\
677c478bd9Sstevel@tonic-gate	exacct_impl.h	\
68f151e4bfSbarts	execinfo.h	\
697c478bd9Sstevel@tonic-gate	fatal.h		\
707c478bd9Sstevel@tonic-gate	fcntl.h		\
717c478bd9Sstevel@tonic-gate	float.h		\
727c478bd9Sstevel@tonic-gate	fmtmsg.h	\
737c478bd9Sstevel@tonic-gate	fnmatch.h	\
747c478bd9Sstevel@tonic-gate	ftw.h		\
757c478bd9Sstevel@tonic-gate	gelf.h		\
767c478bd9Sstevel@tonic-gate	getopt.h	\
777c478bd9Sstevel@tonic-gate	getwidth.h	\
787c478bd9Sstevel@tonic-gate	glob.h		\
797c478bd9Sstevel@tonic-gate	grp.h		\
807c478bd9Sstevel@tonic-gate	iconv.h		\
817c478bd9Sstevel@tonic-gate	ieeefp.h	\
82*6e91bba0SGirish Moodalbail	ifaddrs.h	\
837c478bd9Sstevel@tonic-gate	inttypes.h	\
847c478bd9Sstevel@tonic-gate	iso646.h	\
85ddf7fe95Scasper	klpd.h		\
867c478bd9Sstevel@tonic-gate	langinfo.h	\
877c478bd9Sstevel@tonic-gate	lastlog.h	\
887c478bd9Sstevel@tonic-gate	lber.h		\
897c478bd9Sstevel@tonic-gate	ldap.h		\
907c478bd9Sstevel@tonic-gate	libelf.h	\
917c478bd9Sstevel@tonic-gate	libgen.h	\
927c478bd9Sstevel@tonic-gate	libintl.h	\
937c478bd9Sstevel@tonic-gate	libw.h		\
947c478bd9Sstevel@tonic-gate	libzonecfg.h	\
957c478bd9Sstevel@tonic-gate	limits.h	\
967c478bd9Sstevel@tonic-gate	linenum.h	\
977c478bd9Sstevel@tonic-gate	link.h		\
987c478bd9Sstevel@tonic-gate	listen.h	\
997c478bd9Sstevel@tonic-gate	locale.h	\
1007c478bd9Sstevel@tonic-gate	macros.h	\
1017c478bd9Sstevel@tonic-gate	malloc.h	\
1027c478bd9Sstevel@tonic-gate	mdmn_changelog.h	\
1037c478bd9Sstevel@tonic-gate	memory.h	\
1047c478bd9Sstevel@tonic-gate	meta.h		\
1057c478bd9Sstevel@tonic-gate	meta_runtime.h	\
1067c478bd9Sstevel@tonic-gate	metadyn.h	\
1077c478bd9Sstevel@tonic-gate	mon.h		\
1087c478bd9Sstevel@tonic-gate	monetary.h	\
1097c478bd9Sstevel@tonic-gate	mp.h		\
1107c478bd9Sstevel@tonic-gate	mqueue.h	\
1117c478bd9Sstevel@tonic-gate	nan.h		\
1127c478bd9Sstevel@tonic-gate	ndbm.h		\
113cc52cd5bSapersson	ndpd.h		\
1147c478bd9Sstevel@tonic-gate	netconfig.h	\
1157c478bd9Sstevel@tonic-gate	netdb.h		\
1167c478bd9Sstevel@tonic-gate	netdir.h	\
1177c478bd9Sstevel@tonic-gate	nl_types.h	\
1187c478bd9Sstevel@tonic-gate	nlist.h		\
1197c478bd9Sstevel@tonic-gate	note.h		\
120fcf3ce44SJohn Forte	nsctl.h		\
1217c478bd9Sstevel@tonic-gate	nsswitch.h	\
1227c478bd9Sstevel@tonic-gate	nss_common.h	\
1237c478bd9Sstevel@tonic-gate	nss_dbdefs.h	\
1247c478bd9Sstevel@tonic-gate	nss_netdir.h	\
1257c478bd9Sstevel@tonic-gate	pcsample.h	\
1267c478bd9Sstevel@tonic-gate	pfmt.h		\
1277c478bd9Sstevel@tonic-gate	pkgdev.h	\
1287c478bd9Sstevel@tonic-gate	pkginfo.h	\
1297c478bd9Sstevel@tonic-gate	pkglocs.h	\
1307c478bd9Sstevel@tonic-gate	pkgstrct.h	\
1317c478bd9Sstevel@tonic-gate	pkgtrans.h	\
1327c478bd9Sstevel@tonic-gate	poll.h		\
1337c478bd9Sstevel@tonic-gate	port.h		\
1347c478bd9Sstevel@tonic-gate	priv.h		\
1357c478bd9Sstevel@tonic-gate	priv_utils.h	\
1367c478bd9Sstevel@tonic-gate	proc_service.h	\
1377c478bd9Sstevel@tonic-gate	procfs.h	\
1387c478bd9Sstevel@tonic-gate	prof.h		\
1397c478bd9Sstevel@tonic-gate	project.h	\
1407c478bd9Sstevel@tonic-gate	pthread.h	\
1417c478bd9Sstevel@tonic-gate	pw.h		\
1427c478bd9Sstevel@tonic-gate	pwd.h		\
1437c478bd9Sstevel@tonic-gate	rctl.h		\
1447c478bd9Sstevel@tonic-gate	re_comp.h	\
1457c478bd9Sstevel@tonic-gate	regex.h		\
1467c478bd9Sstevel@tonic-gate	regexp.h	\
1477c478bd9Sstevel@tonic-gate	resolv.h	\
1487c478bd9Sstevel@tonic-gate	rje.h		\
1497c478bd9Sstevel@tonic-gate	rtld_db.h	\
1507c478bd9Sstevel@tonic-gate	sac.h		\
1517c478bd9Sstevel@tonic-gate	sched.h		\
1527c478bd9Sstevel@tonic-gate	schedctl.h	\
1537c478bd9Sstevel@tonic-gate	sdssc.h		\
1547c478bd9Sstevel@tonic-gate	search.h	\
1557c478bd9Sstevel@tonic-gate	semaphore.h	\
1567c478bd9Sstevel@tonic-gate	setjmp.h	\
1577c478bd9Sstevel@tonic-gate	sgtty.h		\
1587c478bd9Sstevel@tonic-gate	shadow.h	\
1597c478bd9Sstevel@tonic-gate	siginfo.h	\
1607c478bd9Sstevel@tonic-gate	signal.h	\
1617c478bd9Sstevel@tonic-gate	spawn.h		\
1627c478bd9Sstevel@tonic-gate	stdarg.h	\
1637c478bd9Sstevel@tonic-gate	stdbool.h	\
1647c478bd9Sstevel@tonic-gate	stddef.h	\
1657c478bd9Sstevel@tonic-gate	stdint.h	\
1667c478bd9Sstevel@tonic-gate	stdio.h		\
1677c478bd9Sstevel@tonic-gate	stdio_ext.h	\
1687c478bd9Sstevel@tonic-gate	stdio_tag.h	\
1697c478bd9Sstevel@tonic-gate	stdio_impl.h	\
1707c478bd9Sstevel@tonic-gate	stdlib.h	\
1717c478bd9Sstevel@tonic-gate	storclass.h	\
1727c478bd9Sstevel@tonic-gate	string.h	\
1737c478bd9Sstevel@tonic-gate	strings.h	\
1747c478bd9Sstevel@tonic-gate	stropts.h	\
1757c478bd9Sstevel@tonic-gate	synch.h		\
1767c478bd9Sstevel@tonic-gate	sysexits.h	\
1777c478bd9Sstevel@tonic-gate	syslog.h	\
1787c478bd9Sstevel@tonic-gate	syms.h		\
1797c478bd9Sstevel@tonic-gate	tar.h		\
1807c478bd9Sstevel@tonic-gate	termio.h	\
1817c478bd9Sstevel@tonic-gate	termios.h	\
1827c478bd9Sstevel@tonic-gate	thread.h	\
1837c478bd9Sstevel@tonic-gate	thread_db.h	\
1847c478bd9Sstevel@tonic-gate	time.h		\
1857c478bd9Sstevel@tonic-gate	tiuser.h	\
1867c478bd9Sstevel@tonic-gate	tzfile.h	\
1877c478bd9Sstevel@tonic-gate	ucontext.h	\
1887c478bd9Sstevel@tonic-gate	ucred.h		\
1897c478bd9Sstevel@tonic-gate	ulimit.h	\
1907c478bd9Sstevel@tonic-gate	unistd.h	\
1917c478bd9Sstevel@tonic-gate	userdefs.h	\
1927c478bd9Sstevel@tonic-gate	ustat.h		\
1937c478bd9Sstevel@tonic-gate	utime.h		\
1947c478bd9Sstevel@tonic-gate	utmp.h		\
1957c478bd9Sstevel@tonic-gate	utmpx.h		\
1967c478bd9Sstevel@tonic-gate	valtools.h	\
1977c478bd9Sstevel@tonic-gate	values.h	\
1987c478bd9Sstevel@tonic-gate	varargs.h	\
1997c478bd9Sstevel@tonic-gate	wait.h		\
2007c478bd9Sstevel@tonic-gate	wchar.h		\
2017c478bd9Sstevel@tonic-gate	wchar_impl.h	\
2027c478bd9Sstevel@tonic-gate	wctype.h	\
2037c478bd9Sstevel@tonic-gate	widec.h		\
2047c478bd9Sstevel@tonic-gate	wordexp.h	\
2057c478bd9Sstevel@tonic-gate	xti.h		\
2067c478bd9Sstevel@tonic-gate	xti_inet.h	\
2077c478bd9Sstevel@tonic-gate	zone.h
2087c478bd9Sstevel@tonic-gate
2097c478bd9Sstevel@tonic-gateISOHDRS = \
2107c478bd9Sstevel@tonic-gate	ctype_c99.h	\
2117c478bd9Sstevel@tonic-gate	ctype_iso.h	\
2127c478bd9Sstevel@tonic-gate	limits_iso.h	\
2137c478bd9Sstevel@tonic-gate	locale_iso.h	\
2147c478bd9Sstevel@tonic-gate	setjmp_iso.h  	\
2157c478bd9Sstevel@tonic-gate	signal_iso.h	\
2167c478bd9Sstevel@tonic-gate	stdarg_c99.h	\
2177c478bd9Sstevel@tonic-gate	stdarg_iso.h	\
2187c478bd9Sstevel@tonic-gate	stddef_iso.h	\
2197c478bd9Sstevel@tonic-gate	stdio_c99.h	\
2207c478bd9Sstevel@tonic-gate	stdio_iso.h	\
2217c478bd9Sstevel@tonic-gate	stdlib_c99.h	\
2227c478bd9Sstevel@tonic-gate	stdlib_iso.h	\
2237c478bd9Sstevel@tonic-gate	string_iso.h	\
2247c478bd9Sstevel@tonic-gate	time_iso.h	\
2257c478bd9Sstevel@tonic-gate	wchar_c99.h	\
2267c478bd9Sstevel@tonic-gate	wchar_iso.h	\
2277c478bd9Sstevel@tonic-gate	wctype_c99.h	\
2287c478bd9Sstevel@tonic-gate	wctype_iso.h
2297c478bd9Sstevel@tonic-gate
2307c478bd9Sstevel@tonic-gateARPAHDRS = 		\
2317c478bd9Sstevel@tonic-gate	ftp.h		\
2327c478bd9Sstevel@tonic-gate	inet.h		\
2337c478bd9Sstevel@tonic-gate	nameser.h	\
2347c478bd9Sstevel@tonic-gate	telnet.h	\
2357c478bd9Sstevel@tonic-gate	tftp.h		\
2367c478bd9Sstevel@tonic-gate	nameser_compat.h
2377c478bd9Sstevel@tonic-gate
2387c478bd9Sstevel@tonic-gateAUDIOHDRS =		\
2397c478bd9Sstevel@tonic-gate	au.h
2407c478bd9Sstevel@tonic-gate
2417c478bd9Sstevel@tonic-gateUUIDHDRS =		\
2427c478bd9Sstevel@tonic-gate	uuid.h
2437c478bd9Sstevel@tonic-gate
2447c478bd9Sstevel@tonic-gate# rpcsvc headers which are just headers (not derived from a .x file)
2457c478bd9Sstevel@tonic-gateRPCSVC_SRC_HDRS =	\
2467c478bd9Sstevel@tonic-gate	bootparam.h	\
2477c478bd9Sstevel@tonic-gate	daemon_utils.h	\
2487c478bd9Sstevel@tonic-gate	dbm.h		\
2497c478bd9Sstevel@tonic-gate	nis_db.h	\
2507c478bd9Sstevel@tonic-gate	nislib.h	\
251f48205beScasper	svc_dg_priv.h	\
2527c478bd9Sstevel@tonic-gate	yp_prot.h	\
2537c478bd9Sstevel@tonic-gate	ypclnt.h	\
2547c478bd9Sstevel@tonic-gate	yppasswd.h	\
2557c478bd9Sstevel@tonic-gate	ypupd.h		\
2567c478bd9Sstevel@tonic-gate	rpc_sztypes.h
2577c478bd9Sstevel@tonic-gate
2587c478bd9Sstevel@tonic-gate# rpcsvc headers which are generated from .x files
2597c478bd9Sstevel@tonic-gateRPCSVC_GEN_HDRS = \
2607c478bd9Sstevel@tonic-gate	bootparam_prot.h \
2617c478bd9Sstevel@tonic-gate	mount.h		\
2627c478bd9Sstevel@tonic-gate	nfs_prot.h	\
2637c478bd9Sstevel@tonic-gate	nfs4_prot.h	\
2647c478bd9Sstevel@tonic-gate	nis.h		\
2657c478bd9Sstevel@tonic-gate	nlm_prot.h	\
2667c478bd9Sstevel@tonic-gate	rex.h		\
2677c478bd9Sstevel@tonic-gate	rquota.h	\
2687c478bd9Sstevel@tonic-gate	rstat.h		\
2697c478bd9Sstevel@tonic-gate	rusers.h	\
2707c478bd9Sstevel@tonic-gate	rwall.h		\
2717c478bd9Sstevel@tonic-gate	spray.h		\
2727c478bd9Sstevel@tonic-gate	ufs_prot.h	\
2737c478bd9Sstevel@tonic-gate	nfs_acl.h
2747c478bd9Sstevel@tonic-gate
2757c478bd9Sstevel@tonic-gateLVMRPCHDRS = \
2767c478bd9Sstevel@tonic-gatemhdx.h mdiox.h meta_basic.h metad.h metamed.h metamhd.h metacl.h
2777c478bd9Sstevel@tonic-gate
2787c478bd9Sstevel@tonic-gateSYMHDRASSERT = $(ROOT)/usr/include/iso/assert_iso.h
2797c478bd9Sstevel@tonic-gateSYMHDRERRNO = $(ROOT)/usr/include/iso/errno_iso.h
2807c478bd9Sstevel@tonic-gateSYMHDRFLOAT = $(ROOT)/usr/include/iso/float_iso.h
2817c478bd9Sstevel@tonic-gateSYMHDRISO646 = $(ROOT)/usr/include/iso/iso646_iso.h
2827c478bd9Sstevel@tonic-gate
2837c478bd9Sstevel@tonic-gateRPCGENFLAGS = -C -h
2847c478bd9Sstevel@tonic-gaterpcsvc/rwall.h :=	RPCGENFLAGS += -M
2857c478bd9Sstevel@tonic-gatemeta_basic.h :=	RPCGENFLAGS += -M
2867c478bd9Sstevel@tonic-gatemetad.h := RPCGENFLAGS += -M
2877c478bd9Sstevel@tonic-gatemetamed.h := RPCGENFLAGS += -M
2887c478bd9Sstevel@tonic-gatemhdx.h := RPCGENFLAGS += -M
2897c478bd9Sstevel@tonic-gatemdiox.h := RPCGENFLAGS += -M
2907c478bd9Sstevel@tonic-gatemetamhd.h := RPCGENFLAGS += -M
2917c478bd9Sstevel@tonic-gatemetacl.h := RPCGENFLAGS += -M
2927c478bd9Sstevel@tonic-gate
2937c478bd9Sstevel@tonic-gate# rpcsvc rpcgen source (.x files)
2947c478bd9Sstevel@tonic-gate#
2957c478bd9Sstevel@tonic-gate# yp.x is an attempt at codifying what was hand coded in RPCL.
2967c478bd9Sstevel@tonic-gate# Unfortunately it doesn't quite work. (The handcoded stuff isn't
2977c478bd9Sstevel@tonic-gate# expressable in RPCL) this is due to the fact that YP was written
2987c478bd9Sstevel@tonic-gate# before rpcgen existed.  Hence, yp_prot.h cannot be derived from yp.x
2997c478bd9Sstevel@tonic-gate#
3007c478bd9Sstevel@tonic-gate# There is no `.h' for nis_object.x because it is included by nis.x and
3017c478bd9Sstevel@tonic-gate# the resulting .h is nis.h.
3027c478bd9Sstevel@tonic-gate
3037c478bd9Sstevel@tonic-gateRPCSVCPROTS = \
3047c478bd9Sstevel@tonic-gate$(RPCSVC_GEN_HDRS:%.h=%.x)        nis_object.x       yp.x
3057c478bd9Sstevel@tonic-gate
3067c478bd9Sstevel@tonic-gateLVMSVCPROTS = \
3077c478bd9Sstevel@tonic-gate$(LVMRPCHDRS:%.h=%.x)
3087c478bd9Sstevel@tonic-gate
3097c478bd9Sstevel@tonic-gateRPCSVCHDRS= $(RPCSVC_SRC_HDRS) $(RPCSVC_GEN_HDRS)
3107c478bd9Sstevel@tonic-gate
311cc52cd5bSaperssonPROTOHDRS=   dumprestore.h routed.h ripngd.h rwhod.h timed.h
3127c478bd9Sstevel@tonic-gate
3137c478bd9Sstevel@tonic-gateROOTHDRS= $(HDRS:%=$(ROOT)/usr/include/%)  \
3147c478bd9Sstevel@tonic-gate	$(KRB5HDRS:%=$(ROOT)/usr/include/kerberosv5/%)  \
3157c478bd9Sstevel@tonic-gate	$(ISOHDRS:%=$(ROOT)/usr/include/iso/%)  \
3167c478bd9Sstevel@tonic-gate	$(ARPAHDRS:%=$(ROOT)/usr/include/arpa/%)  \
3177c478bd9Sstevel@tonic-gate	$(AUDIOHDRS:%=$(ROOT)/usr/include/audio/%)  \
3187c478bd9Sstevel@tonic-gate	$(UUIDHDRS:%=$(ROOT)/usr/include/uuid/%)  \
3197c478bd9Sstevel@tonic-gate	$(RPCSVCHDRS:%=$(ROOT)/usr/include/rpcsvc/%)  \
3207c478bd9Sstevel@tonic-gate	$(RPCSVCPROTS:%=$(ROOT)/usr/include/rpcsvc/%)  \
3217c478bd9Sstevel@tonic-gate	$(LVMRPCHDRS:%=$(ROOT)/usr/include/%) \
3227c478bd9Sstevel@tonic-gate	$(PROTOHDRS:%=$(ROOT)/usr/include/protocols/%)
3237c478bd9Sstevel@tonic-gate
3247c478bd9Sstevel@tonic-gateDIRS= iso arpa audio rpcsvc protocols security uuid kerberosv5
3257c478bd9Sstevel@tonic-gateROOTDIRS= $(DIRS:%=$(ROOT)/usr/include/%)
3267c478bd9Sstevel@tonic-gate
3277c478bd9Sstevel@tonic-gateSED=	sed
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
4157c478bd9Sstevel@tonic-gateinstall_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	$(RM) $(LVMRPCHDRS);
4227c478bd9Sstevel@tonic-gate	cd rpcsvc ; $(RM) $(RPCSVC_GEN_HDRS)
4237c478bd9Sstevel@tonic-gate
4247c478bd9Sstevel@tonic-gate$(ROOTDIRS):
4257c478bd9Sstevel@tonic-gate	$(INS.dir)
4267c478bd9Sstevel@tonic-gate
4277c478bd9Sstevel@tonic-gate$(SYMHDRASSERT):
4287c478bd9Sstevel@tonic-gate	-$(RM) $@; $(SYMLINK) ../assert.h $@
4297c478bd9Sstevel@tonic-gate
4307c478bd9Sstevel@tonic-gate$(SYMHDRERRNO):
4317c478bd9Sstevel@tonic-gate	-$(RM) $@; $(SYMLINK) ../errno.h $@
4327c478bd9Sstevel@tonic-gate
4337c478bd9Sstevel@tonic-gate$(SYMHDRFLOAT):
4347c478bd9Sstevel@tonic-gate	-$(RM) $@; $(SYMLINK) ../float.h $@
4357c478bd9Sstevel@tonic-gate
4367c478bd9Sstevel@tonic-gate$(SYMHDRISO646):
4377c478bd9Sstevel@tonic-gate	-$(RM) $@; $(SYMLINK) ../iso646.h $@
4387c478bd9Sstevel@tonic-gate
4397c478bd9Sstevel@tonic-gaterpcsvc/%.h:	rpcsvc/%.x
4407c478bd9Sstevel@tonic-gate	$(RPCGEN) $(RPCGENFLAGS) $< -o $@
4417c478bd9Sstevel@tonic-gate
4427c478bd9Sstevel@tonic-gaterpcsvc/nis.h:	rpcsvc/nis.x
4437c478bd9Sstevel@tonic-gate	$(RPCGEN) $(RPCGENFLAGS) rpcsvc/nis.x |\
4447c478bd9Sstevel@tonic-gate	$(SED) -e '/EDIT_START/,$$ d' > $@
4457c478bd9Sstevel@tonic-gate
4467c478bd9Sstevel@tonic-gatemeta_basic.h:	../uts/common/sys/lvm/meta_basic.x
4477c478bd9Sstevel@tonic-gate	$(RPCGEN) $(RPCGENFLAGS)  ../uts/common/sys/lvm/meta_basic.x | \
4487c478bd9Sstevel@tonic-gate	awk '/<synch.h>/ { print "#ifdef _REENTRANT"; print $$0; print "#endif\t/* _REENTRANT */"; next } \
4497c478bd9Sstevel@tonic-gate	/<thread.h>/ { print "#ifdef _REENTRANT"; print $$0; print "#endif\t/* _REENTRANT */"; next } \
4507c478bd9Sstevel@tonic-gate	{ print $0 } \
4517c478bd9Sstevel@tonic-gate	' > $@
4527c478bd9Sstevel@tonic-gate
4537c478bd9Sstevel@tonic-gatemetad.h:	metad.x
4547c478bd9Sstevel@tonic-gate	$(RPCGEN) $(RPCGENFLAGS)  metad.x | \
4557c478bd9Sstevel@tonic-gate	awk '/<synch.h>/ { print "#ifdef _REENTRANT"; print $$0; print "#endif\t/* _REENTRANT */"; next } \
4567c478bd9Sstevel@tonic-gate	/<thread.h>/ { print "#ifdef _REENTRANT"; print $$0; print "#endif\t/* _REENTRANT */"; next } \
4577c478bd9Sstevel@tonic-gate	{ print $0 } \
4587c478bd9Sstevel@tonic-gate	' > $@
4597c478bd9Sstevel@tonic-gate
4607c478bd9Sstevel@tonic-gatemhdx.h:	../uts/common/sys/lvm/mhdx.x
4617c478bd9Sstevel@tonic-gate	$(RPCGEN) $(RPCGENFLAGS) ../uts/common/sys/lvm/mhdx.x | \
4627c478bd9Sstevel@tonic-gate	awk '/<synch.h>/ { print "#ifdef _REENTRANT"; print $$0; print "#endif\t/* _REENTRANT */"; next } \
4637c478bd9Sstevel@tonic-gate	/<thread.h>/ { print "#ifdef _REENTRANT"; print $$0; print "#endif\t/* _REENTRANT */"; next } \
4647c478bd9Sstevel@tonic-gate	{ print $0 } \
4657c478bd9Sstevel@tonic-gate	' > $@
4667c478bd9Sstevel@tonic-gate
4677c478bd9Sstevel@tonic-gatemdiox.h:	../uts/common/sys/lvm/mdiox.x
4687c478bd9Sstevel@tonic-gate	$(RPCGEN) $(RPCGENFLAGS) ../uts/common/sys/lvm/mdiox.x | \
4697c478bd9Sstevel@tonic-gate	nawk '{sub(/sys\/lvm\/md_mhdx/, "mhdx"); print $$0}' | \
4707c478bd9Sstevel@tonic-gate	nawk '{sub(/sys\/lvm\/md_basic/, "meta_basic"); print $$0}' | \
4717c478bd9Sstevel@tonic-gate	awk '/<synch.h>/ { print "#ifdef _REENTRANT"; print $$0; print "#endif\t/* _REENTRANT */"; next } \
4727c478bd9Sstevel@tonic-gate	/<thread.h>/ { print "#ifdef _REENTRANT"; print $$0; print "#endif\t/* _REENTRANT */"; next } \
4737c478bd9Sstevel@tonic-gate	{ print $0 } \
4747c478bd9Sstevel@tonic-gate	' > $@
4757c478bd9Sstevel@tonic-gate
4767c478bd9Sstevel@tonic-gatemetamed.h:	../uts/common/sys/lvm/metamed.x
4777c478bd9Sstevel@tonic-gate	$(RPCGEN) $(RPCGENFLAGS) ../uts/common/sys/lvm/metamed.x | \
4787c478bd9Sstevel@tonic-gate	nawk '{sub(/sys\/lvm\/md_basic/, "meta_basic"); print $$0}' | \
4797c478bd9Sstevel@tonic-gate	awk '/<synch.h>/ { print "#ifdef _REENTRANT"; print $$0; print "#endif\t/* _REENTRANT */"; next } \
4807c478bd9Sstevel@tonic-gate	/<thread.h>/ { print "#ifdef _REENTRANT"; print $$0; print "#endif\t/* _REENTRANT */"; next } \
4817c478bd9Sstevel@tonic-gate	{ print $0 } \
4827c478bd9Sstevel@tonic-gate	' > $@
4837c478bd9Sstevel@tonic-gate
4847c478bd9Sstevel@tonic-gatemetamhd.h:	metamhd.x
4857c478bd9Sstevel@tonic-gate	$(RPCGEN) $(RPCGENFLAGS) metamhd.x | \
4867c478bd9Sstevel@tonic-gate	awk '/<synch.h>/ { print "#ifdef _REENTRANT"; print $$0; print "#endif\t/* _REENTRANT */"; next } \
4877c478bd9Sstevel@tonic-gate	/<thread.h>/ { print "#ifdef _REENTRANT"; print $$0; print "#endif\t/* _REENTRANT */"; next } \
4887c478bd9Sstevel@tonic-gate	{ print $0 } \
4897c478bd9Sstevel@tonic-gate	' > $@
4907c478bd9Sstevel@tonic-gate
4917c478bd9Sstevel@tonic-gatemetacl.h:	metacl.x
4927c478bd9Sstevel@tonic-gate	$(RPCGEN) $(RPCGENFLAGS) metacl.x | \
4937c478bd9Sstevel@tonic-gate	awk '/<synch.h>/ { print "#ifdef _REENTRANT"; print $$0; print "#endif\t/* _REENTRANT */"; next } \
4947c478bd9Sstevel@tonic-gate	/<thread.h>/ { print "#ifdef _REENTRANT"; print $$0; print "#endif\t/* _REENTRANT */"; next } \
4957c478bd9Sstevel@tonic-gate	{ print $0 } \
4967c478bd9Sstevel@tonic-gate	' > $@
497