1# $FreeBSD$ 2 3# 4# Use "make distfile" to build a conventional tar.gz archive 5# complete with autoconf/automake-generated build system. 6# 7 8 9LIB= archive 10VERSION= 1.02.002 11ARCHIVE_API_FEATURE= 2 12ARCHIVE_API_VERSION= 1 13SHLIB_MAJOR= ${ARCHIVE_API_VERSION} 14CFLAGS+= -DPACKAGE_NAME=\"lib${LIB}\" 15CFLAGS+= -DPACKAGE_VERSION=\"${VERSION}\" 16CFLAGS+= -I${.OBJDIR} 17 18.if ${MACHINE_ARCH} == "arm" 19WARNS?= 3 20.else 21WARNS?= 6 22.endif 23 24INCS= archive.h archive_entry.h 25 26# Note: archive.h does need to be listed here, since it's built 27SRCS= archive.h \ 28 archive_check_magic.c \ 29 archive_entry.c \ 30 archive_read.c \ 31 archive_read_data_into_buffer.c \ 32 archive_read_data_into_fd.c \ 33 archive_read_extract.c \ 34 archive_read_open_fd.c \ 35 archive_read_open_file.c \ 36 archive_read_support_compression_all.c \ 37 archive_read_support_compression_bzip2.c \ 38 archive_read_support_compression_compress.c \ 39 archive_read_support_compression_gzip.c \ 40 archive_read_support_compression_none.c \ 41 archive_read_support_format_all.c \ 42 archive_read_support_format_cpio.c \ 43 archive_read_support_format_iso9660.c \ 44 archive_read_support_format_tar.c \ 45 archive_read_support_format_zip.c \ 46 archive_string.c \ 47 archive_string_sprintf.c \ 48 archive_util.c \ 49 archive_write.c \ 50 archive_write_open_fd.c \ 51 archive_write_open_file.c \ 52 archive_write_set_compression_bzip2.c \ 53 archive_write_set_compression_gzip.c \ 54 archive_write_set_compression_none.c \ 55 archive_write_set_format.c \ 56 archive_write_set_format_by_name.c \ 57 archive_write_set_format_cpio.c \ 58 archive_write_set_format_pax.c \ 59 archive_write_set_format_shar.c \ 60 archive_write_set_format_ustar.c 61 62MAN= archive_entry.3 \ 63 archive_read.3 \ 64 archive_util.3 \ 65 archive_write.3 \ 66 libarchive.3 \ 67 libarchive-formats.5 \ 68 tar.5 69 70MLINKS+= archive_entry.3 archive_entry_acl_add_entry.3 71MLINKS+= archive_entry.3 archive_entry_acl_add_entry_w.3 72MLINKS+= archive_entry.3 archive_entry_acl_clear.3 73MLINKS+= archive_entry.3 archive_entry_acl_count.3 74MLINKS+= archive_entry.3 archive_entry_acl_next.3 75MLINKS+= archive_entry.3 archive_entry_acl_next_w.3 76MLINKS+= archive_entry.3 archive_entry_acl_reset.3 77MLINKS+= archive_entry.3 archive_entry_acl_text_w.3 78MLINKS+= archive_entry.3 archive_entry_clear.3 79MLINKS+= archive_entry.3 archive_entry_clone.3 80MLINKS+= archive_entry.3 archive_entry_copy_fflags_text_w.3 81MLINKS+= archive_entry.3 archive_entry_copy_gname_w.3 82MLINKS+= archive_entry.3 archive_entry_copy_hardlink_w.3 83MLINKS+= archive_entry.3 archive_entry_copy_pathname_w.3 84MLINKS+= archive_entry.3 archive_entry_copy_stat.3 85MLINKS+= archive_entry.3 archive_entry_copy_symlink_w.3 86MLINKS+= archive_entry.3 archive_entry_copy_uname_w.3 87MLINKS+= archive_entry.3 archive_entry_fflags.3 88MLINKS+= archive_entry.3 archive_entry_fflags_text.3 89MLINKS+= archive_entry.3 archive_entry_free.3 90MLINKS+= archive_entry.3 archive_entry_gid.3 91MLINKS+= archive_entry.3 archive_entry_gname.3 92MLINKS+= archive_entry.3 archive_entry_gname_w.3 93MLINKS+= archive_entry.3 archive_entry_hardlink.3 94MLINKS+= archive_entry.3 archive_entry_ino.3 95MLINKS+= archive_entry.3 archive_entry_mode.3 96MLINKS+= archive_entry.3 archive_entry_mtime.3 97MLINKS+= archive_entry.3 archive_entry_mtime_nsec.3 98MLINKS+= archive_entry.3 archive_entry_new.3 99MLINKS+= archive_entry.3 archive_entry_pathname.3 100MLINKS+= archive_entry.3 archive_entry_pathname_w.3 101MLINKS+= archive_entry.3 archive_entry_rdev.3 102MLINKS+= archive_entry.3 archive_entry_rdevmajor.3 103MLINKS+= archive_entry.3 archive_entry_rdevminor.3 104MLINKS+= archive_entry.3 archive_entry_set_fflags.3 105MLINKS+= archive_entry.3 archive_entry_set_gid.3 106MLINKS+= archive_entry.3 archive_entry_set_gname.3 107MLINKS+= archive_entry.3 archive_entry_set_hardlink.3 108MLINKS+= archive_entry.3 archive_entry_set_link.3 109MLINKS+= archive_entry.3 archive_entry_set_mode.3 110MLINKS+= archive_entry.3 archive_entry_set_pathname.3 111MLINKS+= archive_entry.3 archive_entry_set_rdevmajor.3 112MLINKS+= archive_entry.3 archive_entry_set_rdevminor.3 113MLINKS+= archive_entry.3 archive_entry_set_size.3 114MLINKS+= archive_entry.3 archive_entry_set_symlink.3 115MLINKS+= archive_entry.3 archive_entry_set_uid.3 116MLINKS+= archive_entry.3 archive_entry_set_uname.3 117MLINKS+= archive_entry.3 archive_entry_size.3 118MLINKS+= archive_entry.3 archive_entry_stat.3 119MLINKS+= archive_entry.3 archive_entry_symlink.3 120MLINKS+= archive_entry.3 archive_entry_uid.3 121MLINKS+= archive_entry.3 archive_entry_uname.3 122MLINKS+= archive_entry.3 archive_entry_uname_w.3 123MLINKS+= archive_read.3 archive_read_data.3 124MLINKS+= archive_read.3 archive_read_data_block.3 125MLINKS+= archive_read.3 archive_read_data_into_buffer.3 126MLINKS+= archive_read.3 archive_read_data_into_fd.3 127MLINKS+= archive_read.3 archive_read_data_skip.3 128MLINKS+= archive_read.3 archive_read_extract.3 129MLINKS+= archive_read.3 archive_read_extract_set_progress_callback.3 130MLINKS+= archive_read.3 archive_read_finish.3 131MLINKS+= archive_read.3 archive_read_new.3 132MLINKS+= archive_read.3 archive_read_next_header.3 133MLINKS+= archive_read.3 archive_read_open.3 134MLINKS+= archive_read.3 archive_read_open_fd.3 135MLINKS+= archive_read.3 archive_read_open_file.3 136MLINKS+= archive_read.3 archive_read_set_bytes_per_block.3 137MLINKS+= archive_read.3 archive_read_support_compression_all.3 138MLINKS+= archive_read.3 archive_read_support_compression_bzip2.3 139MLINKS+= archive_read.3 archive_read_support_compression_compress.3 140MLINKS+= archive_read.3 archive_read_support_compression_gzip.3 141MLINKS+= archive_read.3 archive_read_support_compression_none.3 142MLINKS+= archive_read.3 archive_read_support_format_all.3 143MLINKS+= archive_read.3 archive_read_support_format_cpio.3 144MLINKS+= archive_read.3 archive_read_support_format_iso9660.3 145MLINKS+= archive_read.3 archive_read_support_format_tar.3 146MLINKS+= archive_read.3 archive_read_support_format_zip.3 147MLINKS+= archive_util.3 archive_compression.3 148MLINKS+= archive_util.3 archive_compression_name.3 149MLINKS+= archive_util.3 archive_errno.3 150MLINKS+= archive_util.3 archive_error_string.3 151MLINKS+= archive_util.3 archive_format.3 152MLINKS+= archive_util.3 archive_format_name.3 153MLINKS+= archive_util.3 archive_set_error.3 154MLINKS+= archive_write.3 archive_write_data.3 155MLINKS+= archive_write.3 archive_write_finish.3 156MLINKS+= archive_write.3 archive_write_header.3 157MLINKS+= archive_write.3 archive_write_new.3 158MLINKS+= archive_write.3 archive_write_open.3 159MLINKS+= archive_write.3 archive_write_open_fd.3 160MLINKS+= archive_write.3 archive_write_open_file.3 161MLINKS+= archive_write.3 archive_write_prepare.3 162MLINKS+= archive_write.3 archive_write_set_bytes_per_block.3 163MLINKS+= archive_write.3 archive_write_set_bytes_in_last_block.3 164MLINKS+= archive_write.3 archive_write_set_callbacks.3 165MLINKS+= archive_write.3 archive_write_set_compression_bzip2.3 166MLINKS+= archive_write.3 archive_write_set_compression_gzip.3 167MLINKS+= archive_write.3 archive_write_set_format_pax.3 168MLINKS+= archive_write.3 archive_write_set_format_shar.3 169MLINKS+= archive_write.3 archive_write_set_format_ustar.3 170MLINKS+= libarchive.3 archive.3 171 172# Build archive.h from archive.h.in 173archive.h: archive.h.in Makefile 174 cat ${.CURDIR}/archive.h.in | \ 175 sed 's/@ARCHIVE_API_VERSION@/${ARCHIVE_API_VERSION}/' | \ 176 sed 's/@ARCHIVE_API_FEATURE@/${ARCHIVE_API_FEATURE}/' | \ 177 cat > archive.h 178 179# archive.h needs to be cleaned 180CLEANFILES+= archive.h 181 182# 183# Voodoo for building a distfile that uses autoconf/automake/etc. 184# 185 186# Files that just get copied to the distfile build directory 187DIST_WORK_DIR= ${.OBJDIR}/lib${LIB}-${VERSION} 188CLEANDIRS+= ${DIST_WORK_DIR} 189DISTFILE= lib${LIB}-${VERSION}.tar.gz 190DIST_FILES= ${SRCS} 191DIST_FILES+= ${MAN} 192DIST_FILES+= archive.h.in 193DIST_FILES+= archive_entry.h archive_platform.h 194DIST_FILES+= archive_private.h archive_string.h 195DIST_FILES+= Makefile.am 196 197distfile: 198 rm -rf ${DIST_WORK_DIR} 199 mkdir ${DIST_WORK_DIR} 200 for f in ${DIST_FILES}; \ 201 do \ 202 cat ${.CURDIR}/$$f >${DIST_WORK_DIR}/$$f || true; \ 203 done 204 cat ${.CURDIR}/configure.ac.in | \ 205 sed 's/@VERSION@/${VERSION}/' | \ 206 cat > ${DIST_WORK_DIR}/configure.ac 207 (cd ${DIST_WORK_DIR} && aclocal && autoheader && autoconf && automake -a --foreign) 208 (cd ${DIST_WORK_DIR} && ./configure && make distcheck && make dist) 209 mv ${DIST_WORK_DIR}/${DISTFILE} ${.OBJDIR} 210 @echo ================================================== 211 @echo Created ${.OBJDIR}/${DISTFILE} 212 @echo ================================================== 213 214.include <bsd.lib.mk> 215