xref: /freebsd/kerberos5/lib/libhdb/Makefile (revision daf1cffce2e07931f27c6c6998652e90df6ba87e)
1# $FreeBSD$
2
3LIB=	hdb
4CFLAGS+=-I${KRB5DIR}/include \
5	-I${INCLUDEOBJDIR} \
6	-I${KRB5DIR}/lib/krb5 \
7	-I${KRB5DIR}/lib/hdb \
8	-I${KRB5DIR}/lib/asn1 \
9	-I${KRB5DIR}/lib/roken \
10	-I${.OBJDIR} \
11	-I${ASN1OBJDIR}
12SRCS=	keytab.c hdb.c common.c db.c ndbm.c print.c hdb_err.c \
13	hdb_asn1.h hdb_err.h krb5_err.h heim_err.h ${GEN:S/.x/.c/g}
14GEN=	asn1_Key.x asn1_Event.x asn1_HDBFlags.x asn1_hdb_entry.x asn1_Salt.x
15
16.include <bsd.lib.mk>
17
18.PATH:	${KRB5DIR}/lib/hdb
19.PATH:	${KRB5DIR}/lib/asn1
20.PATH:	${KRB5DIR}/lib/roken
21
22build-tools:	make-print-version asn1_compile
23
24.for I in ${GEN}
25${I:S/.x/.c/}:  ${I}
26	cmp -s ${.OODATE} ${.TARGET} 2> /dev/null || cp ${.OODATE} ${.TARGET}
27.endfor
28
29CLEANFILES+=	${GEN:S/.x/.c/g} asn1.h asn1_files
30
31${GEN} hdb_asn1.h:	asn1_compile hdb.asn1
32	./asn1_compile ${KRB5DIR}/lib/hdb/hdb.asn1 hdb_asn1
33
34asn1_compile:	parse.o lex.o main.c hash.c symbol.c gen.c \
35		gen_encode.c gen_decode.c gen_free.c gen_length.c \
36		gen_copy.c gen_glue.c getarg.c warnerr.c print_version.o \
37		get_window_size.c strupr.c
38	${CC} ${CFLAGS} ${.OODATE} -o ${.TARGET}
39
40parse.o:	parse.c
41
42parse.h parse.c:	parse.y
43	${YACC}	-d ${.OODATE}
44	mv y.tab.c parse.c
45	mv y.tab.h parse.h
46
47lex.o:		lex.l
48
49print_version.o: print_version.h print_version.c
50	${CC} ${CFLAGS} -c -o ${.TARGET} ${KRB5DIR}/lib/roken/print_version.c
51
52print_version.h: make-print-version
53	./make-print-version print_version.h
54
55make-print-version: make-print-version.c
56	${CC} ${CFLAGS} -static -o ${.TARGET} ${.OODATE}
57
58CLEANFILES+=	${GEN} asn1_compile lex.o parse.o parse.c parse.h \
59		hdb_asn1.h make-print-version print_version.h print_version.o
60
61