1# $NetBSD: Makefile.rules.inc,v 1.7 2012/09/05 19:31:04 christos Exp $ 2 3SRCS+= ${HEIMSRCS:N*.et:N*.in:N*.asn1} 4 5.for et_src in ${HEIMSRCS:M*.et} 6CLEANFILES+= ${et_src:.et=.c} ${et_src:.et=.h} 7DPSRCS+= ${et_src:.et=.c} ${et_src:.et=.h} 8COMPILE_ET_INCS+= ${et_src:.et=.h} 9OBJS+= ${et_src:.et=.o} 10 11${et_src:.et=.c} ${et_src:.et=.h}: ${et_src} ${TOOL_COMPILE_ET} 12 ${TOOL_COMPILE_ET} ${.ALLSRC:[1]} 13 14.endfor 15 16.for src in ${HEIMSRCS:M*.asn1} 17ASN1_FILES.${src} ?= asn1_${src:.asn1=_asn1.x} 18 19.if ${ASN1_FILES.${src}:[\#]} == 1 20ASN1_OPTS.${src} ?= --one-code-file 21.endif 22 23CLEANFILES+= \ 24 ${src:.asn1=_asn1_files} \ 25 ${src:.asn1=_asn1-template.c} \ 26 ${ASN1_FILES.${src}} \ 27 ${ASN1_FILES.${src}:.x=.c} \ 28 ${src:.asn1=_asn1.h} \ 29 ${src:.asn1=_asn1.hx} \ 30 ${src:.asn1=_asn1-priv.h} \ 31 ${src:.asn1=_asn1-priv.hx} \ 32 ${src:.asn1=.ts} 33 34ASN1_INCS += ${src:.asn1=_asn1.h} 35 36DPSRCS += ${src:.asn1=_asn1.h} ${src:.asn1=_asn1-priv.h} 37OBJS += ${ASN1_FILES.${src}:.x=.o} 38 39${ASN1_FILES.${src}} ${src:.asn1=_asn1.h} ${src:.asn1=_asn1-priv.h}: \ 40 ${src:.asn1=.ts} 41 42.if exists(${src:.asn1=.opt}) 43${src:.asn1=.ts}: ${src} ${src:.asn1=.opt} ${TOOL_ASN1_COMPILE} 44 @touch $@ 45 ${TOOL_ASN1_COMPILE} \ 46 ${ASN1_OPTS.${src}} \ 47 --option-file=${.ALLSRC:[2]} \ 48 ${.ALLSRC:[1]} ${src:.asn1=_asn1} 49 @${TOOL_SED} -E \ 50 -e 's,#include <(.*)_asn1\.h>,#include <krb5/\1_asn1.h>,' \ 51 2> /dev/null < ${src:.asn1=_asn1.hx} > ${src:.asn1=_asn1.h} 52 @cmp -s ${src:.asn1=_asn1-priv.hx} ${src:.asn1=_asn1-priv.h} \ 53 2> /dev/null || \ 54 cp ${src:.asn1=_asn1-priv.hx} ${src:.asn1=_asn1-priv.h} 55.else 56${src:.asn1=.ts}: ${src} ${TOOL_ASN1_COMPILE} 57 @touch $@ 58 ${TOOL_ASN1_COMPILE} \ 59 ${ASN1_OPTS.${src}} \ 60 ${.ALLSRC:[1]} ${src:.asn1=_asn1} 61 @${TOOL_SED} -E \ 62 -e 's,#include <(.*)_asn1\.h>,#include <krb5/\1_asn1.h>,' \ 63 2> /dev/null < ${src:.asn1=_asn1.hx} > ${src:.asn1=_asn1.h} 64 @cmp -s ${src:.asn1=_asn1-priv.hx} ${src:.asn1=_asn1-priv.h} \ 65 2> /dev/null || \ 66 cp ${src:.asn1=_asn1-priv.hx} ${src:.asn1=_asn1-priv.h} 67.endif 68 69.if ${MKREPRO:Uno} == "yes" 70NORMALIZE_SRC=-e "s@${NETBSDSRCDIR}@/usr/src@g" 71.endif 72 73.for x2c in ${ASN1_FILES.${src}} 74${x2c:.x=.c}: ${x2c} 75 @${TOOL_SED} ${NORMALIZE_SRC} < ${x2c} > ${x2c}.r 76 @cmp -s ${x2c}.r ${x2c:.x=.c} 2> /dev/null || cp ${x2c}.r ${x2c:.x=.c} 77 @rm -f ${x2c}.r 78.endfor 79 80.endfor 81 82# 83# and for slc: 84 85.for slc_src in ${HEIMSRCS:M*.in} 86CLEANFILES+= ${slc_src:.in=.c} ${slc_src:.in=.h} 87DPSRCS+= ${slc_src:.in=.c} ${slc_src:.in=.h} 88OBJS+= ${slc_src:.in=.o} 89SLC_INCS+= ${slc_src:.in=.h} 90 91${slc_src:.in=.c} ${slc_src:.in=.h}: ${slc_src} 92 ${TOOL_SLC} ${.ALLSRC} 93 94.endfor 95 96# 97# And a tiny bit of logic for bsd.prog.mk: 98 99.if defined(PROG) && defined(OBJS) 100OBJS.${PROG} += ${OBJS} 101.endif 102 103.if defined(LIB) && exists(version-script.map) && !defined(NO_VERSION_SCRIPT) 104version-script.map: 105 106LDFLAGS.lib${LIB} += -Wl,--version-script=${version-script.map:P} 107.endif 108