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