1 1.3 rillig # $NetBSD: archive.mk,v 1.3 2020/08/16 14:39:50 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.2 rillig ${RUN} ${MAKE_CMD} remove-archive 17 1.1 rillig ${RUN} ${MAKE_CMD} create-archive 18 1.1 rillig ${RUN} ${MAKE_CMD} list-archive 19 1.1 rillig ${RUN} ${MAKE_CMD} depend-on-existing-member 20 1.1 rillig ${RUN} ${MAKE_CMD} depend-on-nonexistent-member 21 1.1 rillig ${RUN} ${MAKE_CMD} remove-archive 22 1.1 rillig 23 1.1 rillig create-archive: ${ARCHIVE} 24 1.1 rillig ${ARCHIVE}: ${ARCHIVE}(${FILES}) 25 1.1 rillig ar cru ${.TARGET} ${.OODATE} 26 1.1 rillig ranlib ${.TARGET} 27 1.1 rillig 28 1.1 rillig list-archive: ${ARCHIVE} 29 1.1 rillig ar t ${.ALLSRC} 30 1.1 rillig 31 1.1 rillig depend-on-existing-member: ${ARCHIVE}(archive.mk) 32 1.1 rillig ${RUN} echo $@ 33 1.1 rillig 34 1.1 rillig depend-on-nonexistent-member: ${ARCHIVE}(nonexistent.mk) 35 1.1 rillig ${RUN} echo $@ 36 1.1 rillig 37 1.2 rillig remove-archive: 38 1.3 rillig rm -f ${ARCHIVE} 39