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

libs-y				+= libunarchive/

lib-y:=

INSERT

lib-$(CONFIG_AR)		+= ar.o
lib-$(CONFIG_CPIO)		+= cpio.o
lib-$(CONFIG_DPKG)		+= dpkg.o
lib-$(CONFIG_DPKG_DEB)		+= dpkg_deb.o
lib-$(CONFIG_RPM2CPIO)		+= rpm2cpio.o
lib-$(CONFIG_RPM)		+= rpm.o
lib-$(CONFIG_TAR)		+= tar.o
lib-$(CONFIG_UNZIP)		+= unzip.o

lib-$(CONFIG_LZOP)		+= lzop.o lzo1x_1.o lzo1x_1o.o lzo1x_d.o bbunzip.o
lib-$(CONFIG_LZOP_COMPR_HIGH)	+= lzo1x_9x.o
lib-$(CONFIG_GZIP)		+= gzip.o bbunzip.o
lib-$(CONFIG_BZIP2)		+= bzip2.o bbunzip.o

lib-$(CONFIG_UNXZ)		+= bbunzip.o
lib-$(CONFIG_UNLZMA)		+= bbunzip.o
lib-$(CONFIG_BUNZIP2)		+= bbunzip.o
lib-$(CONFIG_GUNZIP)		+= bbunzip.o
lib-$(CONFIG_UNCOMPRESS)	+= bbunzip.o
