xref: /freebsd/kerberos5/lib/libasn1/Makefile (revision 77a0943ded95b9e6438f7db70c4a28e4d93946d4)
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.ORDER:		parse.o lex.o
37
38build-tools:	make-print-version asn1_compile
39
40beforedepend all: roken.h
41
42.for I in ${GEN}
43${I:S/.x/.c/}:	${I}
44	cmp -s ${.OODATE} ${.TARGET} 2> /dev/null || cp ${.OODATE} ${.TARGET}
45.endfor
46
47CLEANFILES+=	${GEN:S/.x/.c/g} asn1.h asn1_files
48
49${GEN} asn1.h:		asn1_compile k5.asn1
50	./asn1_compile ${KRB5DIR}/lib/asn1/k5.asn1
51
52build-tools:	make-print-version asn1_compile
53
54asn1_compile:	parse.o lex.o main.c hash.c symbol.c gen.c \
55		gen_encode.c gen_decode.c gen_free.c gen_length.c \
56		gen_copy.c gen_glue.c getarg.c warnerr.c print_version.o \
57		get_window_size.c strupr.c
58	${CC} ${CFLAGS} ${.OODATE} -o ${.TARGET}
59
60parse.o:	parse.c roken.h
61
62parse.h parse.c:	parse.y
63	${YACC}	-d ${.OODATE}
64	mv y.tab.c parse.c
65	mv y.tab.h parse.h
66
67lex.o:		lex.l
68
69print_version.o: print_version.h print_version.c roken.h
70	${CC} ${CFLAGS} -c -o ${.TARGET} ${KRB5DIR}/lib/roken/print_version.c
71
72print_version.h: make-print-version
73	./make-print-version print_version.h
74
75make-print-version: make-print-version.c
76	${CC} ${CFLAGS} -static -o ${.TARGET} ${.OODATE}
77
78CLEANFILES+=	${GEN} asn1_compile lex.o parse.o parse.c parse.h \
79		hdb_asn1.h make-print-version print_version.h print_version.o
80