1#
2#
3
4PACKAGE=	lib${LIB}
5OPENBSMDIR=		${SRCTOP}/contrib/openbsm
6_LIBBSMDIR=		${OPENBSMDIR}/libbsm
7
8LIB=		bsm
9SHLIB_MAJOR=	3
10
11.PATH:		${_LIBBSMDIR}
12.PATH:		${OPENBSMDIR}/bsm
13.PATH:		${OPENBSMDIR}/man
14
15SRCS=	bsm_audit.c							\
16	bsm_class.c							\
17	bsm_control.c							\
18	bsm_domain.c							\
19	bsm_errno.c							\
20	bsm_event.c							\
21	bsm_fcntl.c							\
22	bsm_flags.c							\
23	bsm_io.c							\
24	bsm_mask.c							\
25	bsm_notify.c							\
26	bsm_socket_type.c						\
27	bsm_token.c							\
28	bsm_user.c							\
29	bsm_wrappers.c
30
31#
32# Must use BSM include files from within the contrib area, not the system.
33#
34CFLAGS+=	-I${OPENBSMDIR} -I${_LIBBSMDIR}
35
36WARNS?=		1
37
38INCS=		audit_uevents.h libbsm.h
39INCSDIR=	${INCLUDEDIR}/bsm
40
41MAN=	libbsm.3							\
42	au_class.3							\
43	au_control.3							\
44	au_domain.3							\
45	au_errno.3							\
46	au_event.3							\
47	au_fcntl_cmd.3							\
48	au_free_token.3							\
49	au_io.3								\
50	au_mask.3							\
51	au_notify.3							\
52	au_open.3							\
53	au_socket_type.3						\
54	au_token.3							\
55	au_user.3							\
56	audit_submit.3
57
58#
59# It seems like maybe some of these should be installed separately, since
60# they're not all libbsm parts.
61#
62MAN+=	audit.2								\
63	auditctl.2							\
64	auditon.2							\
65	getaudit.2							\
66	getauid.2							\
67	setaudit.2							\
68	setauid.2
69
70MLINKS=	libbsm.3 bsm.3							\
71	libbsm.3 au_fcntl_cmd_to_bsm.3					\
72	au_class.3 getauclassent.3					\
73	au_class.3 getauclassent_r.3					\
74	au_class.3 getauclassnam.3					\
75	au_class.3 getauclassnam_r.3					\
76	au_class.3 setauclass.3						\
77	au_class.3 endauclass.3						\
78	au_control.3 setac.3						\
79	au_control.3 endac.3						\
80	au_control.3 getacdir.3						\
81	au_control.3 getacmin.3						\
82	au_control.3 getacfilesz.3					\
83	au_control.3 getacflg.3						\
84	au_control.3 getacna.3						\
85	au_control.3 getacpol.3						\
86	au_control.3 getacqsize.3					\
87	au_control.3 au_poltostr.3					\
88	au_control.3 au_strtopol.3					\
89	au_domain.3 au_bsm_to_domain.3					\
90	au_domain.3 au_domain_to_bsm.3					\
91	au_errno.3 au_bsm_to_errno.3					\
92	au_errno.3 au_errno_to_bsm.3					\
93	au_errno.3 au_strerror.3					\
94	au_event.3 setauevent.3						\
95	au_event.3 endauevent.3						\
96	au_event.3 getauevent.3						\
97	au_event.3 getauevent_r.3					\
98	au_event.3 getauevnam.3						\
99	au_event.3 getauevnam_r.3					\
100	au_event.3 getauevnum.3						\
101	au_event.3 getauevnum_r.3					\
102	au_event.3 getauevnonam.3					\
103	au_event.3 getauevnonam_r.3					\
104	au_fcntl_cmd.3 au_bsm_to_fcntl_cmd.3				\
105	au_fcntl_cmd.3 au_fcntl_cmd_t_bsm.3				\
106	au_io.3	au_fetch_tok.3						\
107	au_io.3	au_print_tok.3						\
108	au_io.3	au_read_rec.3						\
109	au_mask.3 au_preselect.3					\
110	au_mask.3 getauditflagsbin.3					\
111	au_mask.3 getauditflagschar.3					\
112	au_notify.3 au_get_state.3					\
113	au_notify.3 au_notify_initialize.3				\
114	au_notify.3 au_notify_terminate.3				\
115	au_open.3 au_close.3						\
116	au_open.3 au_close_buffer.3					\
117	au_open.3 au_close_token.3					\
118	au_open.3 au_write.3						\
119	au_socket_type.3 au_bsm_to_socket_type.3			\
120	au_socket_type.3 au_socket_type_to_bsm.3			\
121	au_token.3 au_to_arg32.3					\
122	au_token.3 au_to_arg64.3					\
123	au_token.3 au_to_arg.3						\
124	au_token.3 au_to_attr32.3					\
125	au_token.3 au_to_attr64.3					\
126	au_token.3 au_to_data.3						\
127	au_token.3 au_to_exit.3						\
128	au_token.3 au_to_groups.3					\
129	au_token.3 au_to_newgroups.3					\
130	au_token.3 au_to_in_addr.3					\
131	au_token.3 au_to_in_addr_ex.3					\
132	au_token.3 au_to_ip.3						\
133	au_token.3 au_to_ipc.3						\
134	au_token.3 au_to_ipc_perm.3					\
135	au_token.3 au_to_iport.3					\
136	au_token.3 au_to_opaque.3					\
137	au_token.3 au_to_file.3						\
138	au_token.3 au_to_text.3						\
139	au_token.3 au_to_path.3						\
140	au_token.3 au_to_process32.3					\
141	au_token.3 au_to_process64.3					\
142	au_token.3 au_to_process.3					\
143	au_token.3 au_to_process32_ex.3					\
144	au_token.3 au_to_process64_ex.3					\
145	au_token.3 au_to_process_ex.3					\
146	au_token.3 au_to_return32.3					\
147	au_token.3 au_to_return64.3					\
148	au_token.3 au_to_return.3					\
149	au_token.3 au_to_seq.3						\
150	au_token.3 au_to_sock_inet32.3					\
151	au_token.3 au_to_sock_inet128.3					\
152	au_token.3 au_to_sock_inet.3					\
153	au_token.3 au_to_socket_ex.3					\
154	au_token.3 au_to_subject32.3					\
155	au_token.3 au_to_subject64.3					\
156	au_token.3 au_to_subject.3					\
157	au_token.3 au_to_subject32_ex.3					\
158	au_token.3 au_to_subject64_ex.3					\
159	au_token.3 au_to_subject_ex.3					\
160	au_token.3 au_to_me.3						\
161	au_token.3 au_to_exec_args.3					\
162	au_token.3 au_to_exec_env.3					\
163	au_token.3 au_to_header.3					\
164	au_token.3 au_to_header32.3					\
165	au_token.3 au_to_header32_ex.3					\
166	au_token.3 au_to_header64.3					\
167	au_token.3 au_to_trailer.3					\
168	au_token.3 au_to_zonename.3					\
169	au_user.3 setauuser.3						\
170	au_user.3 endauuser.3						\
171	au_user.3 getauuserent.3					\
172	au_user.3 getauuserent_r.3					\
173	au_user.3 getauusernam.3					\
174	au_user.3 getauusernam_r.3					\
175	au_user.3 au_user_mask.3					\
176	au_user.3 getfauditflags.3					\
177	getaudit.2 getaudit_addr.2					\
178	setaudit.2 setaudit_addr.2
179
180.include <bsd.lib.mk>
181
182# Disable -Wcast-align.  Casting sa_local in au_to_socket_ex triggers this
183# warning, but it's ok because sa_local must've originally pointed to a
184# sockaddr_in or sockaddr_in6 anyway.
185# Better would be to disable this warning in just that one function, but GCC
186# 4.2 can't do that :( .
187CWARNFLAGS.bsm_token.c+=	-Wno-cast-align
188