1ACCOUNT_OBJS	= test/account/account_free.o \
2		  test/account/account_mailbox_add.o \
3		  test/account/account_mailbox_remove.o \
4		  test/account/account_new.o
5
6ADDRESS_OBJS	= test/address/mutt_addr_cat.o \
7		  test/address/mutt_addr_cmp.o \
8		  test/address/mutt_addr_copy.o \
9		  test/address/mutt_addr_create.o \
10		  test/address/mutt_addr_for_display.o \
11		  test/address/mutt_addr_free.o \
12		  test/address/mutt_addr_new.o \
13		  test/address/mutt_addr_to_intl.o \
14		  test/address/mutt_addr_to_local.o \
15		  test/address/mutt_addr_valid_msgid.o \
16		  test/address/mutt_addr_write.o \
17		  test/address/mutt_addrlist_append.o \
18		  test/address/mutt_addrlist_clear.o \
19		  test/address/mutt_addrlist_copy.o \
20		  test/address/mutt_addrlist_count_recips.o \
21		  test/address/mutt_addrlist_dedupe.o \
22		  test/address/mutt_addrlist_equal.o \
23		  test/address/mutt_addrlist_parse.o \
24		  test/address/mutt_addrlist_parse2.o \
25		  test/address/mutt_addrlist_prepend.o \
26		  test/address/mutt_addrlist_qualify.o \
27		  test/address/mutt_addrlist_remove.o \
28		  test/address/mutt_addrlist_remove_xrefs.o \
29		  test/address/mutt_addrlist_search.o \
30		  test/address/mutt_addrlist_to_intl.o \
31		  test/address/mutt_addrlist_to_local.o \
32		  test/address/mutt_addrlist_write.o \
33		  test/address/mutt_addrlist_write_list.o
34
35ARRAY_OBJS	= test/array/mutt_array_api.o
36
37ATTACH_OBJS	= test/attach/mutt_actx_add_attach.o \
38		  test/attach/mutt_actx_add_body.o \
39		  test/attach/mutt_actx_add_fp.o \
40		  test/attach/mutt_actx_entries_free.o \
41		  test/attach/mutt_actx_free.o \
42		  test/attach/mutt_actx_new.o
43
44BASE64_OBJS	= test/base64/mutt_b64_buffer_decode.o \
45		  test/base64/mutt_b64_buffer_encode.o \
46		  test/base64/mutt_b64_decode.o \
47		  test/base64/mutt_b64_encode.o
48
49BODY_OBJS	= test/body/mutt_body_cmp_strict.o \
50		  test/body/mutt_body_free.o \
51		  test/body/mutt_body_new.o
52
53BUFFER_OBJS	= test/buffer/mutt_buffer_add_printf.o \
54		  test/buffer/mutt_buffer_addch.o \
55		  test/buffer/mutt_buffer_addstr.o \
56		  test/buffer/mutt_buffer_addstr_n.o \
57		  test/buffer/mutt_buffer_alloc.o \
58		  test/buffer/mutt_buffer_concat_path.o \
59		  test/buffer/mutt_buffer_concatn_path.o \
60		  test/buffer/mutt_buffer_copy.o \
61		  test/buffer/mutt_buffer_dealloc.o \
62		  test/buffer/mutt_buffer_fix_dptr.o \
63		  test/buffer/mutt_buffer_init.o \
64		  test/buffer/mutt_buffer_is_empty.o \
65		  test/buffer/mutt_buffer_len.o \
66		  test/buffer/mutt_buffer_make.o \
67		  test/buffer/mutt_buffer_printf.o \
68		  test/buffer/mutt_buffer_reset.o \
69		  test/buffer/mutt_buffer_strcpy.o \
70		  test/buffer/mutt_buffer_strcpy_n.o \
71		  test/buffer/mutt_buffer_strdup.o \
72		  test/buffer/mutt_buffer_substrcpy.o
73
74CHARSET_OBJS	= test/charset/mutt_ch_canonical_charset.o \
75		  test/charset/mutt_ch_charset_lookup.o \
76		  test/charset/mutt_ch_check.o \
77		  test/charset/mutt_ch_check_charset.o \
78		  test/charset/mutt_ch_choose.o \
79		  test/charset/mutt_ch_chscmp.o \
80		  test/charset/mutt_ch_convert_nonmime_string.o \
81		  test/charset/mutt_ch_convert_string.o \
82		  test/charset/mutt_ch_fgetconv.o \
83		  test/charset/mutt_ch_fgetconv_close.o \
84		  test/charset/mutt_ch_fgetconv_open.o \
85		  test/charset/mutt_ch_fgetconvs.o \
86		  test/charset/mutt_ch_get_default_charset.o \
87		  test/charset/mutt_ch_get_langinfo_charset.o \
88		  test/charset/mutt_ch_iconv.o \
89		  test/charset/mutt_ch_iconv_lookup.o \
90		  test/charset/mutt_ch_iconv_open.o \
91		  test/charset/mutt_ch_lookup_add.o \
92		  test/charset/mutt_ch_lookup_remove.o \
93		  test/charset/mutt_ch_set_charset.o
94
95@if USE_LZ4 || USE_ZLIB || USE_ZSTD
96COMPRESS_OBJS	+= test/compress/common.o
97@endif
98@if USE_LZ4
99COMPRESS_OBJS	+= test/compress/lz4.o
100@endif
101@if USE_ZLIB
102COMPRESS_OBJS	+= test/compress/zlib.o
103@endif
104@if USE_ZSTD
105COMPRESS_OBJS	+= test/compress/zstd.o
106@endif
107
108CONFIG_OBJS	= test/config/account.o \
109		  test/config/address.o \
110		  test/config/bool.o \
111		  test/config/common.o \
112		  test/config/dump.o \
113		  test/config/enum.o \
114		  test/config/helpers.o \
115		  test/config/initial.o \
116		  test/config/long.o \
117		  test/config/mbtable.o \
118		  test/config/number.o \
119		  test/config/path.o \
120		  test/config/quad.o \
121		  test/config/regex.o \
122		  test/config/set.o \
123		  test/config/slist.o \
124		  test/config/sort.o \
125		  test/config/string.o \
126		  test/config/subset.o \
127		  test/config/synonym.o \
128		  test/config/variable.o
129
130DATE_OBJS	= test/date/mutt_date_add_timeout.o \
131		  test/date/mutt_date_check_month.o \
132		  test/date/mutt_date_epoch.o \
133		  test/date/mutt_date_epoch_ms.o \
134		  test/date/mutt_date_gmtime.o \
135		  test/date/mutt_date_local_tz.o \
136		  test/date/mutt_date_localtime.o \
137		  test/date/mutt_date_localtime_format.o \
138		  test/date/mutt_date_make_date.o \
139		  test/date/mutt_date_make_imap.o \
140		  test/date/mutt_date_make_time.o \
141		  test/date/mutt_date_make_tls.o \
142		  test/date/mutt_date_normalize_time.o \
143		  test/date/mutt_date_parse_date.o \
144		  test/date/mutt_date_parse_imap.o \
145		  test/date/mutt_date_sleep_ms.o
146
147EMAIL_OBJS	= test/email/common.o \
148		  test/email/email_cmp_strict.o \
149		  test/email/email_free.o \
150		  test/email/email_header_add.o \
151		  test/email/email_header_find.o \
152		  test/email/email_header_free.o \
153		  test/email/email_header_set.o \
154		  test/email/email_header_update.o \
155		  test/email/email_new.o \
156		  test/email/email_size.o \
157		  test/email/emaillist_add_email.o \
158		  test/email/emaillist_clear.o \
159		  test/email/mutt_autocrypthdr_free.o \
160		  test/email/mutt_autocrypthdr_new.o
161
162ENVELOPE_OBJS	= test/envelope/mutt_env_cmp_strict.o \
163		  test/envelope/mutt_env_free.o \
164		  test/envelope/mutt_env_merge.o \
165		  test/envelope/mutt_env_new.o \
166		  test/envelope/mutt_env_to_intl.o \
167		  test/envelope/mutt_env_to_local.o
168
169ENVLIST_OBJS	= test/envlist/mutt_envlist_free.o \
170		  test/envlist/mutt_envlist_getlist.o \
171		  test/envlist/mutt_envlist_init.o \
172		  test/envlist/mutt_envlist_set.o \
173		  test/envlist/mutt_envlist_unset.o
174
175FILE_OBJS	= test/file/common.o \
176		  test/file/mutt_buffer_file_expand_fmt_quote.o \
177		  test/file/mutt_buffer_quote_filename.o \
178		  test/file/mutt_file_check_empty.o \
179		  test/file/mutt_file_chmod.o \
180		  test/file/mutt_file_chmod_add.o \
181		  test/file/mutt_file_chmod_add_stat.o \
182		  test/file/mutt_file_chmod_rm.o \
183		  test/file/mutt_file_chmod_rm_stat.o \
184		  test/file/mutt_file_copy_bytes.o \
185		  test/file/mutt_file_copy_stream.o \
186		  test/file/mutt_file_decrease_mtime.o \
187		  test/file/mutt_file_expand_fmt.o \
188		  test/file/mutt_file_fclose.o \
189		  test/file/mutt_file_fopen.o \
190		  test/file/mutt_file_fsync_close.o \
191		  test/file/mutt_file_get_size.o \
192		  test/file/mutt_file_get_stat_timespec.o \
193		  test/file/mutt_file_iter_line.o \
194		  test/file/mutt_file_lock.o \
195		  test/file/mutt_file_map_lines.o \
196		  test/file/mutt_file_mkdir.o \
197		  test/file/mutt_file_mkstemp_full.o \
198		  test/file/mutt_file_open.o \
199		  test/file/mutt_file_quote_filename.o \
200		  test/file/mutt_file_read_keyword.o \
201		  test/file/mutt_file_read_line.o \
202		  test/file/mutt_file_rename.o \
203		  test/file/mutt_file_resolve_symlink.o \
204		  test/file/mutt_file_rmtree.o \
205		  test/file/mutt_file_safe_rename.o \
206		  test/file/mutt_file_sanitize_filename.o \
207		  test/file/mutt_file_sanitize_regex.o \
208		  test/file/mutt_file_set_mtime.o \
209		  test/file/mutt_file_stat_compare.o \
210		  test/file/mutt_file_stat_timespec_compare.o \
211		  test/file/mutt_file_symlink.o \
212		  test/file/mutt_file_timespec_compare.o \
213		  test/file/mutt_file_touch_atime.o \
214		  test/file/mutt_file_unlink.o \
215		  test/file/mutt_file_unlink_empty.o \
216		  test/file/mutt_file_unlock.o
217
218FILTER_OBJS	= test/filter/filter_create.o \
219		  test/filter/filter_create_fd.o \
220		  test/filter/filter_wait.o
221
222FROM_OBJS	= test/from/is_from.o
223
224GROUP_OBJS	= test/group/mutt_group_match.o \
225		  test/group/mutt_grouplist_add.o \
226		  test/group/mutt_grouplist_add_addrlist.o \
227		  test/group/mutt_grouplist_add_regex.o \
228		  test/group/mutt_grouplist_clear.o \
229		  test/group/mutt_grouplist_destroy.o \
230		  test/group/mutt_grouplist_free.o \
231		  test/group/mutt_grouplist_init.o \
232		  test/group/mutt_grouplist_remove_addrlist.o \
233		  test/group/mutt_grouplist_remove_regex.o \
234		  test/group/mutt_pattern_group.o
235
236GUI_OBJS	= test/gui/reflow.o \
237		  test/gui/visible.o
238
239HASH_OBJS	= test/hash/mutt_hash_delete.o \
240		  test/hash/mutt_hash_find.o \
241		  test/hash/mutt_hash_find_bucket.o \
242		  test/hash/mutt_hash_find_elem.o \
243		  test/hash/mutt_hash_free.o \
244		  test/hash/mutt_hash_insert.o \
245		  test/hash/mutt_hash_int_delete.o \
246		  test/hash/mutt_hash_int_find.o \
247		  test/hash/mutt_hash_int_insert.o \
248		  test/hash/mutt_hash_int_new.o \
249		  test/hash/mutt_hash_new.o \
250		  test/hash/mutt_hash_set_destructor.o \
251		  test/hash/mutt_hash_typed_insert.o \
252		  test/hash/mutt_hash_walk.o
253
254HISTORY_OBJS	= test/history/mutt_hist_add.o \
255		  test/history/mutt_hist_at_scratch.o \
256		  test/history/mutt_hist_free.o \
257		  test/history/mutt_hist_init.o \
258		  test/history/mutt_hist_next.o \
259		  test/history/mutt_hist_prev.o \
260		  test/history/mutt_hist_read_file.o \
261		  test/history/mutt_hist_reset_state.o \
262		  test/history/mutt_hist_save_scratch.o \
263		  test/history/mutt_hist_search.o
264
265IDNA_OBJS	= test/idna/mutt_idna_intl_to_local.o \
266		  test/idna/mutt_idna_local_to_intl.o \
267		  test/idna/mutt_idna_print_version.o \
268		  test/idna/mutt_idna_to_ascii_lz.o
269
270LIST_OBJS	= test/list/common.o \
271		  test/list/mutt_list_clear.o \
272		  test/list/mutt_list_compare.o \
273		  test/list/mutt_list_find.o \
274		  test/list/mutt_list_free.o \
275		  test/list/mutt_list_free_type.o \
276		  test/list/mutt_list_insert_after.o \
277		  test/list/mutt_list_insert_head.o \
278		  test/list/mutt_list_insert_tail.o \
279		  test/list/mutt_list_match.o \
280		  test/list/mutt_list_str_split.o
281
282LOGGING_OBJS	= test/logging/log_disp_file.o \
283		  test/logging/log_disp_null.o \
284		  test/logging/log_disp_queue.o \
285		  test/logging/log_disp_terminal.o \
286		  test/logging/log_file_close.o \
287		  test/logging/log_file_open.o \
288		  test/logging/log_file_running.o \
289		  test/logging/log_file_set_filename.o \
290		  test/logging/log_file_set_level.o \
291		  test/logging/log_file_set_version.o \
292		  test/logging/log_queue_add.o \
293		  test/logging/log_queue_empty.o \
294		  test/logging/log_queue_flush.o \
295		  test/logging/log_queue_save.o \
296		  test/logging/log_queue_set_max_size.o
297
298MAILBOX_OBJS	= test/mailbox/mailbox_changed.o \
299		  test/mailbox/mailbox_find.o \
300		  test/mailbox/mailbox_find_name.o \
301		  test/mailbox/mailbox_free.o \
302		  test/mailbox/mailbox_new.o \
303		  test/mailbox/mailbox_set_subset.o \
304		  test/mailbox/mailbox_size_add.o \
305		  test/mailbox/mailbox_size_sub.o \
306		  test/mailbox/mailbox_update.o
307
308MAPPING_OBJS	= test/mapping/mutt_map_get_name.o \
309		  test/mapping/mutt_map_get_value.o \
310		  test/mapping/mutt_map_get_value_n.o
311
312MBYTE_OBJS	= test/mbyte/mutt_mb_charlen.o \
313		  test/mbyte/mutt_mb_filter_unprintable.o \
314		  test/mbyte/mutt_mb_get_initials.o \
315		  test/mbyte/mutt_mb_is_display_corrupting_utf8.o \
316		  test/mbyte/mutt_mb_is_lower.o \
317		  test/mbyte/mutt_mb_is_shell_char.o \
318		  test/mbyte/mutt_mb_mbstowcs.o \
319		  test/mbyte/mutt_mb_wcstombs.o \
320		  test/mbyte/mutt_mb_wcswidth.o \
321		  test/mbyte/mutt_mb_wcwidth.o \
322		  test/mbyte/mutt_mb_width.o \
323		  test/mbyte/mutt_mb_width_ceiling.o
324
325MD5_OBJS	= test/md5/common.o \
326		  test/md5/mutt_md5.o \
327		  test/md5/mutt_md5_bytes.o \
328		  test/md5/mutt_md5_finish_ctx.o \
329		  test/md5/mutt_md5_init_ctx.o \
330		  test/md5/mutt_md5_process.o \
331		  test/md5/mutt_md5_process_bytes.o \
332		  test/md5/mutt_md5_toascii.o
333
334MEMORY_OBJS	= test/memory/mutt_mem_calloc.o \
335		  test/memory/mutt_mem_free.o \
336		  test/memory/mutt_mem_malloc.o \
337		  test/memory/mutt_mem_realloc.o
338
339NEOMUTT_OBJS	= test/neo/neomutt_account_add.o \
340		  test/neo/neomutt_account_remove.o \
341		  test/neo/neomutt_free.o \
342		  test/neo/neomutt_mailboxlist_clear.o \
343		  test/neo/neomutt_mailboxlist_get_all.o \
344		  test/neo/neomutt_new.o
345
346NOTIFY_OBJS	= test/notify/notify_free.o \
347		  test/notify/notify_new.o \
348		  test/notify/notify_observer_add.o \
349		  test/notify/notify_observer_remove.o \
350		  test/notify/notify_send.o \
351		  test/notify/notify_set_parent.o
352
353@if USE_NOTMUCH
354NOTMUCH_OBJS	= test/notmuch/query_type.o \
355		  test/notmuch/tag.o \
356		  test/notmuch/window_query.o
357@endif
358
359PARAMETER_OBJS	= test/parameter/mutt_param_cmp_strict.o \
360		  test/parameter/mutt_param_delete.o \
361		  test/parameter/mutt_param_free.o \
362		  test/parameter/mutt_param_free_one.o \
363		  test/parameter/mutt_param_get.o \
364		  test/parameter/mutt_param_new.o \
365		  test/parameter/mutt_param_set.o
366
367PARSE_OBJS	= test/parse/mutt_auto_subscribe.o \
368		  test/parse/mutt_check_encoding.o \
369		  test/parse/mutt_check_mime_type.o \
370		  test/parse/mutt_extract_message_id.o \
371		  test/parse/mutt_is_message_type.o \
372		  test/parse/mutt_matches_ignore.o \
373		  test/parse/mutt_parse_content_type.o \
374		  test/parse/mutt_parse_mailto.o \
375		  test/parse/mutt_parse_multipart.o \
376		  test/parse/mutt_parse_part.o \
377		  test/parse/mutt_read_mime_header.o \
378		  test/parse/mutt_rfc822_parse_line.o \
379		  test/parse/mutt_rfc822_parse_message.o \
380		  test/parse/mutt_rfc822_read_header.o \
381		  test/parse/mutt_rfc822_read_line.o
382
383PATH_OBJS	= test/path/mutt_path_abbr_folder.o \
384		  test/path/mutt_path_basename.o \
385		  test/path/mutt_path_canon.o \
386		  test/path/mutt_path_concat.o \
387		  test/path/mutt_path_dirname.o \
388		  test/path/mutt_path_escape.o \
389		  test/path/mutt_path_getcwd.o \
390		  test/path/mutt_path_parent.o \
391		  test/path/mutt_path_pretty.o \
392		  test/path/mutt_path_realpath.o \
393		  test/path/mutt_path_tidy.o \
394		  test/path/mutt_path_tidy_dotdot.o \
395		  test/path/mutt_path_tidy_slash.o \
396		  test/path/mutt_path_tilde.o \
397		  test/path/mutt_path_to_absolute.o
398
399PATTERN_OBJS	= pattern/pattern.o \
400		  test/pattern/comp.o \
401		  test/pattern/dummy.o \
402		  test/pattern/extract.o
403
404POOL_OBJS	= test/pool/mutt_buffer_pool_free.o \
405		  test/pool/mutt_buffer_pool_get.o \
406		  test/pool/mutt_buffer_pool_release.o
407
408PREX_OBJS	= test/prex/mutt_prex_capture.o \
409		  test/prex/mutt_prex_free.o
410
411REGEX_OBJS	= test/regex/mutt_regex_capture.o \
412		  test/regex/mutt_regex_compile.o \
413		  test/regex/mutt_regex_free.o \
414		  test/regex/mutt_regex_match.o \
415		  test/regex/mutt_regex_new.o \
416		  test/regex/mutt_regexlist_add.o \
417		  test/regex/mutt_regexlist_free.o \
418		  test/regex/mutt_regexlist_match.o \
419		  test/regex/mutt_regexlist_new.o \
420		  test/regex/mutt_regexlist_remove.o \
421		  test/regex/mutt_replacelist_add.o \
422		  test/regex/mutt_replacelist_apply.o \
423		  test/regex/mutt_replacelist_free.o \
424		  test/regex/mutt_replacelist_match.o \
425		  test/regex/mutt_replacelist_new.o \
426		  test/regex/mutt_replacelist_remove.o
427
428RFC2047_OBJS	= test/rfc2047/common.o \
429		  test/rfc2047/rfc2047_decode.o \
430		  test/rfc2047/rfc2047_decode_addrlist.o \
431		  test/rfc2047/rfc2047_decode_envelope.o \
432		  test/rfc2047/rfc2047_encode.o \
433		  test/rfc2047/rfc2047_encode_addrlist.o \
434		  test/rfc2047/rfc2047_encode_envelope.o
435
436RFC2231_OBJS	= test/rfc2231/rfc2231_decode_parameters.o \
437		  test/rfc2231/rfc2231_encode_string.o
438
439SIGNAL_OBJS	= test/signal/mutt_sig_allow_interrupt.o \
440		  test/signal/mutt_sig_block.o \
441		  test/signal/mutt_sig_block_system.o \
442		  test/signal/mutt_sig_empty_handler.o \
443		  test/signal/mutt_sig_exit_handler.o \
444		  test/signal/mutt_sig_init.o \
445		  test/signal/mutt_sig_unblock.o \
446		  test/signal/mutt_sig_unblock_system.o
447
448SLIST_OBJS	= test/slist/slist_add_list.o \
449		  test/slist/slist_add_string.o \
450		  test/slist/slist_compare.o \
451		  test/slist/slist_dup.o \
452		  test/slist/slist_empty.o \
453		  test/slist/slist_free.o \
454		  test/slist/slist_is_member.o \
455		  test/slist/slist_parse.o \
456		  test/slist/slist_remove_string.o \
457		  test/slist/slist_to_buffer.o
458
459SORT_OBJS	= test/sort/mutt_qsort_r.o
460
461@if HAVE_BDB || HAVE_GDBM || HAVE_KC || HAVE_LMDB || HAVE_QDBM || HAVE_ROCKSDB || HAVE_TDB || HAVE_TC
462STORE_OBJS	+= test/store/common.o test/store/store.o
463@endif
464@if HAVE_BDB
465STORE_OBJS	+= test/store/bdb.o
466@endif
467@if HAVE_GDBM
468STORE_OBJS	+= test/store/gdbm.o
469@endif
470@if HAVE_KC
471STORE_OBJS	+= test/store/kc.o
472@endif
473@if HAVE_LMDB
474STORE_OBJS	+= test/store/lmdb.o
475@endif
476@if HAVE_QDBM
477STORE_OBJS	+= test/store/qdbm.o
478@endif
479@if HAVE_ROCKSDB
480STORE_OBJS	+= test/store/rocksdb.o
481@endif
482@if HAVE_TDB
483STORE_OBJS	+= test/store/tdb.o
484@endif
485@if HAVE_TC
486STORE_OBJS	+= test/store/tc.o
487@endif
488
489STRING_OBJS	= test/string/mutt_istr_equal.o \
490		  test/string/mutt_istr_find.o \
491		  test/string/mutt_istr_remall.o \
492		  test/string/mutt_istrn_cmp.o \
493		  test/string/mutt_istrn_equal.o \
494		  test/string/mutt_istrn_rfind.o \
495		  test/string/mutt_str_adjust.o \
496		  test/string/mutt_str_append_item.o \
497		  test/string/mutt_str_asprintf.o \
498		  test/string/mutt_str_atoi.o \
499		  test/string/mutt_str_atol.o \
500		  test/string/mutt_str_atos.o \
501		  test/string/mutt_str_atoui.o \
502		  test/string/mutt_str_atoul.o \
503		  test/string/mutt_str_atoull.o \
504		  test/string/mutt_str_cat.o \
505		  test/string/mutt_str_coll.o \
506		  test/string/mutt_str_copy.o \
507		  test/string/mutt_str_dequote_comment.o \
508		  test/string/mutt_str_dup.o \
509		  test/string/mutt_str_equal.o \
510		  test/string/mutt_str_find_word.o \
511		  test/string/mutt_str_getenv.o \
512		  test/string/mutt_str_inline_replace.o \
513		  test/string/mutt_str_is_ascii.o \
514		  test/string/mutt_str_is_email_wsp.o \
515		  test/string/mutt_str_len.o \
516		  test/string/mutt_str_lower.o \
517		  test/string/mutt_str_lws_len.o \
518		  test/string/mutt_str_lws_rlen.o \
519		  test/string/mutt_str_next_word.o \
520		  test/string/mutt_str_remove_trailing_ws.o \
521		  test/string/mutt_str_replace.o \
522		  test/string/mutt_str_skip_email_wsp.o \
523		  test/string/mutt_str_skip_whitespace.o \
524		  test/string/mutt_str_startswith.o \
525		  test/string/mutt_str_sysexit.o \
526		  test/string/mutt_strn_cat.o \
527		  test/string/mutt_strn_copy.o \
528		  test/string/mutt_strn_dup.o \
529		  test/string/mutt_strn_equal.o \
530		  test/string/mutt_strn_rfind.o
531
532TAGS_OBJS	= test/tags/driver_tags_free.o \
533		  test/tags/driver_tags_get.o \
534		  test/tags/driver_tags_get_transformed.o \
535		  test/tags/driver_tags_get_transformed_for.o \
536		  test/tags/driver_tags_get_with_hidden.o \
537		  test/tags/driver_tags_replace.o
538
539THREAD_OBJS	= test/thread/clean_references.o \
540		  test/thread/find_virtual.o \
541		  test/thread/insert_message.o \
542		  test/thread/is_descendant.o \
543		  test/thread/mutt_break_thread.o \
544		  test/thread/thread_hash_destructor.o \
545		  test/thread/unlink_message.o
546
547URL_OBJS	= test/url/url_check_scheme.o \
548		  test/url/url_free.o \
549		  test/url/url_parse.o \
550		  test/url/url_pct_decode.o \
551		  test/url/url_pct_encode.o \
552		  test/url/url_tobuffer.o \
553		  test/url/url_tostring.o
554
555BUILD_DIRS	= $(PWD)/test/account $(PWD)/test/address $(PWD)/test/array \
556		  $(PWD)/test/attach $(PWD)/test/base64 $(PWD)/test/body \
557		  $(PWD)/test/buffer $(PWD)/test/charset $(PWD)/test/compress \
558		  $(PWD)/test/config $(PWD)/test/date $(PWD)/test/email \
559		  $(PWD)/test/envelope $(PWD)/test/envlist $(PWD)/test/file \
560		  $(PWD)/test/filter $(PWD)/test/from $(PWD)/test/group \
561		  $(PWD)/test/gui $(PWD)/test/hash $(PWD)/test/history \
562		  $(PWD)/test/idna $(PWD)/test/list $(PWD)/test/logging \
563		  $(PWD)/test/mailbox $(PWD)/test/mapping $(PWD)/test/mbyte \
564		  $(PWD)/test/md5 $(PWD)/test/memory $(PWD)/test/neo $(PWD)/test/notmuch \
565		  $(PWD)/test/notify $(PWD)/test/parameter $(PWD)/test/parse \
566		  $(PWD)/test/path $(PWD)/test/pattern $(PWD)/test/pool \
567		  $(PWD)/test/prex $(PWD)/test/regex $(PWD)/test/rfc2047 \
568		  $(PWD)/test/rfc2231 $(PWD)/test/signal $(PWD)/test/slist \
569		  $(PWD)/test/sort $(PWD)/test/store $(PWD)/test/string \
570		  $(PWD)/test/tags $(PWD)/test/thread $(PWD)/test/url
571
572TEST_OBJS	= test/main.o test/common.o \
573		  $(ACCOUNT_OBJS) \
574		  $(ADDRESS_OBJS) \
575		  $(ARRAY_OBJS) \
576		  $(ATTACH_OBJS) \
577		  $(BASE64_OBJS) \
578		  $(BODY_OBJS) \
579		  $(BUFFER_OBJS) \
580		  $(CHARSET_OBJS) \
581		  $(COMPRESS_OBJS) \
582		  $(CONFIG_OBJS) \
583		  $(DATE_OBJS) \
584		  $(EMAIL_OBJS) \
585		  $(ENVELOPE_OBJS) \
586		  $(ENVLIST_OBJS) \
587		  $(FILE_OBJS) \
588		  $(FILTER_OBJS) \
589		  $(FROM_OBJS) \
590		  $(GROUP_OBJS) \
591		  $(GUI_OBJS) \
592		  $(HASH_OBJS) \
593		  $(HISTORY_OBJS) \
594		  $(IDNA_OBJS) \
595		  $(LIST_OBJS) \
596		  $(LOGGING_OBJS) \
597		  $(MAILBOX_OBJS) \
598		  $(MAPPING_OBJS) \
599		  $(MBYTE_OBJS) \
600		  $(MD5_OBJS) \
601		  $(MEMORY_OBJS) \
602		  $(NEOMUTT_OBJS) \
603		  $(NOTIFY_OBJS) \
604		  $(NOTMUCH_OBJS) \
605		  $(PARAMETER_OBJS) \
606		  $(PARSE_OBJS) \
607		  $(PATH_OBJS) \
608		  $(PATTERN_OBJS) \
609		  $(POOL_OBJS) \
610		  $(PREX_OBJS) \
611		  $(REGEX_OBJS) \
612		  $(RFC2047_OBJS) \
613		  $(RFC2231_OBJS) \
614		  $(SIGNAL_OBJS) \
615		  $(SLIST_OBJS) \
616		  $(SORT_OBJS) \
617		  $(STORE_OBJS) \
618		  $(STRING_OBJS) \
619		  $(TAGS_OBJS) \
620		  $(THREAD_OBJS) \
621		  $(URL_OBJS)
622
623CFLAGS	+= -I$(SRCDIR)/test
624
625TEST_BINARY = test/neomutt-test$(EXEEXT)
626
627.PHONY: test
628test: $(TEST_BINARY)
629	$(TEST_BINARY)
630
631$(BUILD_DIRS):
632	$(MKDIR_P) $@
633
634$(TEST_BINARY): $(BUILD_DIRS) $(MUTTLIBS) $(TEST_OBJS)
635	$(CC) -o $@ $(TEST_OBJS) $(MUTTLIBS) $(LDFLAGS) $(LIBS)
636
637all-test: $(TEST_BINARY)
638
639clean-test:
640	$(RM) $(TEST_BINARY) $(TEST_OBJS) $(TEST_OBJS:.o=.Po)
641
642install-test:
643uninstall-test:
644
645TEST_DEPFILES = $(TEST_OBJS:.o=.Po)
646-include $(TEST_DEPFILES)
647
648# vim: set ts=8 noexpandtab:
649