1a8775b3bd473537100867e1d985163c2484e6a1bplougher###############################################
2a8775b3bd473537100867e1d985163c2484e6a1bplougher#          Compression build options          #
3a8775b3bd473537100867e1d985163c2484e6a1bplougher###############################################
4898b10b3b19504126a4aec1d1a028b1e58109fedplougher#
576b7c832bb72020749efcef5cdc8fefffac87f25plougher#
676b7c832bb72020749efcef5cdc8fefffac87f25plougher############# Building gzip support ###########
776b7c832bb72020749efcef5cdc8fefffac87f25plougher#
876b7c832bb72020749efcef5cdc8fefffac87f25plougher# Gzip support is by default enabled, and the compression type default
976b7c832bb72020749efcef5cdc8fefffac87f25plougher# (COMP_DEFAULT) is gzip.
1076b7c832bb72020749efcef5cdc8fefffac87f25plougher#
1176b7c832bb72020749efcef5cdc8fefffac87f25plougher# If you don't want/need gzip support then comment out the GZIP SUPPORT line
1276b7c832bb72020749efcef5cdc8fefffac87f25plougher# below, and change COMP_DEFAULT to one of the compression types you have
1376b7c832bb72020749efcef5cdc8fefffac87f25plougher# selected.
1476b7c832bb72020749efcef5cdc8fefffac87f25plougher#
1576b7c832bb72020749efcef5cdc8fefffac87f25plougher# Obviously, you must select at least one of the available gzip, lzma, lzo
1676b7c832bb72020749efcef5cdc8fefffac87f25plougher# compression types.
1776b7c832bb72020749efcef5cdc8fefffac87f25plougher#
1876b7c832bb72020749efcef5cdc8fefffac87f25plougherGZIP_SUPPORT = 1
1976b7c832bb72020749efcef5cdc8fefffac87f25plougher
2067dfce9c3751f0580633e8a33cea28bcfbefec04plougher########### Building XZ support #############
2167dfce9c3751f0580633e8a33cea28bcfbefec04plougher#
2267dfce9c3751f0580633e8a33cea28bcfbefec04plougher# LZMA2 compression.
2367dfce9c3751f0580633e8a33cea28bcfbefec04plougher#
2467dfce9c3751f0580633e8a33cea28bcfbefec04plougher# XZ Utils liblzma (http://tukaani.org/xz/) is supported
2567dfce9c3751f0580633e8a33cea28bcfbefec04plougher#
2667dfce9c3751f0580633e8a33cea28bcfbefec04plougher# To build using XZ Utils liblzma - install the library and uncomment
2767dfce9c3751f0580633e8a33cea28bcfbefec04plougher# the XZ_SUPPORT line below.
2867dfce9c3751f0580633e8a33cea28bcfbefec04plougher#
29a492e35bbfaa155193a952f34a5db62633fe4fddplougher#XZ_SUPPORT = 1
3067dfce9c3751f0580633e8a33cea28bcfbefec04plougher
31c801ba5494e53c5cad6c16241bdad01b3de33717plougher
32c801ba5494e53c5cad6c16241bdad01b3de33717plougher############ Building LZO support ##############
33c801ba5494e53c5cad6c16241bdad01b3de33717plougher#
34c801ba5494e53c5cad6c16241bdad01b3de33717plougher# The LZO library (http://www.oberhumer.com/opensource/lzo/) is supported.
35c801ba5494e53c5cad6c16241bdad01b3de33717plougher#
36c801ba5494e53c5cad6c16241bdad01b3de33717plougher# To build using the LZO library - install the library and uncomment the
37c801ba5494e53c5cad6c16241bdad01b3de33717plougher# LZO_SUPPORT line below. If needed, uncomment and set LZO_DIR to the
38c801ba5494e53c5cad6c16241bdad01b3de33717plougher# installation prefix.
39c801ba5494e53c5cad6c16241bdad01b3de33717plougher#
40a492e35bbfaa155193a952f34a5db62633fe4fddplougher#LZO_SUPPORT = 1
41c801ba5494e53c5cad6c16241bdad01b3de33717plougher#LZO_DIR = /usr/local
42c801ba5494e53c5cad6c16241bdad01b3de33717plougher
432d4c918a517cc567ca935c352e3993133d39945fPhillip Lougher
442d4c918a517cc567ca935c352e3993133d39945fPhillip Lougher########### Building LZ4 support #############
452d4c918a517cc567ca935c352e3993133d39945fPhillip Lougher#
46e2d977226c462e2d8954804e156fd95144a74accPhillip Lougher# Yann Collet's LZ4 tools are supported
47e2d977226c462e2d8954804e156fd95144a74accPhillip Lougher# LZ4 homepage: http://fastcompression.blogspot.com/p/lz4.html
48e2d977226c462e2d8954804e156fd95144a74accPhillip Lougher# LZ4 source repository: http://code.google.com/p/lz4
492d4c918a517cc567ca935c352e3993133d39945fPhillip Lougher#
50e2d977226c462e2d8954804e156fd95144a74accPhillip Lougher# To build configure the tools using cmake to build shared libraries,
51e2d977226c462e2d8954804e156fd95144a74accPhillip Lougher# install and uncomment
522d4c918a517cc567ca935c352e3993133d39945fPhillip Lougher# the LZ4_SUPPORT line below.
532d4c918a517cc567ca935c352e3993133d39945fPhillip Lougher#
543d0daf5f17b86ebad82737ef27608f7eb236f710Phillip Lougher#LZ4_SUPPORT = 1
552d4c918a517cc567ca935c352e3993133d39945fPhillip Lougher
562d4c918a517cc567ca935c352e3993133d39945fPhillip Lougher
57ea1a0906f98002a69af691fdd2456b89874bd047Phillip Lougher########### Building LZMA support #############
58ea1a0906f98002a69af691fdd2456b89874bd047Phillip Lougher#
59ea1a0906f98002a69af691fdd2456b89874bd047Phillip Lougher# LZMA1 compression.
60ea1a0906f98002a69af691fdd2456b89874bd047Phillip Lougher#
61ea1a0906f98002a69af691fdd2456b89874bd047Phillip Lougher# LZMA1 compression is deprecated, and the newer and better XZ (LZMA2)
62ea1a0906f98002a69af691fdd2456b89874bd047Phillip Lougher# compression should be used in preference.
63ea1a0906f98002a69af691fdd2456b89874bd047Phillip Lougher#
64ea1a0906f98002a69af691fdd2456b89874bd047Phillip Lougher# Both XZ Utils liblzma (http://tukaani.org/xz/) and LZMA SDK
65ea1a0906f98002a69af691fdd2456b89874bd047Phillip Lougher# (http://www.7-zip.org/sdk.html) are supported
66ea1a0906f98002a69af691fdd2456b89874bd047Phillip Lougher#
67ea1a0906f98002a69af691fdd2456b89874bd047Phillip Lougher# To build using XZ Utils liblzma - install the library and uncomment
68ea1a0906f98002a69af691fdd2456b89874bd047Phillip Lougher# the LZMA_XZ_SUPPORT line below.
69ea1a0906f98002a69af691fdd2456b89874bd047Phillip Lougher#
70ea1a0906f98002a69af691fdd2456b89874bd047Phillip Lougher# To build using the LZMA SDK (4.65 used in development, other versions may
71ea1a0906f98002a69af691fdd2456b89874bd047Phillip Lougher# work) - download and unpack it, uncomment and set LZMA_DIR to unpacked source,
72ea1a0906f98002a69af691fdd2456b89874bd047Phillip Lougher# and uncomment the LZMA_SUPPORT line below.
73ea1a0906f98002a69af691fdd2456b89874bd047Phillip Lougher#
74ea1a0906f98002a69af691fdd2456b89874bd047Phillip Lougher#LZMA_XZ_SUPPORT = 1
75ea1a0906f98002a69af691fdd2456b89874bd047Phillip Lougher#LZMA_SUPPORT = 1
76ea1a0906f98002a69af691fdd2456b89874bd047Phillip Lougher#LZMA_DIR = ../../../../LZMA/lzma465
77c801ba5494e53c5cad6c16241bdad01b3de33717plougher
78c801ba5494e53c5cad6c16241bdad01b3de33717plougher######## Specifying default compression ########
79a8775b3bd473537100867e1d985163c2484e6a1bplougher#
80a8775b3bd473537100867e1d985163c2484e6a1bplougher# The next line specifies which compression algorithm is used by default
81a8775b3bd473537100867e1d985163c2484e6a1bplougher# in Mksquashfs.  Obviously the compression algorithm must have been
82a8775b3bd473537100867e1d985163c2484e6a1bplougher# selected to be built
8376b7c832bb72020749efcef5cdc8fefffac87f25plougher#
84a8775b3bd473537100867e1d985163c2484e6a1bplougherCOMP_DEFAULT = gzip
85a8775b3bd473537100867e1d985163c2484e6a1bplougher
86a8775b3bd473537100867e1d985163c2484e6a1bplougher###############################################
87499f17fb81e40778ce611eb493d0ed5a08e99c29plougher#  Extended attribute (XATTRs) build options  #
88a8775b3bd473537100867e1d985163c2484e6a1bplougher###############################################
899e0e290195380993755420150cb1ddc66e7d3d95plougher#
909e0e290195380993755420150cb1ddc66e7d3d95plougher# Building XATTR support for Mksquashfs and Unsquashfs
919e0e290195380993755420150cb1ddc66e7d3d95plougher#
929e0e290195380993755420150cb1ddc66e7d3d95plougher# If your C library or build/target environment doesn't support XATTRs then
93a8775b3bd473537100867e1d985163c2484e6a1bplougher# comment out the next line to build Mksquashfs and Unsquashfs without XATTR
949e0e290195380993755420150cb1ddc66e7d3d95plougher# support
958d1ffcac367d75b3b83721a1e133c4b79b36026fplougherXATTR_SUPPORT = 1
96860c1f3d8aa4ba40d587382a91821bea03b023c5plougher
97df9d38a515489c2c573754ad81abd230dfd8b1f0plougher# Select whether you wish xattrs to be stored by Mksquashfs and extracted
98df9d38a515489c2c573754ad81abd230dfd8b1f0plougher# by Unsquashfs by default.  If selected users can disable xattr support by
99df9d38a515489c2c573754ad81abd230dfd8b1f0plougher# using the -no-xattrs option
100df9d38a515489c2c573754ad81abd230dfd8b1f0plougher#
101a8775b3bd473537100867e1d985163c2484e6a1bplougher# If unselected, Mksquashfs/Unsquashfs won't store and extract xattrs by
102a8775b3bd473537100867e1d985163c2484e6a1bplougher# default.  Users can enable xattrs by using the -xattrs option.
103df9d38a515489c2c573754ad81abd230dfd8b1f0plougherXATTR_DEFAULT = 1
104df9d38a515489c2c573754ad81abd230dfd8b1f0plougher
105a8775b3bd473537100867e1d985163c2484e6a1bplougher
106a8775b3bd473537100867e1d985163c2484e6a1bplougher###############################################
107a8775b3bd473537100867e1d985163c2484e6a1bplougher#        End of BUILD options section         #
108a8775b3bd473537100867e1d985163c2484e6a1bplougher###############################################
109764dab5cd71bda25bc755de08908dbbd58c1a450plougher
110bd533806b7eafbc4ceb0edc9e04360ca8df505b9plougherINCLUDEDIR = -I.
111e18aa642d82bfbaaf4ed9fe82768b618538dd78eplougherINSTALL_DIR = /usr/local/bin
112e18aa642d82bfbaaf4ed9fe82768b618538dd78eplougher
1139de84acd2fcc5992704a433c0de402fcd8a5d143Phillip LougherMKSQUASHFS_OBJS = mksquashfs.o read_fs.o action.o swap.o pseudo.o compressor.o \
1149de84acd2fcc5992704a433c0de402fcd8a5d143Phillip Lougher	sort.o progressbar.o read_file.o info.o restore.o process_fragments.o \
11571f3964ce67bf6c9eb4816872cd5db1d69d8cf28Phillip Lougher	caches-queues-lists.o
116ee76f483a300f916990895b9630cdb19c6d79020plougher
117ee76f483a300f916990895b9630cdb19c6d79020plougherUNSQUASHFS_OBJS = unsquashfs.o unsquash-1.o unsquash-2.o unsquash-3.o \
118fec0a36c9b8a2c91c2930ea57b304299490ccedfPhillip Lougher	unsquash-4.o swap.o compressor.o unsquashfs_info.o
119ee76f483a300f916990895b9630cdb19c6d79020plougher
12086b95b73413263f345878d5ce8836c38c997e1cfWolfram SangCFLAGS ?= -O2
12186b95b73413263f345878d5ce8836c38c997e1cfWolfram SangCFLAGS += $(EXTRA_CFLAGS) $(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 \
122d9f6e877c2e4a46076265c579b33bc1d8e6f116aPhillip Lougher	-D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"$(COMP_DEFAULT)\" \
12386b95b73413263f345878d5ce8836c38c997e1cfWolfram Sang	-Wall
1241f413c84d736495fd61ff05ebe52c3a01a4d95c2plougher
125f2ede5d734b13b69361a02ead8de1e1bfd7891d7plougherLIBS = -lpthread -lm
1269b984c7568d4f7e749b168edc389bb99c21c7e58Peter Korsgaardifeq ($(GZIP_SUPPORT),1)
12776b7c832bb72020749efcef5cdc8fefffac87f25plougherCFLAGS += -DGZIP_SUPPORT
12876b7c832bb72020749efcef5cdc8fefffac87f25plougherMKSQUASHFS_OBJS += gzip_wrapper.o
12976b7c832bb72020749efcef5cdc8fefffac87f25plougherUNSQUASHFS_OBJS += gzip_wrapper.o
13076b7c832bb72020749efcef5cdc8fefffac87f25plougherLIBS += -lz
1310ceb24fc944027a424347c8e880c9784852f75fdplougherCOMPRESSORS += gzip
13276b7c832bb72020749efcef5cdc8fefffac87f25plougherendif
13376b7c832bb72020749efcef5cdc8fefffac87f25plougher
1349b984c7568d4f7e749b168edc389bb99c21c7e58Peter Korsgaardifeq ($(LZMA_SUPPORT),1)
135ee76f483a300f916990895b9630cdb19c6d79020plougherLZMA_OBJS = $(LZMA_DIR)/C/Alloc.o $(LZMA_DIR)/C/LzFind.o \
136ee76f483a300f916990895b9630cdb19c6d79020plougher	$(LZMA_DIR)/C/LzmaDec.o $(LZMA_DIR)/C/LzmaEnc.o $(LZMA_DIR)/C/LzmaLib.o
137bd533806b7eafbc4ceb0edc9e04360ca8df505b9plougherINCLUDEDIR += -I$(LZMA_DIR)/C
138bd533806b7eafbc4ceb0edc9e04360ca8df505b9plougherCFLAGS += -DLZMA_SUPPORT
139bd533806b7eafbc4ceb0edc9e04360ca8df505b9plougherMKSQUASHFS_OBJS += lzma_wrapper.o $(LZMA_OBJS)
140bd533806b7eafbc4ceb0edc9e04360ca8df505b9plougherUNSQUASHFS_OBJS += lzma_wrapper.o $(LZMA_OBJS)
1410ceb24fc944027a424347c8e880c9784852f75fdplougherCOMPRESSORS += lzma
142bd533806b7eafbc4ceb0edc9e04360ca8df505b9plougherendif
1431f413c84d736495fd61ff05ebe52c3a01a4d95c2plougher
1449b984c7568d4f7e749b168edc389bb99c21c7e58Peter Korsgaardifeq ($(LZMA_XZ_SUPPORT),1)
1456b2fbe3a0dc489a167919ff518b8fc20b63e3c6fplougherCFLAGS += -DLZMA_SUPPORT
146ebdcf0ab9d3d9c6f646ceab7e10eeb096ee73983plougherMKSQUASHFS_OBJS += lzma_xz_wrapper.o
147ebdcf0ab9d3d9c6f646ceab7e10eeb096ee73983plougherUNSQUASHFS_OBJS += lzma_xz_wrapper.o
1486b2fbe3a0dc489a167919ff518b8fc20b63e3c6fplougherLIBS += -llzma
1490ceb24fc944027a424347c8e880c9784852f75fdplougherCOMPRESSORS += lzma
1506b2fbe3a0dc489a167919ff518b8fc20b63e3c6fplougherendif
1516b2fbe3a0dc489a167919ff518b8fc20b63e3c6fplougher
152d9f6e877c2e4a46076265c579b33bc1d8e6f116aPhillip Lougherifeq ($(XZ_SUPPORT),1)
15367dfce9c3751f0580633e8a33cea28bcfbefec04plougherCFLAGS += -DXZ_SUPPORT
15467dfce9c3751f0580633e8a33cea28bcfbefec04plougherMKSQUASHFS_OBJS += xz_wrapper.o
15567dfce9c3751f0580633e8a33cea28bcfbefec04plougherUNSQUASHFS_OBJS += xz_wrapper.o
15667dfce9c3751f0580633e8a33cea28bcfbefec04plougherLIBS += -llzma
15767dfce9c3751f0580633e8a33cea28bcfbefec04plougherCOMPRESSORS += xz
15867dfce9c3751f0580633e8a33cea28bcfbefec04plougherendif
15967dfce9c3751f0580633e8a33cea28bcfbefec04plougher
1609b984c7568d4f7e749b168edc389bb99c21c7e58Peter Korsgaardifeq ($(LZO_SUPPORT),1)
161c801ba5494e53c5cad6c16241bdad01b3de33717plougherCFLAGS += -DLZO_SUPPORT
162c801ba5494e53c5cad6c16241bdad01b3de33717plougherifdef LZO_DIR
163c801ba5494e53c5cad6c16241bdad01b3de33717plougherINCLUDEDIR += -I$(LZO_DIR)/include
164c801ba5494e53c5cad6c16241bdad01b3de33717plougherLZO_LIBDIR = -L$(LZO_DIR)/lib
165c801ba5494e53c5cad6c16241bdad01b3de33717plougherendif
166c801ba5494e53c5cad6c16241bdad01b3de33717plougherMKSQUASHFS_OBJS += lzo_wrapper.o
167c801ba5494e53c5cad6c16241bdad01b3de33717plougherUNSQUASHFS_OBJS += lzo_wrapper.o
168c801ba5494e53c5cad6c16241bdad01b3de33717plougherLIBS += $(LZO_LIBDIR) -llzo2
1690ceb24fc944027a424347c8e880c9784852f75fdplougherCOMPRESSORS += lzo
170c801ba5494e53c5cad6c16241bdad01b3de33717plougherendif
171c801ba5494e53c5cad6c16241bdad01b3de33717plougher
1722d4c918a517cc567ca935c352e3993133d39945fPhillip Lougherifeq ($(LZ4_SUPPORT),1)
1732d4c918a517cc567ca935c352e3993133d39945fPhillip LougherCFLAGS += -DLZ4_SUPPORT
1742d4c918a517cc567ca935c352e3993133d39945fPhillip LougherMKSQUASHFS_OBJS += lz4_wrapper.o
1752d4c918a517cc567ca935c352e3993133d39945fPhillip LougherUNSQUASHFS_OBJS += lz4_wrapper.o
1762d4c918a517cc567ca935c352e3993133d39945fPhillip LougherLIBS += -llz4
1772d4c918a517cc567ca935c352e3993133d39945fPhillip LougherCOMPRESSORS += lz4
1782d4c918a517cc567ca935c352e3993133d39945fPhillip Lougherendif
1792d4c918a517cc567ca935c352e3993133d39945fPhillip Lougher
1809b984c7568d4f7e749b168edc389bb99c21c7e58Peter Korsgaardifeq ($(XATTR_SUPPORT),1)
1819b984c7568d4f7e749b168edc389bb99c21c7e58Peter Korsgaardifeq ($(XATTR_DEFAULT),1)
182df9d38a515489c2c573754ad81abd230dfd8b1f0plougherCFLAGS += -DXATTR_SUPPORT -DXATTR_DEFAULT
183df9d38a515489c2c573754ad81abd230dfd8b1f0plougherelse
184860c1f3d8aa4ba40d587382a91821bea03b023c5plougherCFLAGS += -DXATTR_SUPPORT
185df9d38a515489c2c573754ad81abd230dfd8b1f0plougherendif
186860c1f3d8aa4ba40d587382a91821bea03b023c5plougherMKSQUASHFS_OBJS += xattr.o read_xattrs.o
187860c1f3d8aa4ba40d587382a91821bea03b023c5plougherUNSQUASHFS_OBJS += read_xattrs.o unsquashfs_xattr.o
188860c1f3d8aa4ba40d587382a91821bea03b023c5plougherendif
189860c1f3d8aa4ba40d587382a91821bea03b023c5plougher
1908109045af395896c4391fb833c1cd55eeea594cdplougher#
191445b9123906a5184e5821a84b0da385e3b4964adplougher# If LZMA_SUPPORT is specified then LZMA_DIR must be specified too
1928109045af395896c4391fb833c1cd55eeea594cdplougher#
1939b984c7568d4f7e749b168edc389bb99c21c7e58Peter Korsgaardifeq ($(LZMA_SUPPORT),1)
194d3d6b4adc0a53e8a8eb5df7567f334d798d73faeplougherifndef LZMA_DIR
1953bd9fd61336bdfe63c44debe2bd003c49cda42c4plougher$(error "LZMA_SUPPORT requires LZMA_DIR to be also defined")
1968109045af395896c4391fb833c1cd55eeea594cdplougherendif
1978109045af395896c4391fb833c1cd55eeea594cdplougherendif
1988109045af395896c4391fb833c1cd55eeea594cdplougher
1999d1f891165be9f7e6b76c4ee694bb4bb50a6b6c4plougher#
200ebdcf0ab9d3d9c6f646ceab7e10eeb096ee73983plougher# Both LZMA_XZ_SUPPORT and LZMA_SUPPORT cannot be specified
2019d1f891165be9f7e6b76c4ee694bb4bb50a6b6c4plougher#
2029b984c7568d4f7e749b168edc389bb99c21c7e58Peter Korsgaardifeq ($(LZMA_XZ_SUPPORT),1)
2039b984c7568d4f7e749b168edc389bb99c21c7e58Peter Korsgaardifeq ($(LZMA_SUPPORT),1)
204f4c143a860084e402b0a3b139bcd5520a2129fc4plougher$(error "Both LZMA_XZ_SUPPORT and LZMA_SUPPORT cannot be specified")
2059d1f891165be9f7e6b76c4ee694bb4bb50a6b6c4plougherendif
2069d1f891165be9f7e6b76c4ee694bb4bb50a6b6c4plougherendif
2079d1f891165be9f7e6b76c4ee694bb4bb50a6b6c4plougher
20827e877e01958826a5885e67bbd04aaaccb8db0a8plougher#
20927e877e01958826a5885e67bbd04aaaccb8db0a8plougher# At least one compressor must have been selected
21027e877e01958826a5885e67bbd04aaaccb8db0a8plougher#
211399d079528b83123344f3cf92975dcc2b62a3d27plougherifndef COMPRESSORS
2129bcfe5ae87d5036fe2b56a1b84f6ddd49b1ca6f6Phillip Lougher$(error "No compressor selected! Select one or more of GZIP, LZMA, XZ, LZO or \
2139bcfe5ae87d5036fe2b56a1b84f6ddd49b1ca6f6Phillip Lougher	LZ4!")
21427e877e01958826a5885e67bbd04aaaccb8db0a8plougherendif
21527e877e01958826a5885e67bbd04aaaccb8db0a8plougher
2160ceb24fc944027a424347c8e880c9784852f75fdplougher#
2170ceb24fc944027a424347c8e880c9784852f75fdplougher# COMP_DEFAULT must be a selected compressor
2180ceb24fc944027a424347c8e880c9784852f75fdplougher#
2190ceb24fc944027a424347c8e880c9784852f75fdplougherifeq (, $(findstring $(COMP_DEFAULT), $(COMPRESSORS)))
220730c52014564a33d45a41a1a9eb2ea94c547a135Phillip Lougher$(error "COMP_DEFAULT is set to ${COMP_DEFAULT}, which  isn't selected to be \
221730c52014564a33d45a41a1a9eb2ea94c547a135Phillip Lougher	built!")
2220ceb24fc944027a424347c8e880c9784852f75fdplougherendif
2230ceb24fc944027a424347c8e880c9784852f75fdplougher
2240268d5103f86a4262d79e442dd9d0e52deeb5b9bplougher.PHONY: all
225af6551e23a2b235612c4dce7467a2ab24d9cd199plougherall: mksquashfs unsquashfs
226443c15812032991c98b33b5424b17bcd55fe3575plougher
227bd533806b7eafbc4ceb0edc9e04360ca8df505b9ploughermksquashfs: $(MKSQUASHFS_OBJS)
22886b95b73413263f345878d5ce8836c38c997e1cfWolfram Sang	$(CC) $(LDFLAGS) $(EXTRA_LDFLAGS) $(MKSQUASHFS_OBJS) $(LIBS) -o $@
2291f413c84d736495fd61ff05ebe52c3a01a4d95c2plougher
230df313340ad51dd7e7b0f28a07c3582405d4ab74ePhillip Loughermksquashfs.o: Makefile mksquashfs.c squashfs_fs.h squashfs_swap.h mksquashfs.h \
231df313340ad51dd7e7b0f28a07c3582405d4ab74ePhillip Lougher	sort.h pseudo.h compressor.h xattr.h action.h error.h progressbar.h \
232df313340ad51dd7e7b0f28a07c3582405d4ab74ePhillip Lougher	info.h caches-queues-lists.h read_fs.h restore.h process_fragments.h 
2331f413c84d736495fd61ff05ebe52c3a01a4d95c2plougher
234da31f303e6e28eaf20294422429f62104f805f95Phillip Lougherread_fs.o: read_fs.c squashfs_fs.h squashfs_swap.h compressor.h xattr.h \
235da31f303e6e28eaf20294422429f62104f805f95Phillip Lougher	error.h mksquashfs.h
2361f413c84d736495fd61ff05ebe52c3a01a4d95c2plougher
237859d822862e9f520b06844de75fad193e95e05dfPhillip Loughersort.o: sort.c squashfs_fs.h mksquashfs.h sort.h error.h progressbar.h
238443c15812032991c98b33b5424b17bcd55fe3575plougher
239ee76f483a300f916990895b9630cdb19c6d79020plougherswap.o: swap.c
240db4621c2bc9b0fbcb9f99a0254b70d0b8c3df07cplougher
2418ed879bf696bd7ff6e69d0a41345c4dfc4176523Phillip Lougherpseudo.o: pseudo.c pseudo.h error.h progressbar.h
242fd958432d2d06075b04940befb54bc4334c8a0abplougher
243e3690338b99f6e6e52be40d0ed90021c323d1aaaPhillip Loughercompressor.o: Makefile compressor.c compressor.h squashfs_fs.h
2443386d995d320ecb92ed5825f1fe5f177cd26e89fplougher
24562ed43332ce68a5f6e50896ab81d69c6c256e8f1Phillip Lougherxattr.o: xattr.c squashfs_fs.h squashfs_swap.h mksquashfs.h xattr.h error.h \
24662ed43332ce68a5f6e50896ab81d69c6c256e8f1Phillip Lougher	progressbar.h
247e6e0e1bdf98ad6faa63527e5bbdd3bd5e7e97a9eplougher
24862ed43332ce68a5f6e50896ab81d69c6c256e8f1Phillip Lougherread_xattrs.o: read_xattrs.c squashfs_fs.h squashfs_swap.h xattr.h error.h
2491b129839fa96a755f011fcaf1d06adc7cd6c28d2plougher
25049d4d358f5e4c46779b6d8e1a1964f5c95bc208ePhillip Lougheraction.o: action.c squashfs_fs.h mksquashfs.h action.h error.h
2514bcb7f87d69edc99adce34232f7cb9dea84ab923Phillip Lougher
252f9920b6663f651411a7c63bd8eaec37dbd0dcc50Phillip Lougherprogressbar.o: progressbar.c error.h
2533b89ee8f79141ded7929145981c26362eeef2a26Phillip Lougher
25481070b5d4c1f62065a93b4154c460d78793785abPhillip Lougherread_file.o: read_file.c error.h
255c4b044f565ba7882e73acf6132b9d4be59690910Phillip Lougher
256046cf4db527ed4739720d04256b4dc53569dfadePhillip Lougherinfo.o: info.c squashfs_fs.h mksquashfs.h error.h progressbar.h \
257046cf4db527ed4739720d04256b4dc53569dfadePhillip Lougher	caches-queues-lists.h
25824551a8a473d7edb1835eb0f7dcf6e07e3a9d2e1Phillip Lougher
25993617e9021b7dbd3688b43eff2ac83732b025f02Phillip Lougherrestore.o: restore.c caches-queues-lists.h squashfs_fs.h mksquashfs.h error.h \
26093617e9021b7dbd3688b43eff2ac83732b025f02Phillip Lougher	progressbar.h info.h
261a709bffbaba7f61e78a3c8294405c5d5540c7e0bPhillip Lougher
2629de84acd2fcc5992704a433c0de402fcd8a5d143Phillip Lougherprocess_fragments.o: process_fragments.c process_fragments.h
2639de84acd2fcc5992704a433c0de402fcd8a5d143Phillip Lougher
2647f1042a29a5df519e093c01cdd08e242a010e129Phillip Loughercaches-queues-lists.o: caches-queues-lists.c error.h caches-queues-lists.h
26571f3964ce67bf6c9eb4816872cd5db1d69d8cf28Phillip Lougher
266448f95834da3605b933771145f6ad89003e101eePhillip Loughergzip_wrapper.o: gzip_wrapper.c squashfs_fs.h gzip_wrapper.h compressor.h
26721cc2fdbd1070ebba742cc703d850ec02b51eb72plougher
268b2270a636d1f91828944d37a82f9405bfb254268plougherlzma_wrapper.o: lzma_wrapper.c compressor.h squashfs_fs.h
269b2270a636d1f91828944d37a82f9405bfb254268plougher
27012e7325626eeb5d02c7298d0c638b1d06230f7f8plougherlzma_xz_wrapper.o: lzma_xz_wrapper.c compressor.h squashfs_fs.h
27112e7325626eeb5d02c7298d0c638b1d06230f7f8plougher
2726f272c529c3a955e858c7da1ef8d5f407a3b160dPhillip Lougherlzo_wrapper.o: lzo_wrapper.c squashfs_fs.h lzo_wrapper.h compressor.h
2736c0017874d2b7c5da2747d6cdacc3e8d33a2fd72plougher
2746ae8d670aea5ab7f71f98bf10cebf60bba2fdae8Phillip Lougherlz4_wrapper.o: lz4_wrapper.c squashfs_fs.h lz4_wrapper.h compressor.h
2752d4c918a517cc567ca935c352e3993133d39945fPhillip Lougher
276fe08f3c37817ed43e8e03e92b2790b7d9a76bfb6Phillip Lougherxz_wrapper.o: xz_wrapper.c squashfs_fs.h xz_wrapper.h compressor.h
277bb0b576ef3371964ea794236c2053e488f0514c6plougher
278bd533806b7eafbc4ceb0edc9e04360ca8df505b9plougherunsquashfs: $(UNSQUASHFS_OBJS)
27986b95b73413263f345878d5ce8836c38c997e1cfWolfram Sang	$(CC) $(LDFLAGS) $(EXTRA_LDFLAGS) $(UNSQUASHFS_OBJS) $(LIBS) -o $@
280443c15812032991c98b33b5424b17bcd55fe3575plougher
281ee76f483a300f916990895b9630cdb19c6d79020plougherunsquashfs.o: unsquashfs.h unsquashfs.c squashfs_fs.h squashfs_swap.h \
282ed76c8571b641f23f9cc2df1a978f185caea8b8cplougher	squashfs_compat.h xattr.h read_fs.h compressor.h
283e18aa642d82bfbaaf4ed9fe82768b618538dd78eplougher
284ed76c8571b641f23f9cc2df1a978f185caea8b8cplougherunsquash-1.o: unsquashfs.h unsquash-1.c squashfs_fs.h squashfs_compat.h
285eb32ff41ec7a370002a1ec5ebb48debdc7a18499plougher
286ed76c8571b641f23f9cc2df1a978f185caea8b8cplougherunsquash-2.o: unsquashfs.h unsquash-2.c squashfs_fs.h squashfs_compat.h
287eb32ff41ec7a370002a1ec5ebb48debdc7a18499plougher
288ed76c8571b641f23f9cc2df1a978f185caea8b8cplougherunsquash-3.o: unsquashfs.h unsquash-3.c squashfs_fs.h squashfs_compat.h
289eb32ff41ec7a370002a1ec5ebb48debdc7a18499plougher
290ee76f483a300f916990895b9630cdb19c6d79020plougherunsquash-4.o: unsquashfs.h unsquash-4.c squashfs_fs.h squashfs_swap.h \
291ed76c8571b641f23f9cc2df1a978f185caea8b8cplougher	read_fs.h
292ed76c8571b641f23f9cc2df1a978f185caea8b8cplougher
293ed76c8571b641f23f9cc2df1a978f185caea8b8cplougherunsquashfs_xattr.o: unsquashfs_xattr.c unsquashfs.h squashfs_fs.h xattr.h
294f81c7dc64b0d0321629805e1752ce0a755c685a7plougher
295fec0a36c9b8a2c91c2930ea57b304299490ccedfPhillip Lougherunsquashfs_info.o: unsquashfs.h squashfs_fs.h
296860c1f3d8aa4ba40d587382a91821bea03b023c5plougher
2970268d5103f86a4262d79e442dd9d0e52deeb5b9bplougher.PHONY: clean
298e18aa642d82bfbaaf4ed9fe82768b618538dd78eplougherclean:
299e18aa642d82bfbaaf4ed9fe82768b618538dd78eplougher	-rm -f *.o mksquashfs unsquashfs
300e18aa642d82bfbaaf4ed9fe82768b618538dd78eplougher
3010268d5103f86a4262d79e442dd9d0e52deeb5b9bplougher.PHONY: install
302f709418a42fb016e284d43611febe4e582d8d528plougherinstall: mksquashfs unsquashfs
303e18aa642d82bfbaaf4ed9fe82768b618538dd78eplougher	mkdir -p $(INSTALL_DIR)
304e18aa642d82bfbaaf4ed9fe82768b618538dd78eplougher	cp mksquashfs $(INSTALL_DIR)
305f709418a42fb016e284d43611febe4e582d8d528plougher	cp unsquashfs $(INSTALL_DIR)
306