Synchronous libarchive to 2.2.4 from FreeBSD, including fixes related to
[dragonfly.git] / lib / libarchive / Makefile
1 # $FreeBSD: src/lib/libarchive/Makefile,v 1.50 2006/09/05 05:59:45 kientzle Exp $
2 # $DragonFly: src/lib/libarchive/Makefile,v 1.14 2007/07/13 06:59:34 dillon Exp $
3
4 LIB=    archive
5
6 CONTRIBDIR=     ${.CURDIR}/../../contrib/libarchive-2/libarchive
7 .PATH: ${CONTRIBDIR}
8
9 VERSION!=       cat ${CONTRIBDIR}/../version
10 ARCHIVE_API_MAJOR!=     echo ${VERSION} | sed -e 's/[^0-9]/./g' -e 's/\..*//'
11 ARCHIVE_API_MINOR!=     echo ${VERSION} | sed -e 's/[^0-9]/./g' -e 's/[0-9]*\.//' -e 's/\..*//'
12 ARCHIVE_API_REV!=       echo ${VERSION} | sed -e 's/[^0-9]/./g' -e 's/.*\.//'
13 # Can't use /usr/bin/printf to format the version stamp here, because
14 # that's not available during installworld.  Fortunately, awk is.
15 ARCHIVE_VERSION_STAMP!= echo ${ARCHIVE_API_MAJOR} ${ARCHIVE_API_MINOR} ${ARCHIVE_API_REV} | awk '{printf("%d%03d%03d",$$1,$$2,$$3)}'
16
17 SHLIB_MAJOR=    5
18 CFLAGS+=        -DPLATFORM_CONFIG_H=\"config.h\"
19 CFLAGS+=        -DPACKAGE_STRING=\"libarchive\ ${VERSION}\"
20 CFLAGS+=        -DPACKAGE_VERSION=\"${VERSION}\"
21 CFLAGS+=        -DVERSION=\"${VERSION}\"
22 CFLAGS+=        -I${.OBJDIR} -I${.CURDIR} -I${CONTRIBDIR} -I-
23 WARNS?= 6
24
25 INCS=   archive.h archive_entry.h
26
27 # Note: archive.h does need to be listed here, since it's built
28 SRCS=   archive.h                                       \
29         archive_check_magic.c                           \
30         archive_entry.c                                 \
31         archive_entry_copy_stat.c                       \
32         archive_entry_stat.c                            \
33         archive_read.c                                  \
34         archive_read_data_into_fd.c                     \
35         archive_read_extract.c                          \
36         archive_read_open_fd.c                          \
37         archive_read_open_file.c                        \
38         archive_read_open_filename.c                    \
39         archive_read_open_memory.c                      \
40         archive_read_support_compression_all.c          \
41         archive_read_support_compression_bzip2.c        \
42         archive_read_support_compression_compress.c     \
43         archive_read_support_compression_gzip.c         \
44         archive_read_support_compression_none.c         \
45         archive_read_support_compression_program.c      \
46         archive_read_support_format_all.c               \
47         archive_read_support_format_ar.c                \
48         archive_read_support_format_cpio.c              \
49         archive_read_support_format_empty.c             \
50         archive_read_support_format_iso9660.c           \
51         archive_read_support_format_tar.c               \
52         archive_read_support_format_zip.c               \
53         archive_string.c                                \
54         archive_string_sprintf.c                        \
55         archive_util.c                                  \
56         archive_virtual.c                               \
57         archive_write.c                                 \
58         archive_write_disk.c                            \
59         archive_write_disk_set_standard_lookup.c        \
60         archive_write_open_fd.c                         \
61         archive_write_open_file.c                       \
62         archive_write_open_filename.c                   \
63         archive_write_open_memory.c                     \
64         archive_write_set_compression_bzip2.c           \
65         archive_write_set_compression_gzip.c            \
66         archive_write_set_compression_none.c            \
67         archive_write_set_compression_program.c         \
68         archive_write_set_format.c                      \
69         archive_write_set_format_ar.c                   \
70         archive_write_set_format_by_name.c              \
71         archive_write_set_format_cpio.c                 \
72         archive_write_set_format_cpio_newc.c            \
73         archive_write_set_format_pax.c                  \
74         archive_write_set_format_shar.c                 \
75         archive_write_set_format_ustar.c                \
76         filter_fork.c
77
78 MAN=    archive_entry.3                                 \
79         archive_read.3                                  \
80         archive_util.3                                  \
81         archive_write.3                                 \
82         archive_write_disk.3                            \
83         libarchive.3                                    \
84         libarchive-formats.5                            \
85         libarchive_internals.3                          \
86         tar.5
87
88 MLINKS+=        archive_entry.3 archive_entry_acl_add_entry.3
89 MLINKS+=        archive_entry.3 archive_entry_acl_add_entry_w.3
90 MLINKS+=        archive_entry.3 archive_entry_acl_clear.3
91 MLINKS+=        archive_entry.3 archive_entry_acl_count.3
92 MLINKS+=        archive_entry.3 archive_entry_acl_next.3
93 MLINKS+=        archive_entry.3 archive_entry_acl_next_w.3
94 MLINKS+=        archive_entry.3 archive_entry_acl_reset.3
95 MLINKS+=        archive_entry.3 archive_entry_acl_text_w.3
96 MLINKS+=        archive_entry.3 archive_entry_atime.3
97 MLINKS+=        archive_entry.3 archive_entry_atime_nsec.3
98 MLINKS+=        archive_entry.3 archive_entry_clear.3
99 MLINKS+=        archive_entry.3 archive_entry_clone.3
100 MLINKS+=        archive_entry.3 archive_entry_copy_fflags_text_w.3
101 MLINKS+=        archive_entry.3 archive_entry_copy_gname_w.3
102 MLINKS+=        archive_entry.3 archive_entry_copy_hardlink.3
103 MLINKS+=        archive_entry.3 archive_entry_copy_hardlink_w.3
104 MLINKS+=        archive_entry.3 archive_entry_copy_pathname_w.3
105 MLINKS+=        archive_entry.3 archive_entry_copy_stat.3
106 MLINKS+=        archive_entry.3 archive_entry_copy_symlink.3
107 MLINKS+=        archive_entry.3 archive_entry_copy_symlink_w.3
108 MLINKS+=        archive_entry.3 archive_entry_copy_uname_w.3
109 MLINKS+=        archive_entry.3 archive_entry_dev.3
110 MLINKS+=        archive_entry.3 archive_entry_devmajor.3
111 MLINKS+=        archive_entry.3 archive_entry_devminor.3
112 MLINKS+=        archive_entry.3 archive_entry_filetype.3
113 MLINKS+=        archive_entry.3 archive_entry_fflags.3
114 MLINKS+=        archive_entry.3 archive_entry_fflags_text.3
115 MLINKS+=        archive_entry.3 archive_entry_free.3
116 MLINKS+=        archive_entry.3 archive_entry_gid.3
117 MLINKS+=        archive_entry.3 archive_entry_gname.3
118 MLINKS+=        archive_entry.3 archive_entry_hardlink.3
119 MLINKS+=        archive_entry.3 archive_entry_ino.3
120 MLINKS+=        archive_entry.3 archive_entry_mode.3
121 MLINKS+=        archive_entry.3 archive_entry_mtime.3
122 MLINKS+=        archive_entry.3 archive_entry_mtime_nsec.3
123 MLINKS+=        archive_entry.3 archive_entry_new.3
124 MLINKS+=        archive_entry.3 archive_entry_nlink.3
125 MLINKS+=        archive_entry.3 archive_entry_pathname.3
126 MLINKS+=        archive_entry.3 archive_entry_pathname_w.3
127 MLINKS+=        archive_entry.3 archive_entry_rdev.3
128 MLINKS+=        archive_entry.3 archive_entry_rdevmajor.3
129 MLINKS+=        archive_entry.3 archive_entry_rdevminor.3
130 MLINKS+=        archive_entry.3 archive_entry_set_atime.3
131 MLINKS+=        archive_entry.3 archive_entry_set_ctime.3
132 MLINKS+=        archive_entry.3 archive_entry_set_dev.3
133 MLINKS+=        archive_entry.3 archive_entry_set_devmajor.3
134 MLINKS+=        archive_entry.3 archive_entry_set_devminor.3
135 MLINKS+=        archive_entry.3 archive_entry_set_filetype.3
136 MLINKS+=        archive_entry.3 archive_entry_set_fflags.3
137 MLINKS+=        archive_entry.3 archive_entry_set_gid.3
138 MLINKS+=        archive_entry.3 archive_entry_set_gname.3
139 MLINKS+=        archive_entry.3 archive_entry_set_hardlink.3
140 MLINKS+=        archive_entry.3 archive_entry_set_link.3
141 MLINKS+=        archive_entry.3 archive_entry_set_mode.3
142 MLINKS+=        archive_entry.3 archive_entry_set_mtime.3
143 MLINKS+=        archive_entry.3 archive_entry_set_pathname.3
144 MLINKS+=        archive_entry.3 archive_entry_set_rdevmajor.3
145 MLINKS+=        archive_entry.3 archive_entry_set_rdevminor.3
146 MLINKS+=        archive_entry.3 archive_entry_set_size.3
147 MLINKS+=        archive_entry.3 archive_entry_set_symlink.3
148 MLINKS+=        archive_entry.3 archive_entry_set_uid.3
149 MLINKS+=        archive_entry.3 archive_entry_set_uname.3
150 MLINKS+=        archive_entry.3 archive_entry_size.3
151 MLINKS+=        archive_entry.3 archive_entry_stat.3
152 MLINKS+=        archive_entry.3 archive_entry_symlink.3
153 MLINKS+=        archive_entry.3 archive_entry_uid.3
154 MLINKS+=        archive_entry.3 archive_entry_uname.3
155 MLINKS+=        archive_read.3 archive_read_close.3
156 MLINKS+=        archive_read.3 archive_read_data.3
157 MLINKS+=        archive_read.3 archive_read_data_block.3
158 MLINKS+=        archive_read.3 archive_read_data_into_buffer.3
159 MLINKS+=        archive_read.3 archive_read_data_into_fd.3
160 MLINKS+=        archive_read.3 archive_read_data_skip.3
161 MLINKS+=        archive_read.3 archive_read_extract.3
162 MLINKS+=        archive_read.3 archive_read_extract_set_progress_callback.3
163 MLINKS+=        archive_read.3 archive_read_finish.3
164 MLINKS+=        archive_read.3 archive_read_new.3
165 MLINKS+=        archive_read.3 archive_read_next_header.3
166 MLINKS+=        archive_read.3 archive_read_open.3
167 MLINKS+=        archive_read.3 archive_read_open2.3
168 MLINKS+=        archive_read.3 archive_read_open_FILE.3
169 MLINKS+=        archive_read.3 archive_read_open_fd.3
170 MLINKS+=        archive_read.3 archive_read_open_filename.3
171 MLINKS+=        archive_read.3 archive_read_open_memory.3
172 MLINKS+=        archive_read.3 archive_read_support_compression_all.3
173 MLINKS+=        archive_read.3 archive_read_support_compression_bzip2.3
174 MLINKS+=        archive_read.3 archive_read_support_compression_compress.3
175 MLINKS+=        archive_read.3 archive_read_support_compression_gzip.3
176 MLINKS+=        archive_read.3 archive_read_support_compression_none.3
177 MLINKS+=        archive_read.3 archive_read_support_compression_program.3
178 MLINKS+=        archive_read.3 archive_read_support_format_all.3
179 MLINKS+=        archive_read.3 archive_read_support_format_cpio.3
180 MLINKS+=        archive_read.3 archive_read_support_format_empty.3
181 MLINKS+=        archive_read.3 archive_read_support_format_iso9660.3
182 MLINKS+=        archive_read.3 archive_read_support_format_tar.3
183 MLINKS+=        archive_read.3 archive_read_support_format_zip.3
184 MLINKS+=        archive_util.3 archive_clear_error.3
185 MLINKS+=        archive_util.3 archive_compression.3
186 MLINKS+=        archive_util.3 archive_compression_name.3
187 MLINKS+=        archive_util.3 archive_errno.3
188 MLINKS+=        archive_util.3 archive_error_string.3
189 MLINKS+=        archive_util.3 archive_format.3
190 MLINKS+=        archive_util.3 archive_format_name.3
191 MLINKS+=        archive_util.3 archive_set_error.3
192 MLINKS+=        archive_write.3 archive_write_close.3
193 MLINKS+=        archive_write.3 archive_write_data.3
194 MLINKS+=        archive_write.3 archive_write_finish.3
195 MLINKS+=        archive_write.3 archive_write_finish_entry.3
196 MLINKS+=        archive_write.3 archive_write_get_bytes_per_block.3
197 MLINKS+=        archive_write.3 archive_write_header.3
198 MLINKS+=        archive_write.3 archive_write_new.3
199 MLINKS+=        archive_write.3 archive_write_open.3
200 MLINKS+=        archive_write.3 archive_write_open_FILE.3
201 MLINKS+=        archive_write.3 archive_write_open_fd.3
202 MLINKS+=        archive_write.3 archive_write_open_filename.3
203 MLINKS+=        archive_write.3 archive_write_open_memory.3
204 MLINKS+=        archive_write.3 archive_write_set_bytes_in_last_block.3
205 MLINKS+=        archive_write.3 archive_write_set_bytes_per_block.3
206 MLINKS+=        archive_write.3 archive_write_set_compression_bzip2.3
207 MLINKS+=        archive_write.3 archive_write_set_compression_gzip.3
208 MLINKS+=        archive_write.3 archive_write_set_compression_none.3
209 MLINKS+=        archive_write.3 archive_write_set_compression_program.3
210 MLINKS+=        archive_write.3 archive_write_set_format_cpio.3
211 MLINKS+=        archive_write.3 archive_write_set_format_pax.3
212 MLINKS+=        archive_write.3 archive_write_set_format_pax_restricted.3
213 MLINKS+=        archive_write.3 archive_write_set_format_shar.3
214 MLINKS+=        archive_write.3 archive_write_set_format_shar_binary.3
215 MLINKS+=        archive_write.3 archive_write_set_format_ustar.3
216 MLINKS+=        archive_write_disk.3 archive_write_disk_close.3
217 MLINKS+=        archive_write_disk.3 archive_write_disk_data.3
218 MLINKS+=        archive_write_disk.3 archive_write_disk_finish.3
219 MLINKS+=        archive_write_disk.3 archive_write_disk_finish_entry.3
220 MLINKS+=        archive_write_disk.3 archive_write_disk_header.3
221 MLINKS+=        archive_write_disk.3 archive_write_disk_new.3
222 MLINKS+=        archive_write_disk.3 archive_write_disk_set_group_lookup.3
223 MLINKS+=        archive_write_disk.3 archive_write_disk_set_options.3
224 MLINKS+=        archive_write_disk.3 archive_write_disk_set_skip_file.3
225 MLINKS+=        archive_write_disk.3 archive_write_disk_set_standard_lookup.3
226 MLINKS+=        archive_write_disk.3 archive_write_disk_set_user_lookup.3
227 MLINKS+=        libarchive.3 archive.3
228
229 # Build archive.h from archive.h.in
230 archive.h:      archive.h.in Makefile
231         cat ${CONTRIBDIR}/archive.h.in |                                \
232                 sed 's/@ARCHIVE_VERSION@/${VERSION}/g' |                \
233                 sed 's/@SHLIB_MAJOR@/${SHLIB_MAJOR}/g' |                \
234                 sed 's/@ARCHIVE_API_MAJOR@/${ARCHIVE_API_MAJOR}/g' |    \
235                 sed 's/@ARCHIVE_API_MINOR@/${ARCHIVE_API_MINOR}/g' |    \
236                 sed 's/@ARCHIVE_VERSION_STAMP@/${ARCHIVE_VERSION_STAMP}/g' | \
237                 sed 's|@ARCHIVE_H_INCLUDE_INTTYPES_H@|#include <inttypes.h>  /* For int64_t */|g' |                     \
238                 cat > archive.h
239
240 # archive.h needs to be cleaned
241 CLEANFILES+=    archive.h
242
243 .include <bsd.lib.mk>