Makefile revision 117728
1112125Ssam# $FreeBSD: head/kerberos5/lib/libasn1/Makefile 117728 2003-07-18 13:21:58Z markm $
2112125Ssam
3112125SsamLIB=	asn1
4112125Ssam
5112125SsamSRCS=	\
6112125Ssam	der_get.c				\
7112125Ssam	der_put.c				\
8112125Ssam	der_free.c				\
9112125Ssam	der_length.c				\
10112125Ssam	der_copy.c				\
11112125Ssam	timegm.c				\
12112125Ssam	asn1_err.c				\
13112125Ssam	${.OBJDIR}/asn1_err.h			\
14112125Ssam	${.OBJDIR}/krb5_asn1.h			\
15112125Ssam	${.OBJDIR}/roken.h			\
16112125Ssam	${GEN:S/.x/.c/g}
17112125Ssam
18112125SsamCFLAGS+=-I${KRB5DIR}/include			\
19112125Ssam	-I${KRB5DIR}/lib/asn1			\
20112125Ssam	-I${KRB5DIR}/lib/roken			\
21112125Ssam	-I${INCLUDEOBJDIR}			\
22112125Ssam	-I${.OBJDIR}
23112125Ssam
24112125SsamGEN=						\
25112125Ssam	asn1_APOptions.x			\
26112125Ssam	asn1_AP_REP.x				\
27112125Ssam	asn1_AP_REQ.x				\
28112125Ssam	asn1_AS_REP.x				\
29112125Ssam	asn1_AS_REQ.x				\
30112125Ssam	asn1_Authenticator.x			\
31112125Ssam	asn1_AuthorizationData.x		\
32112125Ssam	asn1_CKSUMTYPE.x			\
33112125Ssam	asn1_Checksum.x				\
34119418Sobrien	asn1_ENCTYPE.x				\
35119418Sobrien	asn1_ETYPE_INFO.x			\
36119418Sobrien	asn1_ETYPE_INFO_ENTRY.x			\
37112125Ssam	asn1_EncAPRepPart.x			\
38112125Ssam	asn1_EncASRepPart.x			\
39112125Ssam	asn1_EncKDCRepPart.x			\
40112125Ssam	asn1_EncKrbCredPart.x			\
41112125Ssam	asn1_EncKrbPrivPart.x			\
42112125Ssam	asn1_EncTGSRepPart.x			\
43112125Ssam	asn1_EncTicketPart.x			\
44112125Ssam	asn1_EncryptedData.x			\
45112125Ssam	asn1_EncryptionKey.x			\
46112125Ssam	asn1_HostAddress.x			\
47112125Ssam	asn1_HostAddresses.x			\
48112125Ssam	asn1_KDCOptions.x			\
49112125Ssam	asn1_KDC_REP.x				\
50112125Ssam	asn1_KDC_REQ.x				\
51112125Ssam	asn1_KDC_REQ_BODY.x			\
52112125Ssam	asn1_KRB_CRED.x				\
53112125Ssam	asn1_KRB_ERROR.x			\
54112125Ssam	asn1_KRB_PRIV.x				\
55112125Ssam	asn1_KRB_SAFE.x				\
56112125Ssam	asn1_KRB_SAFE_BODY.x			\
57112125Ssam	asn1_KerberosTime.x			\
58112125Ssam	asn1_KrbCredInfo.x			\
59112125Ssam	asn1_LastReq.x				\
60112125Ssam	asn1_LR_TYPE.x				\
61112125Ssam	asn1_MESSAGE_TYPE.x			\
62112125Ssam	asn1_METHOD_DATA.x			\
63112125Ssam	asn1_NAME_TYPE.x			\
64112125Ssam	asn1_PADATA_TYPE.x			\
65112125Ssam	asn1_PA_DATA.x				\
66112125Ssam	asn1_PA_ENC_TS_ENC.x			\
67112125Ssam	asn1_Principal.x			\
68112125Ssam	asn1_PrincipalName.x			\
69112125Ssam	asn1_Realm.x				\
70112125Ssam	asn1_TGS_REP.x				\
71112125Ssam	asn1_TGS_REQ.x				\
72112125Ssam	asn1_Ticket.x				\
73112125Ssam	asn1_TicketFlags.x			\
74112125Ssam	asn1_TransitedEncoding.x		\
75112125Ssam	asn1_UNSIGNED.x
76116815Ssam
77112125SsamINCS=	${.OBJDIR}/krb5_asn1.h ${.OBJDIR}/asn1_err.h 
78112125Ssam
79112125Ssam.include <bsd.lib.mk>
80112125Ssam
81112125Ssam.PATH:		${KRB5DIR}/lib/asn1
82112125Ssam.PATH:		${KRB5DIR}/lib/vers
83112125Ssam.PATH:		${KRB5DIR}/lib/roken
84112125Ssam
85112125Ssambeforedepend all: ${.OBJDIR}/roken.h
86112125Ssam
87112125Ssam.for I in ${GEN}
88112125Ssam${I:S/.x/.c/}:	${I}
89112125Ssam	cmp -s ${.OODATE} ${.TARGET} 2> /dev/null || cp ${.OODATE} ${.TARGET}
90112125Ssam.endfor
91112125Ssam
92112125SsamCLEANFILES+=	${GEN:S/.x/.c/g} krb5_asn1.h asn1_files
93112125Ssam
94112125Ssam${GEN} ${.OBJDIR}/krb5_asn1.h:		asn1_compile k5.asn1
95112125Ssam	./asn1_compile ${KRB5DIR}/lib/asn1/k5.asn1 krb5_asn1
96112125Ssam
97112125Ssambuild-tools:	make-print-version make-roken asn1_compile
98116815Ssam
99116815Ssamasn1_compile:					\
100116815Ssam	gen.c					\
101119137Ssam	gen_copy.c				\
102116815Ssam	gen_decode.c				\
103112125Ssam	gen_encode.c				\
104112125Ssam	gen_free.c				\
105112125Ssam	gen_glue.c				\
106112125Ssam	gen_length.c				\
107112125Ssam	hash.c					\
108112125Ssam	emalloc.c				\
109112125Ssam	lex.o					\
110112125Ssam	main.c					\
111112125Ssam	parse.o					\
112112125Ssam	symbol.c				\
113112125Ssam	getarg.c				\
114112125Ssam	warnerr.c				\
115112125Ssam	${.OBJDIR}/print_version.o		\
116112125Ssam	get_window_size.c			\
117112125Ssam	strupr.c
118116815Ssam	${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.OODATE} ${LDADD}
119112125Ssam
120112125Ssam${.OBJDIR}/parse.o:	${.OBJDIR}/parse.c ${.OBJDIR}/roken.h
121112125Ssam
122112125Ssam.ORDER: ${.OBJDIR}/parse.c ${.OBJDIR}/parse.h
123112125Ssam${.OBJDIR}/parse.h ${.OBJDIR}/parse.c:	parse.y
124112125Ssam	${YACC}	-d ${.OODATE}
125112125Ssam	cp y.tab.c parse.c
126112125Ssam	cp y.tab.h parse.h
127112125Ssam
128112125Ssamlex.o:		lex.l ${.OBJDIR}/parse.h ${.OBJDIR}/roken.h
129112125Ssam
130112125Ssam${.OBJDIR}/print_version.o: ${.OBJDIR}/print_version.h print_version.c \
131112125Ssam				${.OBJDIR}/roken.h
132112125Ssam	${CC} ${CFLAGS} -c -o ${.TARGET} ${KRB5DIR}/lib/vers/print_version.c
133112125Ssam
134112125Ssam${.OBJDIR}/print_version.h: make-print-version
135112125Ssam	./make-print-version print_version.h
136112125Ssam
137112125Ssammake-print-version: make-print-version.c
138112125Ssam	${CC} ${CFLAGS} -static -o ${.TARGET} ${.OODATE}
139112125Ssam
140112125SsamCLEANFILES+=	${GEN} asn1_compile lex.o parse.o parse.c parse.h \
141112125Ssam		hdb_asn1.h make-print-version print_version.h print_version.o \
142112125Ssam		y.tab.c y.tab.h
143112125Ssam