1 1.1 rillig # $NetBSD: archive.mk,v 1.1 2020/07/27 18:51:03 rillig Exp $ 2 1.1 rillig # 3 1.1 rillig # Very basic demonstration of handling archives, based on the description 4 1.1 rillig # in PSD.doc/tutorial.ms. 5 1.1 rillig 6 1.1 rillig ARCHIVE= libprog.${EXT.a} 7 1.1 rillig FILES= archive.${EXT.mk} modmisc.${EXT.mk} varmisc.mk 8 1.1 rillig 9 1.1 rillig EXT.a= a 10 1.1 rillig EXT.mk= mk 11 1.1 rillig 12 1.1 rillig MAKE_CMD= ${.MAKE} -f ${MAKEFILE} 13 1.1 rillig RUN?= @set -eu; 14 1.1 rillig 15 1.1 rillig all: 16 1.1 rillig ${RUN} ${MAKE_CMD} create-archive 17 1.1 rillig ${RUN} ${MAKE_CMD} list-archive 18 1.1 rillig ${RUN} ${MAKE_CMD} depend-on-existing-member 19 1.1 rillig ${RUN} ${MAKE_CMD} depend-on-nonexistent-member 20 1.1 rillig ${RUN} ${MAKE_CMD} remove-archive 21 1.1 rillig 22 1.1 rillig create-archive: ${ARCHIVE} 23 1.1 rillig ${ARCHIVE}: ${ARCHIVE}(${FILES}) 24 1.1 rillig ar cru ${.TARGET} ${.OODATE} 25 1.1 rillig ranlib ${.TARGET} 26 1.1 rillig 27 1.1 rillig list-archive: ${ARCHIVE} 28 1.1 rillig ar t ${.ALLSRC} 29 1.1 rillig 30 1.1 rillig depend-on-existing-member: ${ARCHIVE}(archive.mk) 31 1.1 rillig ${RUN} echo $@ 32 1.1 rillig 33 1.1 rillig depend-on-nonexistent-member: ${ARCHIVE}(nonexistent.mk) 34 1.1 rillig ${RUN} echo $@ 35 1.1 rillig 36 1.1 rillig remove-archive: ${ARCHIVE} 37 1.1 rillig rm ${ARCHIVE} 38