diff options
Diffstat (limited to 'usr.bin/cpio')
-rw-r--r-- | usr.bin/cpio/Makefile | 51 | ||||
-rw-r--r-- | usr.bin/cpio/test/Makefile | 79 |
2 files changed, 130 insertions, 0 deletions
diff --git a/usr.bin/cpio/Makefile b/usr.bin/cpio/Makefile new file mode 100644 index 0000000..13579c1 --- /dev/null +++ b/usr.bin/cpio/Makefile @@ -0,0 +1,51 @@ +# $FreeBSD$ + +.include <bsd.own.mk> + +LIBARCHIVEDIR= ${.CURDIR}/../../contrib/libarchive +LIBARCHIVECONFDIR= ${.CURDIR}/../../lib/libarchive + +PROG= bsdcpio +BSDCPIO_VERSION_STRING= 3.0.3 + +.PATH: ${LIBARCHIVEDIR}/cpio +SRCS= cpio.c cmdline.c + +.PATH: ${LIBARCHIVEDIR}/libarchive_fe +SRCS+= err.c line_reader.c matching.c pathmatch.c + +CFLAGS+= -DBSDCPIO_VERSION_STRING=\"${BSDCPIO_VERSION_STRING}\" +CFLAGS+= -DPLATFORM_CONFIG_H=\"${LIBARCHIVECONFDIR}/config_freebsd.h\" +CFLAGS+= -I${LIBARCHIVEDIR}/cpio -I${LIBARCHIVEDIR}/libarchive_fe + +.ifdef RELEASE_CRUNCH +# FreeBSD's installer uses cpio in crunched binaries that are +# statically linked, cannot use -lcrypto, and are size sensitive. +CFLAGS+= -DSMALLER +.endif +DPADD= ${LIBARCHIVE} ${LIBZ} ${LIBBZ2} ${LIBLZMA} ${LIBBSDXML} +LDADD= -larchive -lz -lbz2 -llzma -lbsdxml +.if ${MK_OPENSSL} != "no" +DPADD+= ${LIBCRYPTO} +LDADD+= -lcrypto +.else +DPADD+= ${LIBMD} +LDADD+= -lmd +.endif + +.if ${MK_ICONV} != "no" +CFLAGS+= -DHAVE_ICONV=1 -DHAVE_ICONV_H=1 -DICONV_CONST=const +.endif + +SYMLINKS=bsdcpio ${BINDIR}/cpio +MLINKS= bsdcpio.1 cpio.1 + +.PHONY: check test clean-test + +check test: $(PROG) bsdcpio.1.gz + cd ${.CURDIR}/test && make obj && make test + +clean-test: + cd ${.CURDIR}/test && make clean + +.include <bsd.prog.mk> diff --git a/usr.bin/cpio/test/Makefile b/usr.bin/cpio/test/Makefile new file mode 100644 index 0000000..1da6b1c --- /dev/null +++ b/usr.bin/cpio/test/Makefile @@ -0,0 +1,79 @@ +# $FreeBSD$ + +LIBARCHIVEDIR= ${.CURDIR}/../../../contrib/libarchive + +.PATH: ${LIBARCHIVEDIR}/cpio +CPIO_SRCS= cmdline.c + +.PATH: ${LIBARCHIVEDIR}/libarchive_fe +CPIO_SRCS+= err.c pathmatch.c + +.PATH: ${LIBARCHIVEDIR}/cpio/test +TESTS= \ + test_0.c \ + test_basic.c \ + test_format_newc.c \ + test_gcpio_compat.c \ + test_option_0.c \ + test_option_B_upper.c \ + test_option_C_upper.c \ + test_option_J_upper.c \ + test_option_L_upper.c \ + test_option_Z_upper.c \ + test_option_a.c \ + test_option_c.c \ + test_option_d.c \ + test_option_f.c \ + test_option_help.c \ + test_option_l.c \ + test_option_lzma.c \ + test_option_m.c \ + test_option_t.c \ + test_option_u.c \ + test_option_version.c \ + test_option_y.c \ + test_option_z.c \ + test_owner_parse.c \ + test_passthrough_dotdot.c \ + test_passthrough_reverse.c \ + test_pathmatch.c + +# Build the test program +SRCS= list.h \ + ${CPIO_SRCS} \ + ${TESTS} \ + main.c + +CLEANFILES+= list.h bsdcpio_test + +NO_MAN=yes + +PROG=bsdcpio_test +DPADD=${LIBARCHIVE} ${LIBBZ2} ${LIBZ} ${LIBLZMA} +CFLAGS+= -DPLATFORM_CONFIG_H=\"${.CURDIR}/../config_freebsd.h\" +CFLAGS+= -I${.CURDIR}/.. +LDADD= -larchive -lz -lbz2 -llzma +#CFLAGS+= -static -g -O2 -Wall +CFLAGS+= -g -O2 -Wall +CFLAGS+= -I${.OBJDIR} +CFLAGS+= -I${LIBARCHIVEDIR}/cpio -I${LIBARCHIVEDIR}/libarchive_fe + +# Uncomment to link against dmalloc +#LDADD+= -L/usr/local/lib -ldmalloc +#CFLAGS+= -I/usr/local/include -DUSE_DMALLOC + +check test: bsdcpio_test + ${.OBJDIR}/bsdcpio_test -p ${.OBJDIR}/../bsdcpio \ + -r ${LIBARCHIVEDIR}/cpio/test + +${.OBJDIR}/list.h list.h: ${TESTS} Makefile + (cd ${LIBARCHIVEDIR}/cpio/test; cat ${TESTS}) | \ + grep DEFINE_TEST > ${.OBJDIR}/list.h + +clean: + rm -f ${CLEANFILES} + rm -f *~ + -chmod -R +w /tmp/bsdcpio_test.* + rm -rf /tmp/bsdcpio_test + +.include <bsd.prog.mk> |