1179323Skientzle# $FreeBSD$
2179323Skientzle
3179816Sdougb.include <bsd.own.mk>
4179816Sdougb
5229595SmmLIBARCHIVEDIR=	${.CURDIR}/../../contrib/libarchive
6229595Smm
7179323SkientzlePROG=	bsdcpio
8229588SmmBSDCPIO_VERSION_STRING=2.8.5
9224154Smm
10229595Smm.PATH:	${LIBARCHIVEDIR}/cpio
11224154SmmSRCS=	cpio.c cmdline.c
12224154Smm
13229595Smm.PATH:	${LIBARCHIVEDIR}/libarchive_fe
14224154SmmSRCS+=	err.c line_reader.c matching.c pathmatch.c
15224154Smm
16179323SkientzleCFLAGS+= -DBSDCPIO_VERSION_STRING=\"${BSDCPIO_VERSION_STRING}\"
17229595SmmCFLAGS+= -DPLATFORM_CONFIG_H=\"${.CURDIR}/config_freebsd.h\"
18229595SmmCFLAGS+= -I${LIBARCHIVEDIR}/cpio -I${LIBARCHIVEDIR}/libarchive_fe
19224154Smm
20191262Skientzle.ifdef RELEASE_CRUNCH
21191262Skientzle# FreeBSD's installer uses cpio in crunched binaries that are
22191262Skientzle# statically linked, cannot use -lcrypto, and are size sensitive.
23191262SkientzleCFLAGS+= -DSMALLER
24191262Skientzle.endif
25224566SmmDPADD=	${LIBARCHIVE} ${LIBZ} ${LIBBZ2} ${LIBLZMA} ${LIBBSDXML}
26224566SmmLDADD=	-larchive -lz -lbz2 -llzma -lbsdxml
27191240Skientzle.if ${MK_OPENSSL} != "no"
28204329SruDPADD+=	${LIBCRYPTO}
29191240SkientzleLDADD+= -lcrypto
30224566Smm.else
31224566SmmDPADD+= ${LIBMD}
32224566SmmLDADD+= -lmd
33191240Skientzle.endif
34179324Skientzle
35179323SkientzleSYMLINKS=bsdcpio ${BINDIR}/cpio
36179323SkientzleMLINKS= bsdcpio.1 cpio.1
37179323Skientzle
38229595Smm.PHONY: check test clean-test
39179323Skientzle
40179323Skientzlecheck test: $(PROG) bsdcpio.1.gz
41229595Smm	cd ${.CURDIR}/test && make obj && make test
42179323Skientzle
43229595Smmclean-test:
44229595Smm	cd ${.CURDIR}/test && make clean
45229595Smm
46179323Skientzle.include <bsd.prog.mk>
47