xref: /freebsd/lib/libarchive/Makefile (revision a7623790fb345e6dc986dfd31df0ace115e6f2e4)
1# $FreeBSD$
2.include <src.opts.mk>
3
4PACKAGE=lib${LIB}
5_LIBARCHIVEDIR=	${SRCTOP}/contrib/libarchive
6
7LIB=	archive
8
9# FreeBSD SHLIB_MAJOR value is managed as part of the FreeBSD system.
10# It has no real relation to the libarchive version number.
11SHLIB_MAJOR= 7
12
13CFLAGS+=	-I${.OBJDIR}
14CFLAGS+=	-I${SRCTOP}/sys/contrib/zstd/lib
15.include "Makefile.inc"
16
17.if ${MACHINE_ARCH:Marm*} != "" || ${MACHINE_ARCH:Mmips*} != "" || \
18	${MACHINE_ARCH:Mpowerpc*} != ""
19NO_WCAST_ALIGN=	yes
20.if ${MACHINE_ARCH:M*64*} == ""
21CFLAGS+=	-DPPMD_32BIT
22.endif
23.endif
24NO_WCAST_ALIGN.clang=
25
26.PATH: ${_LIBARCHIVEDIR}/libarchive
27
28# Headers to be installed in /usr/include
29INCS=	archive.h archive_entry.h
30
31# Sources to be compiled.
32SRCS=	archive_acl.c					\
33	archive_blake2sp_ref.c				\
34	archive_blake2s_ref.c				\
35	archive_check_magic.c				\
36	archive_cmdline.c				\
37	archive_cryptor.c				\
38	archive_disk_acl_freebsd.c			\
39	archive_digest.c				\
40	archive_entry.c					\
41	archive_entry_copy_stat.c			\
42	archive_entry_link_resolver.c			\
43	archive_entry_sparse.c				\
44	archive_entry_stat.c				\
45	archive_entry_strmode.c				\
46	archive_entry_xattr.c				\
47	archive_getdate.c				\
48	archive_hmac.c					\
49	archive_match.c					\
50	archive_options.c				\
51	archive_pack_dev.c				\
52	archive_pathmatch.c				\
53	archive_ppmd7.c					\
54	archive_ppmd8.c					\
55	archive_random.c				\
56	archive_rb.c					\
57	archive_read.c					\
58	archive_read_add_passphrase.c			\
59	archive_read_append_filter.c			\
60	archive_read_data_into_fd.c			\
61	archive_read_disk_entry_from_file.c		\
62	archive_read_disk_posix.c			\
63	archive_read_disk_set_standard_lookup.c		\
64	archive_read_extract.c				\
65	archive_read_extract2.c				\
66	archive_read_open_fd.c				\
67	archive_read_open_file.c			\
68	archive_read_open_filename.c			\
69	archive_read_open_memory.c			\
70	archive_read_set_format.c			\
71	archive_read_set_options.c			\
72	archive_read_support_filter_all.c		\
73	archive_read_support_filter_bzip2.c		\
74	archive_read_support_filter_compress.c		\
75	archive_read_support_filter_gzip.c		\
76	archive_read_support_filter_grzip.c		\
77	archive_read_support_filter_lrzip.c		\
78	archive_read_support_filter_lz4.c		\
79	archive_read_support_filter_lzop.c		\
80	archive_read_support_filter_none.c		\
81	archive_read_support_filter_program.c		\
82	archive_read_support_filter_rpm.c		\
83	archive_read_support_filter_uu.c		\
84	archive_read_support_filter_xz.c		\
85	archive_read_support_filter_zstd.c		\
86	archive_read_support_format_7zip.c		\
87	archive_read_support_format_all.c		\
88	archive_read_support_format_ar.c		\
89	archive_read_support_format_by_code.c		\
90	archive_read_support_format_cab.c		\
91	archive_read_support_format_cpio.c		\
92	archive_read_support_format_empty.c		\
93	archive_read_support_format_iso9660.c		\
94	archive_read_support_format_lha.c		\
95	archive_read_support_format_mtree.c		\
96	archive_read_support_format_rar.c		\
97	archive_read_support_format_rar5.c		\
98	archive_read_support_format_raw.c		\
99	archive_read_support_format_tar.c		\
100	archive_read_support_format_warc.c		\
101	archive_read_support_format_xar.c		\
102	archive_read_support_format_zip.c		\
103	archive_string.c				\
104	archive_string_sprintf.c			\
105	archive_util.c					\
106	archive_version_details.c			\
107	archive_virtual.c				\
108	archive_write.c					\
109	archive_write_add_filter.c			\
110	archive_write_disk_set_standard_lookup.c	\
111	archive_write_disk_posix.c			\
112	archive_write_open_fd.c				\
113	archive_write_open_file.c			\
114	archive_write_open_filename.c			\
115	archive_write_open_memory.c			\
116	archive_write_add_filter_b64encode.c		\
117	archive_write_add_filter_by_name.c		\
118	archive_write_add_filter_bzip2.c		\
119	archive_write_add_filter_compress.c		\
120	archive_write_add_filter_grzip.c		\
121	archive_write_add_filter_gzip.c			\
122	archive_write_add_filter_lrzip.c		\
123	archive_write_add_filter_lz4.c			\
124	archive_write_add_filter_lzop.c			\
125	archive_write_add_filter_none.c			\
126	archive_write_add_filter_program.c		\
127	archive_write_add_filter_uuencode.c		\
128	archive_write_add_filter_xz.c			\
129	archive_write_add_filter_zstd.c			\
130	archive_write_set_format.c			\
131	archive_write_set_format_7zip.c			\
132	archive_write_set_format_ar.c			\
133	archive_write_set_format_by_name.c		\
134	archive_write_set_format_cpio.c			\
135	archive_write_set_format_cpio_newc.c		\
136	archive_write_set_format_filter_by_ext.c	\
137	archive_write_set_format_gnutar.c		\
138	archive_write_set_format_iso9660.c		\
139	archive_write_set_format_mtree.c		\
140	archive_write_set_format_pax.c			\
141	archive_write_set_format_raw.c			\
142	archive_write_set_format_shar.c			\
143	archive_write_set_format_ustar.c		\
144	archive_write_set_format_v7tar.c		\
145	archive_write_set_format_warc.c			\
146	archive_write_set_format_xar.c			\
147	archive_write_set_format_zip.c			\
148	archive_write_set_passphrase.c			\
149	archive_write_set_options.c			\
150	filter_fork_posix.c
151
152# Man pages to be installed.
153MAN=	archive_entry.3					\
154	archive_entry_acl.3				\
155	archive_entry_linkify.3				\
156	archive_entry_misc.3				\
157	archive_entry_paths.3				\
158	archive_entry_perms.3				\
159	archive_entry_stat.3				\
160	archive_entry_time.3				\
161	archive_read.3					\
162	archive_read_data.3				\
163	archive_read_disk.3				\
164	archive_read_extract.3				\
165	archive_read_filter.3				\
166	archive_read_format.3				\
167	archive_read_free.3				\
168	archive_read_header.3				\
169	archive_read_new.3				\
170	archive_read_open.3				\
171	archive_read_set_options.3			\
172	archive_util.3					\
173	archive_write.3					\
174	archive_write_blocksize.3			\
175	archive_write_data.3				\
176	archive_write_disk.3				\
177	archive_write_filter.3				\
178	archive_write_finish_entry.3			\
179	archive_write_format.3				\
180	archive_write_free.3				\
181	archive_write_header.3				\
182	archive_write_new.3				\
183	archive_write_open.3				\
184	archive_write_set_options.3			\
185	cpio.5						\
186	libarchive.3					\
187	libarchive_changes.3				\
188	libarchive_internals.3				\
189	libarchive-formats.5				\
190	tar.5
191
192# Symlink the man pages under each function name.
193MLINKS+=	archive_entry.3 archive_entry_clear.3
194MLINKS+=	archive_entry.3 archive_entry_clone.3
195MLINKS+=	archive_entry.3 archive_entry_free.3
196MLINKS+=	archive_entry.3 archive_entry_new.3
197MLINKS+=	archive_entry_acl.3 archive_entry_acl_add_entry.3
198MLINKS+=	archive_entry_acl.3 archive_entry_acl_add_entry_w.3
199MLINKS+=	archive_entry_acl.3 archive_entry_acl_clear.3
200MLINKS+=	archive_entry_acl.3 archive_entry_acl_count.3
201MLINKS+=	archive_entry_acl.3 archive_entry_acl_next.3
202MLINKS+=	archive_entry_acl.3 archive_entry_acl_next_w.3
203MLINKS+=	archive_entry_acl.3 archive_entry_acl_reset.3
204MLINKS+=	archive_entry_acl.3 archive_entry_acl_text_w.3
205MLINKS+=	archive_entry_linkify.3 archive_entry_linkresolver.3
206MLINKS+=	archive_entry_linkify.3 archive_entry_linkresolver_new.3
207MLINKS+=	archive_entry_linkify.3 archive_entry_linkresolver_set_strategy.3
208MLINKS+=	archive_entry_linkify.3 archive_entry_linkresolver_free.3
209MLINKS+=	archive_entry_paths.3 archive_entry_copy_hardlink.3
210MLINKS+=	archive_entry_paths.3 archive_entry_copy_hardlink_w.3
211MLINKS+=	archive_entry_paths.3 archive_entry_copy_link.3
212MLINKS+=	archive_entry_paths.3 archive_entry_copy_link_w.3
213MLINKS+=	archive_entry_paths.3 archive_entry_copy_pathname.3
214MLINKS+=	archive_entry_paths.3 archive_entry_copy_pathname_w.3
215MLINKS+=	archive_entry_paths.3 archive_entry_copy_sourcepath.3
216MLINKS+=	archive_entry_paths.3 archive_entry_copy_symlink.3
217MLINKS+=	archive_entry_paths.3 archive_entry_copy_symlink_w.3
218MLINKS+=	archive_entry_paths.3 archive_entry_hardlink.3
219MLINKS+=	archive_entry_paths.3 archive_entry_hardlink_w.3
220MLINKS+=	archive_entry_paths.3 archive_entry_pathname.3
221MLINKS+=	archive_entry_paths.3 archive_entry_pathname_w.3
222MLINKS+=	archive_entry_paths.3 archive_entry_set_hardlink.3
223MLINKS+=	archive_entry_paths.3 archive_entry_set_link.3
224MLINKS+=	archive_entry_paths.3 archive_entry_set_pathname.3
225MLINKS+=	archive_entry_paths.3 archive_entry_set_symlink.3
226MLINKS+=	archive_entry_paths.3 archive_entry_symlink.3
227MLINKS+=	archive_entry_paths.3 archive_entry_symlink_w.3
228MLINKS+=	archive_entry_paths.3 archive_entry_update_symlink_utf8.3
229MLINKS+=	archive_entry_paths.3 archive_entry_update_hardlink_utf8.3
230MLINKS+=	archive_entry_perms.3 archive_entry_copy_fflags_text.3
231MLINKS+=	archive_entry_perms.3 archive_entry_copy_fflags_text_w.3
232MLINKS+=	archive_entry_perms.3 archive_entry_copy_gname.3
233MLINKS+=	archive_entry_perms.3 archive_entry_copy_gname_w.3
234MLINKS+=	archive_entry_perms.3 archive_entry_copy_uname.3
235MLINKS+=	archive_entry_perms.3 archive_entry_copy_uname_w.3
236MLINKS+=	archive_entry_perms.3 archive_entry_fflags.3
237MLINKS+=	archive_entry_perms.3 archive_entry_fflags_text.3
238MLINKS+=	archive_entry_perms.3 archive_entry_gid.3
239MLINKS+=	archive_entry_perms.3 archive_entry_gname.3
240MLINKS+=	archive_entry_perms.3 archive_entry_gname_w.3
241MLINKS+=	archive_entry_perms.3 archive_entry_set_fflags.3
242MLINKS+=	archive_entry_perms.3 archive_entry_set_gid.3
243MLINKS+=	archive_entry_perms.3 archive_entry_set_gname.3
244MLINKS+=	archive_entry_perms.3 archive_entry_perm.3
245MLINKS+=	archive_entry_perms.3 archive_entry_set_perm.3
246MLINKS+=	archive_entry_perms.3 archive_entry_set_uid.3
247MLINKS+=	archive_entry_perms.3 archive_entry_set_uname.3
248MLINKS+=	archive_entry_perms.3 archive_entry_strmode.3
249MLINKS+=	archive_entry_perms.3 archive_entry_uid.3
250MLINKS+=	archive_entry_perms.3 archive_entry_uname.3
251MLINKS+=	archive_entry_perms.3 archive_entry_uname_w.3
252MLINKS+=	archive_entry_perms.3 archive_entry_update_gname_utf8.3
253MLINKS+=	archive_entry_perms.3 archive_entry_update_uname_utf8.3
254MLINKS+=	archive_entry_stat.3 archive_entry_copy_stat.3
255MLINKS+=	archive_entry_stat.3 archive_entry_dev.3
256MLINKS+=	archive_entry_stat.3 archive_entry_dev_is_set.3
257MLINKS+=	archive_entry_stat.3 archive_entry_devmajor.3
258MLINKS+=	archive_entry_stat.3 archive_entry_devminor.3
259MLINKS+=	archive_entry_stat.3 archive_entry_filetype.3
260MLINKS+=	archive_entry_stat.3 archive_entry_ino.3
261MLINKS+=	archive_entry_stat.3 archive_entry_ino64.3
262MLINKS+=	archive_entry_stat.3 archive_entry_ino_is_set.3
263MLINKS+=	archive_entry_stat.3 archive_entry_mode.3
264MLINKS+=	archive_entry_stat.3 archive_entry_nlink.3
265MLINKS+=	archive_entry_stat.3 archive_entry_rdev.3
266MLINKS+=	archive_entry_stat.3 archive_entry_rdevmajor.3
267MLINKS+=	archive_entry_stat.3 archive_entry_rdevminor.3
268MLINKS+=	archive_entry_stat.3 archive_entry_set_dev.3
269MLINKS+=	archive_entry_stat.3 archive_entry_set_devmajor.3
270MLINKS+=	archive_entry_stat.3 archive_entry_set_devminor.3
271MLINKS+=	archive_entry_stat.3 archive_entry_set_filetype.3
272MLINKS+=	archive_entry_stat.3 archive_entry_set_ino.3
273MLINKS+=	archive_entry_stat.3 archive_entry_set_ino64.3
274MLINKS+=	archive_entry_stat.3 archive_entry_set_mode.3
275MLINKS+=	archive_entry_stat.3 archive_entry_set_nlink.3
276MLINKS+=	archive_entry_stat.3 archive_entry_set_rdev.3
277MLINKS+=	archive_entry_stat.3 archive_entry_set_rdevmajor.3
278MLINKS+=	archive_entry_stat.3 archive_entry_set_rdevminor.3
279MLINKS+=	archive_entry_stat.3 archive_entry_set_size.3
280MLINKS+=	archive_entry_stat.3 archive_entry_size.3
281MLINKS+=	archive_entry_stat.3 archive_entry_size_is_set.3
282MLINKS+=	archive_entry_stat.3 archive_entry_unset_size.3
283MLINKS+=	archive_entry_time.3 archive_entry_atime.3
284MLINKS+=	archive_entry_time.3 archive_entry_atime_is_set.3
285MLINKS+=	archive_entry_time.3 archive_entry_atime_nsec.3
286MLINKS+=	archive_entry_time.3 archive_entry_birthtime.3
287MLINKS+=	archive_entry_time.3 archive_entry_birthtime_is_set.3
288MLINKS+=	archive_entry_time.3 archive_entry_birthtime_nsec.3
289MLINKS+=	archive_entry_time.3 archive_entry_ctime.3
290MLINKS+=	archive_entry_time.3 archive_entry_ctime_is_set.3
291MLINKS+=	archive_entry_time.3 archive_entry_ctime_nsec.3
292MLINKS+=	archive_entry_time.3 archive_entry_mtime.3
293MLINKS+=	archive_entry_time.3 archive_entry_mtime_is_set.3
294MLINKS+=	archive_entry_time.3 archive_entry_mtime_nsec.3
295MLINKS+=	archive_entry_time.3 archive_entry_set_atime.3
296MLINKS+=	archive_entry_time.3 archive_entry_set_birthtime.3
297MLINKS+=	archive_entry_time.3 archive_entry_set_ctime.3
298MLINKS+=	archive_entry_time.3 archive_entry_set_mtime.3
299MLINKS+=	archive_entry_time.3 archive_entry_unset_atime.3
300MLINKS+=	archive_entry_time.3 archive_entry_unset_birthtime.3
301MLINKS+=	archive_entry_time.3 archive_entry_unset_ctime.3
302MLINKS+=	archive_entry_time.3 archive_entry_unset_mtime.3
303MLINKS+=	archive_read_data.3 archive_read_data_block.3
304MLINKS+=	archive_read_data.3 archive_read_data_into_fd.3
305MLINKS+=	archive_read_data.3 archive_read_data_skip.3
306MLINKS+=	archive_read_header.3 archive_read_next_header.3
307MLINKS+=	archive_read_header.3 archive_read_next_header2.3
308MLINKS+=	archive_read_extract.3 archive_read_extract2.3
309MLINKS+=	archive_read_extract.3 archive_read_extract_set_progress_callback.3
310MLINKS+=	archive_read_extract.3 archive_read_extract_set_skip_file.3
311MLINKS+=	archive_read_open.3 archive_read_open2.3
312MLINKS+=	archive_read_open.3 archive_read_open_FILE.3
313MLINKS+=	archive_read_open.3 archive_read_open_fd.3
314MLINKS+=	archive_read_open.3 archive_read_open_file.3
315MLINKS+=	archive_read_open.3 archive_read_open_filename.3
316MLINKS+=	archive_read_open.3 archive_read_open_memory.3
317MLINKS+=	archive_read_free.3 archive_read_close.3
318MLINKS+=	archive_read_free.3 archive_read_finish.3
319MLINKS+=	archive_read_filter.3 archive_read_support_filter_all.3
320MLINKS+=	archive_read_filter.3 archive_read_support_filter_bzip2.3
321MLINKS+=	archive_read_filter.3 archive_read_support_filter_compress.3
322MLINKS+=	archive_read_filter.3 archive_read_support_filter_gzip.3
323MLINKS+=	archive_read_filter.3 archive_read_support_filter_lzma.3
324MLINKS+=	archive_read_filter.3 archive_read_support_filter_none.3
325MLINKS+=	archive_read_filter.3 archive_read_support_filter_xz.3
326MLINKS+=	archive_read_filter.3 archive_read_support_filter_program.3
327MLINKS+=	archive_read_filter.3 archive_read_support_filter_program_signature.3
328MLINKS+=	archive_read_format.3 archive_read_support_format_7zip.3
329MLINKS+=	archive_read_format.3 archive_read_support_format_all.3
330MLINKS+=	archive_read_format.3 archive_read_support_format_ar.3
331MLINKS+=	archive_read_format.3 archive_read_support_format_by_code.3
332MLINKS+=	archive_read_format.3 archive_read_support_format_cab.3
333MLINKS+=	archive_read_format.3 archive_read_support_format_cpio.3
334MLINKS+=	archive_read_format.3 archive_read_support_format_empty.3
335MLINKS+=	archive_read_format.3 archive_read_support_format_iso9660.3
336MLINKS+=	archive_read_format.3 archive_read_support_format_lha.3
337MLINKS+=	archive_read_format.3 archive_read_support_format_mtree.3
338MLINKS+=	archive_read_format.3 archive_read_support_format_rar.3
339MLINKS+=	archive_read_format.3 archive_read_support_format_raw.3
340MLINKS+=	archive_read_format.3 archive_read_support_format_tar.3
341MLINKS+=	archive_read_format.3 archive_read_support_format_xar.3
342MLINKS+=	archive_read_format.3 archive_read_support_format_zip.3
343MLINKS+=	archive_read_disk.3 archive_read_disk_entry_from_file.3
344MLINKS+=	archive_read_disk.3 archive_read_disk_gname.3
345MLINKS+=	archive_read_disk.3 archive_read_disk_new.3
346MLINKS+=	archive_read_disk.3 archive_read_disk_set_gname_lookup.3
347MLINKS+=	archive_read_disk.3 archive_read_disk_set_standard_lookup.3
348MLINKS+=	archive_read_disk.3 archive_read_disk_set_symlink_hybrid.3
349MLINKS+=	archive_read_disk.3 archive_read_disk_set_symlink_logical.3
350MLINKS+=	archive_read_disk.3 archive_read_disk_set_symlink_physical.3
351MLINKS+=	archive_read_disk.3 archive_read_disk_set_uname_lookup.3
352MLINKS+=	archive_read_disk.3 archive_read_disk_uname.3
353MLINKS+=	archive_read_set_options.3 archive_read_set_filter_option.3
354MLINKS+=	archive_read_set_options.3 archive_read_set_format_option.3
355MLINKS+=	archive_read_set_options.3 archive_read_set_option.3
356MLINKS+=	archive_util.3 archive_clear_error.3
357MLINKS+=	archive_util.3 archive_compression.3
358MLINKS+=	archive_util.3 archive_compression_name.3
359MLINKS+=	archive_util.3 archive_copy_error.3
360MLINKS+=	archive_util.3 archive_errno.3
361MLINKS+=	archive_util.3 archive_error_string.3
362MLINKS+=	archive_util.3 archive_file_count.3
363MLINKS+=	archive_util.3 archive_filter_code.3
364MLINKS+=	archive_util.3 archive_filter_count.3
365MLINKS+=	archive_util.3 archive_filter_name.3
366MLINKS+=	archive_util.3 archive_format.3
367MLINKS+=	archive_util.3 archive_format_name.3
368MLINKS+=	archive_util.3 archive_position.3
369MLINKS+=	archive_util.3 archive_set_error.3
370MLINKS+=	archive_write_blocksize.3 archive_write_get_bytes_in_last_block.3
371MLINKS+=	archive_write_blocksize.3 archive_write_get_bytes_per_block.3
372MLINKS+=	archive_write_blocksize.3 archive_write_set_bytes_in_last_block.3
373MLINKS+=	archive_write_blocksize.3 archive_write_set_bytes_per_block.3
374MLINKS+=	archive_write_disk.3 archive_write_data_block.3
375MLINKS+=	archive_write_disk.3 archive_write_disk_new.3
376MLINKS+=	archive_write_disk.3 archive_write_disk_set_group_lookup.3
377MLINKS+=	archive_write_disk.3 archive_write_disk_set_options.3
378MLINKS+=	archive_write_disk.3 archive_write_disk_set_skip_file.3
379MLINKS+=	archive_write_disk.3 archive_write_disk_set_standard_lookup.3
380MLINKS+=	archive_write_disk.3 archive_write_disk_set_user_lookup.3
381MLINKS+=	archive_write_filter.3 archive_write_add_filter_bzip2.3
382MLINKS+=	archive_write_filter.3 archive_write_add_filter_compress.3
383MLINKS+=	archive_write_filter.3 archive_write_add_filter_gzip.3
384MLINKS+=	archive_write_filter.3 archive_write_add_filter_lzip.3
385MLINKS+=	archive_write_filter.3 archive_write_add_filter_lzma.3
386MLINKS+=	archive_write_filter.3 archive_write_add_filter_none.3
387MLINKS+=	archive_write_filter.3 archive_write_add_filter_program.3
388MLINKS+=	archive_write_filter.3 archive_write_add_filter_xz.3
389MLINKS+=	archive_write_format.3 archive_write_set_format_cpio.3
390MLINKS+=	archive_write_format.3 archive_write_set_format_pax.3
391MLINKS+=	archive_write_format.3 archive_write_set_format_pax_restricted.3
392MLINKS+=	archive_write_format.3 archive_write_set_format_shar.3
393MLINKS+=	archive_write_format.3 archive_write_set_format_shar_dump.3
394MLINKS+=	archive_write_format.3 archive_write_set_format_ustar.3
395MLINKS+=	archive_write_free.3 archive_write_close.3
396MLINKS+=	archive_write_free.3 archive_write_fail.3
397MLINKS+=	archive_write_free.3 archive_write_finish.3
398MLINKS+=	archive_write_open.3 archive_write_open_FILE.3
399MLINKS+=	archive_write_open.3 archive_write_open_fd.3
400MLINKS+=	archive_write_open.3 archive_write_open_file.3
401MLINKS+=	archive_write_open.3 archive_write_open_filename.3
402MLINKS+=	archive_write_open.3 archive_write_open_memory.3
403MLINKS+=	archive_write_set_options.3 archive_write_set_filter_option.3
404MLINKS+=	archive_write_set_options.3 archive_write_set_format_option.3
405MLINKS+=	archive_write_set_options.3 archive_write_set_option.3
406MLINKS+=	libarchive.3 archive.3
407
408HAS_TESTS=
409SUBDIR.${MK_TESTS}+= tests
410
411.include <bsd.lib.mk>
412