xref: /freebsd/kerberos5/lib/libasn1/Makefile (revision c4f6a2a9e1b1879b618c436ab4f56ff75c73a0f5)
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 krb5_asn1.h roken.h \
11	${GEN:S/.x/.c/g}
12
13GEN=						\
14	asn1_APOptions.x			\
15	asn1_AP_REP.x				\
16	asn1_AP_REQ.x				\
17	asn1_AS_REP.x				\
18	asn1_AS_REQ.x				\
19	asn1_Authenticator.x			\
20	asn1_AuthorizationData.x		\
21	asn1_CKSUMTYPE.x			\
22	asn1_Checksum.x				\
23	asn1_ENCTYPE.x				\
24	asn1_ETYPE_INFO.x			\
25	asn1_ETYPE_INFO_ENTRY.x			\
26	asn1_EncAPRepPart.x			\
27	asn1_EncASRepPart.x			\
28	asn1_EncKDCRepPart.x			\
29	asn1_EncKrbCredPart.x			\
30	asn1_EncKrbPrivPart.x			\
31	asn1_EncTGSRepPart.x			\
32	asn1_EncTicketPart.x			\
33	asn1_EncryptedData.x			\
34	asn1_EncryptionKey.x			\
35	asn1_HostAddress.x			\
36	asn1_HostAddresses.x			\
37	asn1_KDCOptions.x			\
38	asn1_KDC_REP.x				\
39	asn1_KDC_REQ.x				\
40	asn1_KDC_REQ_BODY.x			\
41	asn1_KRB_CRED.x				\
42	asn1_KRB_ERROR.x			\
43	asn1_KRB_PRIV.x				\
44	asn1_KRB_SAFE.x				\
45	asn1_KRB_SAFE_BODY.x			\
46	asn1_KerberosTime.x			\
47	asn1_KrbCredInfo.x			\
48	asn1_LastReq.x				\
49	asn1_LR_TYPE.x				\
50	asn1_MESSAGE_TYPE.x			\
51	asn1_METHOD_DATA.x			\
52	asn1_NAME_TYPE.x			\
53	asn1_PADATA_TYPE.x			\
54	asn1_PA_DATA.x				\
55	asn1_PA_ENC_TS_ENC.x			\
56	asn1_Principal.x			\
57	asn1_PrincipalName.x			\
58	asn1_Realm.x				\
59	asn1_TGS_REP.x				\
60	asn1_TGS_REQ.x				\
61	asn1_Ticket.x				\
62	asn1_TicketFlags.x			\
63	asn1_TransitedEncoding.x		\
64	asn1_UNSIGNED.x
65
66INCS=	krb5_asn1.h asn1_err.h
67
68.include <bsd.lib.mk>
69
70.PATH:		${KRB5DIR}/lib/asn1
71.PATH:		${KRB5DIR}/lib/vers
72.PATH:		${KRB5DIR}/lib/roken
73
74beforedepend all: roken.h
75
76.for I in ${GEN}
77${I:S/.x/.c/}:	${I}
78	cmp -s ${.OODATE} ${.TARGET} 2> /dev/null || cp ${.OODATE} ${.TARGET}
79.endfor
80
81CLEANFILES+=	${GEN:S/.x/.c/g} krb5_asn1.h asn1_files
82
83${GEN} krb5_asn1.h:		asn1_compile k5.asn1
84	./asn1_compile ${KRB5DIR}/lib/asn1/k5.asn1 krb5_asn1
85
86build-tools:	make-print-version make-roken asn1_compile
87
88asn1_compile:					\
89	gen.c					\
90	gen_copy.c				\
91	gen_decode.c				\
92	gen_encode.c				\
93	gen_free.c				\
94	gen_glue.c				\
95	gen_length.c				\
96	hash.c					\
97	emalloc.c				\
98	lex.o					\
99	main.c					\
100	parse.o					\
101	symbol.c				\
102	getarg.c				\
103	warnerr.c				\
104	print_version.o				\
105	get_window_size.c			\
106	strupr.c
107	${CC} ${CFLAGS} ${.OODATE} -o ${.TARGET}
108
109.if defined(BOOTSTRAPPING)
110asn1_compile: getprogname.c setprogname.c
111.endif
112
113parse.o:	parse.c roken.h
114
115.ORDER: parse.c parse.h
116parse.h parse.c:	parse.y
117	${YACC}	-d ${.OODATE}
118	cp y.tab.c parse.c
119	cp y.tab.h parse.h
120
121lex.o:		lex.l parse.h roken.h
122
123print_version.o: print_version.h print_version.c roken.h
124	${CC} ${CFLAGS} -c -o ${.TARGET} ${KRB5DIR}/lib/vers/print_version.c
125
126print_version.h: make-print-version
127	./make-print-version print_version.h
128
129make-print-version: make-print-version.c
130	${CC} ${CFLAGS} -static -o ${.TARGET} ${.OODATE}
131
132CLEANFILES+=	${GEN} asn1_compile lex.o parse.o parse.c parse.h \
133		hdb_asn1.h make-print-version print_version.h print_version.o \
134		y.tab.c y.tab.h
135