xref: /freebsd/krb5/lib/kadm5srv/Makefile (revision 632ddb864ee89c275ff5f8f9079522dec33c0d3c)
1#
2# SPDX-License-Identifier: BSD-2-Clause
3#
4# Copyright (c) 2025 FreeBSD Foundation
5#
6# This sofware was developed by Cy Schubert <cy@FreeBSD.org>
7# under sponsorship from the FreeBSD Foundation.
8#
9
10.include <src.opts.mk>
11
12.include "../Makefile.inc"
13.include "${KRB5_SRCTOP}/Makefile.pc"
14
15LIB=		kadm5srv_mit
16LDFLAGS+=	-Wl,--no-undefined
17LIBADD=		krb5profile gssrpc gssapi_krb5 kdb5 krb5 k5crypto krb5support com_err
18VERSION_MAP=	${.CURDIR}/version.map
19PCFILES=	kadm-server.pc
20CLEANFILES+=	${PCFILES}
21
22SRCS=	alt_prof.c \
23	chpass_util.c \
24	logger.c \
25	kadm_rpc_xdr.c \
26	misc_free.c \
27	str_conv.c \
28	${SRCS_SRV} \
29	${GEN}
30
31.include "${KRB5_SRCTOP}/lib/kadm5srv/srv/Makefile.inc"
32
33GEN=	kadm_err.c kadm_err.h chpass_util_strings.c chpass_util_strings.h
34CLEANFILES=	${GEN} ${GENI}
35
36CFLAGS+=-I${KRB5_DIR}/lib \
37	-I${KRB5_DIR}/lib/kadm5 \
38	-I${KRB5_DIR}/include \
39	-I${KRB5_OBJTOP}/include/krb5_private \
40	-I${KRB5_SRCTOP}/include \
41	-I${KRB5_OBJTOP}/lib \
42	-I${KRB5_OBJTOP}/lib/gssapi \
43	-I${KRB5_DIR}/lib/gssapi/krb5 \
44	-I${KRB5_DIR}/lib/gssapi/generic \
45	-I${KRB5_OBJTOP}/util/profile
46CWARNFLAGS.gcc+=-Wno-alloc-size-larger-than
47
48GEN_KADM_ERR=	kadm_err.et
49GEN_KADM_ERR_C=	${GEN_KADM_ERR:S/.et$/.c/}
50GEN_KADM_ERR_H=	${GEN_KADM_ERR:S/.et$/.h/}
51CLEANFILES=	${GEN_KADM_ERR_C} ${GEN_KADM_ERR_H}
52GEN_ET=		${GEN_KADM_ERR_C}
53GENI_ET=	${GEN_KADM_ERR_H}
54
55${GEN_KADM_ERR:[2..-1]}: .NOMETA
56${GEN_KADM_ERR_H}: ${GEN_KADM_ERR}
57	rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.c et-h-${.PREFIX}.h
58	cp ${.ALLSRC} et-h-${.PREFIX}.et
59	${COMPILE_ET} et-h-${.PREFIX}.et
60	mv et-h-${.PREFIX}.h ${.PREFIX}.h
61	rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.h
62
63${GEN_KADM_ERR_C}: ${GEN_KADM_ERR}
64	rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c et-c-${.PREFIX}.h
65	cp ${.ALLSRC} et-c-${.PREFIX}.et
66	${COMPILE_ET} et-c-${.PREFIX}.et
67	mv et-c-${.PREFIX}.c ${.PREFIX}.c
68	rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c
69
70GEN_CHPASS_UTIL_STRINGS=	chpass_util_strings.et
71GEN_CHPASS_UTIL_STRINGS_C=	${GEN_CHPASS_UTIL_STRINGS:S/.et$/.c/}
72GEN_CHPASS_UTIL_STRINGS_H=	${GEN_CHPASS_UTIL_STRINGS:S/.et$/.h/}
73CLEANFILES+=	${GEN_CHPASS_UTIL_STRINGS_C} ${GEN_CHPASS_UTIL_STRINGS_H}
74GEN_ET+=	${GEN_CHPASS_UTIL_STRINGS_C}
75GENI_ET+=	${GEN_CHPASS_UTIL_STRINGS_H}
76
77${GEN_CHPASS_UTIL_STRINGS:[2..-1]}: .NOMETA
78${GEN_CHPASS_UTIL_STRINGS_H}: ${GEN_CHPASS_UTIL_STRINGS}
79	rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.c et-h-${.PREFIX}.h
80	cp ${.ALLSRC} et-h-${.PREFIX}.et
81	${COMPILE_ET} et-h-${.PREFIX}.et
82	mv et-h-${.PREFIX}.h ${.PREFIX}.h
83	rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.h
84
85${GEN_CHPASS_UTIL_STRINGS_C}: ${GEN_CHPASS_UTIL_STRINGS}
86	rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c et-c-${.PREFIX}.h
87	cp ${.ALLSRC} et-c-${.PREFIX}.et
88	${COMPILE_ET} et-c-${.PREFIX}.et
89	mv et-c-${.PREFIX}.c ${.PREFIX}.c
90	rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c
91
92.include <bsd.lib.mk>
93
94all: ${PCFILES}
95
96.SUFFIXES: .h .c .et
97
98.PATH:	${KRB5_DIR}/build-tools \
99	${KRB5_DIR}/lib/kadm5
100