# Makefile for busybox
#
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
#
# Licensed under the GPL v2 or later, see the file LICENSE in this tarball.

lib-y:= \
\
	data_skip.o \
	data_extract_all.o \
	data_extract_to_stdout.o \
	data_extract_to_buffer.o \
\
	filter_accept_all.o \
	filter_accept_list.o \
	filter_accept_reject_list.o \
\
	header_skip.o \
	header_list.o \
	header_verbose_list.o \
\
	seek_by_read.o \
	seek_by_jump.o \
\
	data_align.o \
	find_list_entry.o \
	init_handle.o

DPKG_FILES:= \
	get_header_ar.o \
	unpack_ar_archive.o \
	get_header_tar.o \
	filter_accept_list_reassign.o

lib-$(CONFIG_AR)                        += get_header_ar.o unpack_ar_archive.o
lib-$(CONFIG_BUNZIP2)                   += decompress_bunzip2.o
lib-$(CONFIG_UNLZMA)                    += decompress_unlzma.o
lib-$(CONFIG_CPIO)                      += get_header_cpio.o
lib-$(CONFIG_DPKG)                      += $(DPKG_FILES)
lib-$(CONFIG_DPKG_DEB)                  += $(DPKG_FILES)
lib-$(CONFIG_GUNZIP)                    += decompress_unzip.o
lib-$(CONFIG_RPM2CPIO)                  += decompress_unzip.o get_header_cpio.o
lib-$(CONFIG_RPM)                       += open_transformer.o decompress_unzip.o get_header_cpio.o
lib-$(CONFIG_TAR)                       += get_header_tar.o
lib-$(CONFIG_UNCOMPRESS)                += decompress_uncompress.o
lib-$(CONFIG_UNZIP)                     += decompress_unzip.o
lib-$(CONFIG_FEATURE_SEAMLESS_Z)        += open_transformer.o decompress_uncompress.o
lib-$(CONFIG_FEATURE_SEAMLESS_GZ)       += open_transformer.o decompress_unzip.o get_header_tar_gz.o
lib-$(CONFIG_FEATURE_SEAMLESS_BZ2)      += open_transformer.o decompress_bunzip2.o get_header_tar_bz2.o
lib-$(CONFIG_FEATURE_SEAMLESS_LZMA)     += open_transformer.o decompress_unlzma.o get_header_tar_lzma.o
lib-$(CONFIG_FEATURE_COMPRESS_USAGE)    += decompress_bunzip2.o
