# $FreeBSD: src/lib/libarchive/Makefile,v 1.83 2008/03/21 11:10:20 kaiw Exp $

LIB=	archive
DPADD=	${LIBBZ2} ${LIBZ}
LDADD=	-lbz2 -lz

# The libarchive version stamp.
# Version is three numbers:
#  Major: Bumped ONLY when API/ABI breakage happens (see SHLIB_MAJOR)
#  Minor: Bumped when significant new features are added
#  Revision: Bumped on any notable change

# The useful version number (one integer, easy to compare)
LIBARCHIVE_VERSION= 2004012
# The pretty version string
LIBARCHIVE_VERSION_STRING!= echo $$((${LIBARCHIVE_VERSION} / 1000000)).$$((${LIBARCHIVE_VERSION} / 1000 % 1000)).$$((${LIBARCHIVE_VERSION} % 1000))

# Don't build profiled version unless needed.
.if !defined(PROFILE)
NO_PROFILE=	YES
.endif

CFLAGS+=	-DPLATFORM_CONFIG_H=\"config_freebsd.h\"
CFLAGS+=	-I${.OBJDIR}

WARNS?=	6

# Headers to be installed in /usr/include
INCS=	archive.h archive_entry.h

# Build archive.h from archive.h.in by substituting version information.
# Note: FreeBSD has inttypes.h, so enable that include in archive.h.in
archive.h:	archive.h.in Makefile
	cat archive.h.in | sed				\
		-e 's/@LIBARCHIVE_VERSION_NUMBER@/${LIBARCHIVE_VERSION}/g'	\
		-e 's/@LIBARCHIVE_VERSION_STRING@/${LIBARCHIVE_VERSION_STRING}/g' \
		-e 's/@SHLIB_MAJOR@/${SHLIB_MAJOR}/g'			\
		-e 's|@ARCHIVE_H_INCLUDE_INTTYPES_H@|#include <inttypes.h>  /* For int64_t */|g' \
		> archive.h

# archive.h needs to be cleaned
CLEANFILES+=	archive.h

# Sources to be compiled.
SRCS=	archive.h					\
	archive_check_magic.c				\
	archive_entry.c					\
	archive_entry_copy_stat.c			\
	archive_entry_stat.c				\
	archive_entry_strmode.c				\
	archive_entry_link_resolver.c			\
	archive_read.c					\
	archive_read_data_into_fd.c			\
	archive_read_extract.c				\
	archive_read_open_fd.c				\
	archive_read_open_file.c			\
	archive_read_open_filename.c			\
	archive_read_open_memory.c			\
	archive_read_support_compression_all.c		\
	archive_read_support_compression_bzip2.c	\
	archive_read_support_compression_compress.c	\
	archive_read_support_compression_gzip.c		\
	archive_read_support_compression_none.c		\
	archive_read_support_compression_program.c	\
	archive_read_support_format_all.c		\
	archive_read_support_format_ar.c		\
	archive_read_support_format_cpio.c		\
	archive_read_support_format_empty.c		\
	archive_read_support_format_iso9660.c		\
	archive_read_support_format_mtree.c		\
	archive_read_support_format_tar.c		\
	archive_read_support_format_zip.c		\
	archive_string.c				\
	archive_string_sprintf.c			\
	archive_util.c					\
	archive_virtual.c				\
	archive_write.c					\
	archive_write_disk.c				\
	archive_write_disk_set_standard_lookup.c	\
	archive_write_open_fd.c				\
	archive_write_open_file.c			\
	archive_write_open_filename.c			\
	archive_write_open_memory.c			\
	archive_write_set_compression_bzip2.c		\
	archive_write_set_compression_compress.c	\
	archive_write_set_compression_gzip.c		\
	archive_write_set_compression_none.c		\
	archive_write_set_compression_program.c		\
	archive_write_set_format.c			\
	archive_write_set_format_ar.c			\
	archive_write_set_format_by_name.c		\
	archive_write_set_format_cpio.c			\
	archive_write_set_format_cpio_newc.c		\
	archive_write_set_format_pax.c			\
	archive_write_set_format_shar.c			\
	archive_write_set_format_ustar.c		\
	filter_fork.c

.include <bsd.lib.mk>
