freebsd-dev/kerberos5/lib/libasn1/Makefile
Mark Murray f5eb4a6a5e Try a lot harder to get dependancies right. This involves some ugly
looking ${.OBJDIR} work that has the up-side of actually working
in upgrade and make -jN cases.

This needs to be revisited further, and it is conceivable that
the ${.OBJDIR} stuff can be simplified, but the sheer number of
edge cases and other causes make this Hard(tm). For now, this works.
2003-07-27 13:17:31 +00:00

147 lines
3.3 KiB
Makefile

# $FreeBSD$
LIB= asn1
SRCS= \
der_get.c \
der_put.c \
der_free.c \
der_length.c \
der_copy.c \
timegm.c \
asn1_err.c \
${.OBJDIR}/asn1_err.h \
${.OBJDIR}/krb5_asn1.h \
${.OBJDIR}/roken.h \
${GEN:S/.x/.c/g}
CFLAGS+=-I${KRB5DIR}/include \
-I${KRB5DIR}/lib/asn1 \
-I${KRB5DIR}/lib/roken \
-I${INCLUDEOBJDIR} \
-I${.OBJDIR}
GEN= \
asn1_APOptions.x \
asn1_AP_REP.x \
asn1_AP_REQ.x \
asn1_AS_REP.x \
asn1_AS_REQ.x \
asn1_Authenticator.x \
asn1_AuthorizationData.x \
asn1_CKSUMTYPE.x \
asn1_Checksum.x \
asn1_ENCTYPE.x \
asn1_ETYPE_INFO.x \
asn1_ETYPE_INFO_ENTRY.x \
asn1_EncAPRepPart.x \
asn1_EncASRepPart.x \
asn1_EncKDCRepPart.x \
asn1_EncKrbCredPart.x \
asn1_EncKrbPrivPart.x \
asn1_EncTGSRepPart.x \
asn1_EncTicketPart.x \
asn1_EncryptedData.x \
asn1_EncryptionKey.x \
asn1_HostAddress.x \
asn1_HostAddresses.x \
asn1_KDCOptions.x \
asn1_KDC_REP.x \
asn1_KDC_REQ.x \
asn1_KDC_REQ_BODY.x \
asn1_KRB_CRED.x \
asn1_KRB_ERROR.x \
asn1_KRB_PRIV.x \
asn1_KRB_SAFE.x \
asn1_KRB_SAFE_BODY.x \
asn1_KerberosTime.x \
asn1_KrbCredInfo.x \
asn1_LastReq.x \
asn1_LR_TYPE.x \
asn1_MESSAGE_TYPE.x \
asn1_METHOD_DATA.x \
asn1_NAME_TYPE.x \
asn1_PADATA_TYPE.x \
asn1_PA_DATA.x \
asn1_PA_ENC_TS_ENC.x \
asn1_Principal.x \
asn1_PrincipalName.x \
asn1_Realm.x \
asn1_TGS_REP.x \
asn1_TGS_REQ.x \
asn1_Ticket.x \
asn1_TicketFlags.x \
asn1_TransitedEncoding.x \
asn1_UNSIGNED.x
INCS= ${.OBJDIR}/krb5_asn1.h ${.OBJDIR}/asn1_err.h
.include <bsd.lib.mk>
.PATH: ${KRB5DIR}/lib/asn1
.PATH: ${KRB5DIR}/lib/vers
.PATH: ${KRB5DIR}/lib/roken
beforedepend all: ${.OBJDIR}/roken.h
.for I in ${GEN}
${I:S/.x/.c/}: ${I}
cmp -s ${.OODATE} ${.TARGET} 2> /dev/null || cp ${.OODATE} ${.TARGET}
.endfor
CLEANFILES+= ${GEN:S/.x/.c/g} krb5_asn1.h asn1_files
${GEN} ${.OBJDIR}/krb5_asn1.h: asn1_compile k5.asn1
./asn1_compile ${KRB5DIR}/lib/asn1/k5.asn1 krb5_asn1
build-tools: make-print-version make-roken asn1_compile
asn1_compile: \
gen.c \
gen_copy.c \
gen_decode.c \
gen_encode.c \
gen_free.c \
gen_glue.c \
gen_length.c \
hash.c \
emalloc.c \
main.c \
symbol.c \
getarg.c \
warnerr.c \
${.OBJDIR}/lex.o \
${.OBJDIR}/parse.o \
${.OBJDIR}/print_version.o \
get_window_size.c \
strupr.c
${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.OODATE} ${LDADD}
.ORDER: ${.OBJDIR}/roken.h ${.OBJDIR}/parse.c ${.OBJDIR}/parse.h ${.OBJDIR}/lex.c
${.OBJDIR}/parse.o: ${.OBJDIR}/parse.c ${.OBJDIR}/roken.h
${.OBJDIR}/lex.o: ${.OBJDIR}/lex.c ${.OBJDIR}/parse.h ${.OBJDIR}/roken.h
${.OBJDIR}/parse.h ${.OBJDIR}/parse.c: parse.y
${YACC} -d ${.OODATE}
cp y.tab.c parse.c
cp y.tab.h parse.h
${.OBJDIR}/lex.c: lex.l
${LEX} -t ${LFLAGS} ${.OODATE} > ${.TARGET}
${.OBJDIR}/print_version.o: ${.OBJDIR}/print_version.h print_version.c \
${.OBJDIR}/roken.h
${CC} ${CFLAGS} -c -o ${.TARGET} ${KRB5DIR}/lib/vers/print_version.c
${.OBJDIR}/print_version.h: make-print-version
./make-print-version print_version.h
make-print-version: make-print-version.c
${CC} ${CFLAGS} -static -o ${.TARGET} ${.OODATE}
CLEANFILES+= ${GEN} asn1_compile lex.o parse.o parse.c parse.h \
hdb_asn1.h make-print-version print_version.h print_version.o \
y.tab.c y.tab.h