xref: /freebsd/kerberos5/lib/libasn1/Makefile (revision daf1cffce2e07931f27c6c6998652e90df6ba87e)
1# $FreeBSD$
2
3LIB=	asn1
4CFLAGS+=-I${KRB5DIR}/include \
5	-I${KRB5DIR}/lib/asn1 \
6	-I${KRB5DIR}/lib/roken \
7	-I${INCLUDEOBJDIR} \
8	-I${.OBJDIR}
9SRCS=	der_get.c der_put.c der_free.c der_length.c der_copy.c \
10	timegm.c asn1_err.c asn1_err.h asn1.h roken.h \
11	${GEN:S/.x/.c/g}
12
13GEN=	asn1_APOptions.x asn1_AP_REP.x asn1_AP_REQ.x asn1_AS_REP.x \
14	asn1_AS_REQ.x asn1_Authenticator.x asn1_AuthorizationData.x \
15	asn1_Checksum.x asn1_EncAPRepPart.x asn1_EncASRepPart.x \
16	asn1_EncKDCRepPart.x asn1_EncKrbCredPart.x \
17	asn1_EncKrbPrivPart.x asn1_EncTGSRepPart.x \
18	asn1_EncTicketPart.x asn1_EncryptedData.x \
19	asn1_EncryptionKey.x asn1_ETYPE_INFO.x asn1_ETYPE_INFO_ENTRY.x \
20	asn1_HostAddress.x asn1_HostAddresses.x asn1_KDCOptions.x \
21	asn1_KDC_REP.x asn1_KDC_REQ.x asn1_KDC_REQ_BODY.x \
22	asn1_KRB_CRED.x asn1_KRB_ERROR.x asn1_KRB_PRIV.x \
23	asn1_KRB_SAFE.x asn1_KRB_SAFE_BODY.x asn1_KerberosTime.x \
24	asn1_KrbCredInfo.x asn1_LastReq.x asn1_METHOD_DATA.x \
25	asn1_PA_DATA.x asn1_PA_ENC_TS_ENC.x asn1_Principal.x \
26	asn1_PrincipalName.x asn1_Realm.x asn1_TGS_REP.x \
27	asn1_TGS_REQ.x asn1_Ticket.x asn1_TicketFlags.x \
28	asn1_TransitedEncoding.x
29
30INCLUDES=asn1.h asn1_err.h
31
32.include <bsd.lib.mk>
33
34.PATH:		${KRB5DIR}/lib/asn1
35.PATH:		${KRB5DIR}/lib/roken
36
37build-tools:	make-print-version asn1_compile
38
39beforedepend all: roken.h
40
41.for I in ${GEN}
42${I:S/.x/.c/}:	${I}
43	cmp -s ${.OODATE} ${.TARGET} 2> /dev/null || cp ${.OODATE} ${.TARGET}
44.endfor
45
46CLEANFILES+=	${GEN:S/.x/.c/g} asn1.h asn1_files
47
48${GEN} asn1.h:		asn1_compile k5.asn1
49	./asn1_compile ${KRB5DIR}/lib/asn1/k5.asn1
50
51build-tools:	make-print-version asn1_compile
52
53asn1_compile:	parse.o lex.o main.c hash.c symbol.c gen.c \
54		gen_encode.c gen_decode.c gen_free.c gen_length.c \
55		gen_copy.c gen_glue.c getarg.c warnerr.c print_version.o \
56		get_window_size.c strupr.c
57	${CC} ${CFLAGS} ${.OODATE} -o ${.TARGET}
58
59parse.o:	parse.c roken.h
60
61parse.h parse.c:	parse.y
62	${YACC}	-d ${.OODATE}
63	mv y.tab.c parse.c
64	mv y.tab.h parse.h
65
66lex.o:		lex.l
67
68print_version.o: print_version.h print_version.c roken.h
69	${CC} ${CFLAGS} -c -o ${.TARGET} ${KRB5DIR}/lib/roken/print_version.c
70
71print_version.h: make-print-version
72	./make-print-version print_version.h
73
74make-print-version: make-print-version.c
75	${CC} ${CFLAGS} -static -o ${.TARGET} ${.OODATE}
76
77CLEANFILES+=	${GEN} asn1_compile lex.o parse.o parse.c parse.h \
78		hdb_asn1.h make-print-version print_version.h print_version.o
79