xref: /freebsd/krb5/lib/kadm5srv/Makefile (revision ce9c325a2e9254eef3def2999a3b65848b574727)
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
45CWARNFLAGS.gcc+=-Wno-alloc-size-larger-than
46
47GEN_KADM_ERR=	kadm_err.et
48GEN_KADM_ERR_C=	${GEN_KADM_ERR:S/.et$/.c/}
49GEN_KADM_ERR_H=	${GEN_KADM_ERR:S/.et$/.h/}
50CLEANFILES=	${GEN_KADM_ERR_C} ${GEN_KADM_ERR_H}
51GEN_ET=		${GEN_KADM_ERR_C}
52GENI_ET=	${GEN_KADM_ERR_H}
53
54${GEN_KADM_ERR:[2..-1]}: .NOMETA
55${GEN_KADM_ERR_H}: ${GEN_KADM_ERR}
56	rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.c et-h-${.PREFIX}.h
57	cp ${.ALLSRC} et-h-${.PREFIX}.et
58	${COMPILE_ET} et-h-${.PREFIX}.et
59	mv et-h-${.PREFIX}.h ${.PREFIX}.h
60	rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.h
61
62${GEN_KADM_ERR_C}: ${GEN_KADM_ERR}
63	rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c et-c-${.PREFIX}.h
64	cp ${.ALLSRC} et-c-${.PREFIX}.et
65	${COMPILE_ET} et-c-${.PREFIX}.et
66	mv et-c-${.PREFIX}.c ${.PREFIX}.c
67	rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c
68
69GEN_CHPASS_UTIL_STRINGS=	chpass_util_strings.et
70GEN_CHPASS_UTIL_STRINGS_C=	${GEN_CHPASS_UTIL_STRINGS:S/.et$/.c/}
71GEN_CHPASS_UTIL_STRINGS_H=	${GEN_CHPASS_UTIL_STRINGS:S/.et$/.h/}
72CLEANFILES+=	${GEN_CHPASS_UTIL_STRINGS_C} ${GEN_CHPASS_UTIL_STRINGS_H}
73GEN_ET+=	${GEN_CHPASS_UTIL_STRINGS_C}
74GENI_ET+=	${GEN_CHPASS_UTIL_STRINGS_H}
75
76${GEN_CHPASS_UTIL_STRINGS:[2..-1]}: .NOMETA
77${GEN_CHPASS_UTIL_STRINGS_H}: ${GEN_CHPASS_UTIL_STRINGS}
78	rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.c et-h-${.PREFIX}.h
79	cp ${.ALLSRC} et-h-${.PREFIX}.et
80	${COMPILE_ET} et-h-${.PREFIX}.et
81	mv et-h-${.PREFIX}.h ${.PREFIX}.h
82	rm -f et-h-${.PREFIX}.et et-h-${.PREFIX}.h
83
84${GEN_CHPASS_UTIL_STRINGS_C}: ${GEN_CHPASS_UTIL_STRINGS}
85	rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c et-c-${.PREFIX}.h
86	cp ${.ALLSRC} et-c-${.PREFIX}.et
87	${COMPILE_ET} et-c-${.PREFIX}.et
88	mv et-c-${.PREFIX}.c ${.PREFIX}.c
89	rm -f et-c-${.PREFIX}.et et-c-${.PREFIX}.c
90
91.include <bsd.lib.mk>
92
93all: ${PCFILES}
94
95.SUFFIXES: .h .c .et
96
97.PATH:	${KRB5_DIR}/build-tools \
98	${KRB5_DIR}/lib/kadm5
99