1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
# © 2019 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html
#******************************************************************************
## Makefile.in for ICU - test/fuzzer
## Source directory information
srcdir = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = ../..
## All the flags and other definitions are included here.
include $(top_builddir)/icudefs.mk
## Build directory information
subdir = test/fuzzer
## Extra files to remove for 'make clean'
CLEANFILES = *~ $(DEPS) $(TESTXML)
## Target information
TARGET = all_fuzzers
BUILDDIR := $(CURR_SRCCODE_FULL_DIR)/../../
# Simplify the path for Unix
BUILDDIR := $(BUILDDIR:test/fuzzer/../../=)
# Simplify the path for Windows
BUILDDIR := $(BUILDDIR:test\\fuzzer/../../=)
# Simplify the path for Windows 98
BUILDDIR := $(BUILDDIR:TEST\\FUZZER/../../=)
CPPFLAGS += -I$(srcdir) -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(top_srcdir)/tools/ctestfw -I$(top_srcdir)/io
DEFS += -D'U_TOPSRCDIR="$(top_srcdir)/"' -D'U_TOPBUILDDIR="$(BUILDDIR)"'
LIBS = $(LIBCTESTFW) $(LIBICUTOOLUTIL) $(LIBICUIO) $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M)
FUZZER_TARGETS = \
ubidi_fuzzer \
break_iterator_fuzzer \
calendar_fuzzer collator_compare_fuzzer \
collator_rulebased_fuzzer \
converter_fuzzer date_format_fuzzer \
date_time_pattern_generator_fuzzer \
decimal_format_symbols_fuzzer \
dtfmtsym_fuzzer \
list_format_fuzzer locale_fuzzer \
locale_morph_fuzzer \
message_formatter_fuzzer \
normalizer2_fuzzer \
number_format_fuzzer \
number_formatter_fuzzer \
plurrule_fuzzer \
relative_date_time_formatter_fuzzer \
rule_based_break_iterator_fuzzer \
timezone_create_fuzzer \
time_zone_names_fuzzer \
ucasemap_fuzzer \
uloc_canonicalize_fuzzer \
uloc_for_language_tag_fuzzer \
uloc_get_name_fuzzer \
uloc_is_right_to_left_fuzzer \
uloc_open_keywords_fuzzer \
unicodeset_fuzzer \
unicode_string_codepage_create_fuzzer \
uprop_fuzzer \
uregex_open_fuzzer \
uregex_match_fuzzer \
OBJECTS = $(FUZZER_TARGETS:%=%.o)
OBJECTS += fuzzer_driver.o locale_util.o
DEPS = $(OBJECTS:.o=.d)
-include Makefile.local
## List of phony targets
.PHONY : all all-local install install-local clean clean-local \
distclean distclean-local dist dist-local check check-local xcheck \
check-exhaustive check-exhaustive-local all_fuzzers
## Clear suffix list
.SUFFIXES :
## List of standard targets
all: all-local
install: install-local
clean: clean-local
distclean : distclean-local
dist: dist-local
check: all check-local
xcheck: all xcheck-local
all-local: $(TARGET)
install-local:
dist-local:
clean-local:
test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
$(RMV) $(OBJECTS) $(TARGET) $(FUZZER_TARGETS)
distclean-local: clean-local
$(RMV) Makefile
check-local: all-local
# Create a dummy test case file with content "abc123"
echo "abc123" > dummytestcase
$(foreach trgt,$(FUZZER_TARGETS), echo $(trgt); $(INVOKE) ./$(trgt) dummytestcase -q \
$(TEST_OUTPUT_OPTS) || exit \
$(IOTEST_OPTS);)
xcheck-local: check-local
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
all_fuzzers: $(FUZZER_TARGETS)
%_fuzzer: %_fuzzer.o fuzzer_driver.o locale_util.o
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
ifeq (,$(MAKECMDGOALS))
-include $(DEPS)
else
ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
ifneq ($(patsubst %install,,$(MAKECMDGOALS)),)
-include $(DEPS)
endif
endif
endif
|