• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#   honggfuzz - Makefile
2#   -----------------------------------------
3#
4#   Author: Robert Swiecki <swiecki@google.com>
5#
6#   Copyright 2010-2015 by Google Inc. All Rights Reserved.
7#
8#   Licensed under the Apache License, Version 2.0 (the "License");
9#   you may not use this file except in compliance with the License.
10#   You may obtain a copy of the License at
11#
12#     http://www.apache.org/licenses/LICENSE-2.0
13#
14#   Unless required by applicable law or agreed to in writing, software
15#   distributed under the License is distributed on an "AS IS" BASIS,
16#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17#   See the License for the specific language governing permissions and
18#   limitations under the License.
19#
20#   NOTE: xcrun is within xcode...xcode is required on OSX.
21#
22
23# Common for all architectures
24CC ?= gcc
25LD = $(CC)
26BIN := honggfuzz
27HFUZZ_CC_BIN := hfuzz_cc/hfuzz-cc
28HFUZZ_CC_SRCS := hfuzz_cc/hfuzz-cc.c
29COMMON_CFLAGS := -D_GNU_SOURCE -Wall -Werror -Wno-format-truncation -I.
30COMMON_LDFLAGS := -lm libhfcommon/libhfcommon.a
31COMMON_SRCS := $(sort $(wildcard *.c))
32CFLAGS ?= -O3 -mtune=native
33LDFLAGS ?=
34LIBS_CFLAGS ?= -fPIC -fno-stack-protector
35GREP_COLOR ?=
36
37OS ?= $(shell uname -s)
38MARCH ?= $(shell uname -m)
39KERNEL ?= $(shell uname -r)
40
41ifeq ($(OS)$(findstring Microsoft,$(KERNEL)),Linux) # matches Linux but excludes WSL (Windows Subsystem for Linux)
42    ARCH := LINUX
43
44    ARCH_CFLAGS := -std=c11 -I/usr/local/include \
45                   -Wextra -Wno-override-init \
46                   -funroll-loops \
47                   -D_FILE_OFFSET_BITS=64
48    ARCH_LDFLAGS := -L/usr/local/include \
49                    -pthread -lunwind-ptrace -lunwind-generic -lbfd -lopcodes -lrt -ldl
50    ARCH_SRCS := $(sort $(wildcard linux/*.c))
51    LIBS_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
52
53    ifeq ("$(wildcard /usr/include/bfd.h)","")
54        WARN_LIBRARY += binutils-devel
55    endif
56    ifeq ("$(wildcard /usr/include/libunwind-ptrace.h)","")
57        WARN_LIBRARY += libunwind-devel/libunwind8-devel
58    endif
59    ifeq ("$(wildcard /usr/local/include/intel-pt.h)","/usr/local/include/intel-pt.h")
60        ARCH_CFLAGS += -D_HF_LINUX_INTEL_PT_LIB
61        ARCH_CFLAGS += -I/usr/local/include
62        ARCH_LDFLAGS += -L/usr/local/lib -lipt -Wl,--rpath=/usr/local/lib
63    endif
64    ifeq ("$(wildcard /usr/include/intel-pt.h)","/usr/include/intel-pt.h")
65        ARCH_CFLAGS += -D_HF_LINUX_INTEL_PT_LIB
66        ARCH_LDFLAGS += -lipt
67    endif
68    ifdef WARN_LIBRARY
69        $(info --------------------------------------------------------)
70        $(info Libraries which are most likely missing on your OS.     )
71        $(info This can result in linking/compilation errors.          )
72        $(info > $(WARN_LIBRARY))
73        $(info --------------------------------------------------------)
74    endif
75    # OS Linux
76else ifeq ($(OS),Darwin)
77    ARCH := DARWIN
78
79    # MacOS-X grep seem to use colors unconditionally
80    GREP_COLOR = --color=never
81
82    # Figure out which crash reporter to use.
83    CRASHWRANGLER := third_party/mac
84    OS_VERSION := $(shell sw_vers -productVersion)
85    ifneq (,$(findstring 10.14,$(OS_VERSION)))
86        CRASH_REPORT := $(CRASHWRANGLER)/CrashReport_Sierra.o
87    else ifneq (,$(findstring 10.13,$(OS_VERSION)))
88        CRASH_REPORT := $(CRASHWRANGLER)/CrashReport_Sierra.o
89    else ifneq (,$(findstring 10.12,$(OS_VERSION)))
90        CRASH_REPORT := $(CRASHWRANGLER)/CrashReport_Sierra.o
91    else ifneq (,$(findstring 10.11,$(OS_VERSION)))
92        # El Capitan didn't break compatibility
93        CRASH_REPORT := $(CRASHWRANGLER)/CrashReport_Yosemite.o
94    else ifneq (,$(findstring 10.10,$(OS_VERSION)))
95        CRASH_REPORT := $(CRASHWRANGLER)/CrashReport_Yosemite.o
96    else ifneq (,$(findstring 10.9,$(OS_VERSION)))
97        CRASH_REPORT := $(CRASHWRANGLER)/CrashReport_Mavericks.o
98    else ifneq (,$(findstring 10.8,$(OS_VERSION)))
99        CRASH_REPORT := $(CRASHWRANGLER)/CrashReport_Mountain_Lion.o
100    else
101        $(error Unsupported MAC OS X version)
102    endif
103
104    # Figure out which XCode SDK to use.
105    OSX_SDK_VERSION := $(shell xcrun --show-sdk-version)
106    SDK_NAME_V := macosx$(OSX_SDK_VERSION)
107    SDK_V := $(shell xcrun --sdk $(SDK_NAME) --show-sdk-path 2>/dev/null)
108    SDK_NAME := macosx
109    SDK := $(shell xcrun --sdk $(SDK_NAME) --show-sdk-path 2>/dev/null)
110
111    CC := $(shell xcrun --sdk $(SDK_NAME) --find cc)
112    LD := $(shell xcrun --sdk $(SDK_NAME) --find cc)
113    ARCH_CFLAGS := -arch x86_64 -std=c99 -isysroot $(SDK) \
114                   -x objective-c -pedantic -fblocks \
115                   -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized \
116                   -Wreturn-type -Wpointer-arith -Wno-gnu-case-range -Wno-gnu-designator \
117                   -Wno-deprecated-declarations -Wno-unknown-pragmas -Wno-attributes \
118                   -Wno-embedded-directive
119    ARCH_LDFLAGS := -F/System/Library/PrivateFrameworks -framework CoreSymbolication -framework IOKit \
120                    -F$(SDK_V)/System/Library/Frameworks -F$(SDK_V)/System/Library/PrivateFrameworks \
121                    -F$(SDK)/System/Library/Frameworks \
122                    -framework Foundation -framework ApplicationServices -framework Symbolication \
123                    -framework CoreServices -framework CrashReporterSupport -framework CoreFoundation \
124                    -framework CommerceKit $(CRASH_REPORT)
125
126    XCODE_VER := $(shell xcodebuild -version | grep $(GREP_COLOR) "^Xcode" | cut -d " " -f2)
127    ifeq "8.3" "$(word 1, $(sort 8.3 $(XCODE_VER)))"
128      ARCH_LDFLAGS += -F/Applications/Xcode.app/Contents/SharedFrameworks \
129                      -framework CoreSymbolicationDT \
130                      -Wl,-rpath,/Applications/Xcode.app/Contents/SharedFrameworks
131    endif
132
133    MIG_RET := $(shell mig -header mac/mach_exc.h -user mac/mach_excUser.c -sheader mac/mach_excServer.h \
134                 -server mac/mach_excServer.c $(SDK)/usr/include/mach/mach_exc.defs &>/dev/null; echo $$?)
135    ifeq ($(MIG_RET),1)
136        $(error mig failed to generate RPC code)
137    endif
138    ARCH_SRCS := $(sort $(wildcard mac/*.c))
139    # OS Darwin
140else ifeq ($(OS),NetBSD)
141    ARCH := NETBSD
142
143    ARCH_SRCS := $(sort $(wildcard netbsd/*.c))
144    ARCH_CFLAGS := -std=c11 -I/usr/local/include -I/usr/pkg/include \
145                   -Wextra -Wno-override-init \
146                   -funroll-loops -D_KERNTYPES
147    ARCH_LDFLAGS := -L/usr/local/lib -L/usr/pkg/lib \
148                    -pthread -lcapstone -lrt \
149                    -Wl,--rpath=/usr/pkg/lib
150
151    # OS NetBSD
152else
153    ARCH := POSIX
154
155    ARCH_SRCS := $(sort $(wildcard posix/*.c))
156    ARCH_CFLAGS := -std=c11 -I/usr/local/include \
157                   -Wextra -Wno-initializer-overrides -Wno-override-init \
158                   -Wno-unknown-warning-option -Wno-unknown-pragmas \
159                   -funroll-loops
160    ARCH_LDFLAGS := -pthread -L/usr/local/lib
161    # OS Posix
162endif
163
164CFLAGS_BLOCKS =
165COMPILER = $(shell $(CC) -v 2>&1 | \
166  grep $(GREP_COLOR) -oE '((gcc|clang) version|LLVM version.*clang)' | \
167  grep $(GREP_COLOR) -oE '(clang|gcc)' | head -n1)
168ifeq ($(COMPILER),clang)
169  ARCH_CFLAGS += -Wno-initializer-overrides -Wno-unknown-warning-option
170  ARCH_CFLAGS += -Wno-gnu-empty-initializer -Wno-format-pedantic
171  ARCH_CFLAGS += -Wno-gnu-statement-expression
172  CFLAGS_BLOCKS = -fblocks
173
174  ifneq ($(OS),Darwin)
175    ARCH_LDFLAGS += -lBlocksRuntime
176  endif
177endif
178
179SRCS := $(COMMON_SRCS) $(ARCH_SRCS)
180OBJS := $(SRCS:.c=.o)
181
182LHFUZZ_SRCS := $(sort $(wildcard libhfuzz/*.c))
183LHFUZZ_OBJS := $(LHFUZZ_SRCS:.c=.o)
184LHFUZZ_ARCH := libhfuzz/libhfuzz.a
185HFUZZ_INC ?= $(shell pwd)
186
187LCOMMON_SRCS := $(sort $(wildcard libhfcommon/*.c))
188LCOMMON_OBJS := $(LCOMMON_SRCS:.c=.o)
189LCOMMON_ARCH := libhfcommon/libhfcommon.a
190
191LNETDRIVER_SRCS := $(sort $(wildcard libhfnetdriver/*.c))
192LNETDRIVER_OBJS := $(LNETDRIVER_SRCS:.c=.o)
193LNETDRIVER_ARCH := libhfnetdriver/libhfnetdriver.a
194
195# Respect external user defines
196CFLAGS += $(COMMON_CFLAGS) $(ARCH_CFLAGS) -D_HF_ARCH_${ARCH}
197LDFLAGS += $(COMMON_LDFLAGS) $(ARCH_LDFLAGS)
198
199ifeq ($(DEBUG),true)
200    CFLAGS += -g -ggdb
201    LDFLAGS += -g -ggdb
202endif
203
204# Control Android builds
205ANDROID_API           ?= android-26
206ANDROID_DEBUG_ENABLED ?= false
207ANDROID_CLANG         ?= true
208ANDROID_APP_ABI       ?= armeabi-v7a
209ANDROID_SKIP_CLEAN    ?= false
210NDK_BUILD_ARGS :=
211
212ifeq ($(ANDROID_DEBUG_ENABLED),true)
213  NDK_BUILD_ARGS += V=1 NDK_DEBUG=1 APP_OPTIM=debug
214endif
215
216# By default ndk-build cleans all project files to ensure that no semi-completed
217# builds reach the app package. The following flag disables this check. It's mainly
218# purposed to be used with android-all rule where we want recursive invocations
219# to keep previous targets' binaries.
220ifeq ($(ANDROID_SKIP_CLEAN),true)
221  NDK_BUILD_ARGS += NDK_APP.local.cleaned_binaries=true
222endif
223
224ifeq ($(ANDROID_CLANG),true)
225  ANDROID_NDK_TOOLCHAIN_VER := clang
226  # clang works only against APIs >= 23
227  ifeq ($(ANDROID_APP_ABI),$(filter $(ANDROID_APP_ABI),armeabi armeabi-v7a))
228    ANDROID_NDK_TOOLCHAIN ?= arm-linux-androideabi-clang
229    ANDROID_ARCH_CPU := arm
230  else ifeq ($(ANDROID_APP_ABI),$(filter $(ANDROID_APP_ABI),x86))
231    ANDROID_NDK_TOOLCHAIN ?= x86-clang
232    ANDROID_ARCH_CPU := x86
233  else ifeq ($(ANDROID_APP_ABI),$(filter $(ANDROID_APP_ABI),arm64-v8a))
234    ANDROID_NDK_TOOLCHAIN ?= aarch64-linux-android-clang
235    ANDROID_ARCH_CPU := arm64
236  else ifeq ($(ANDROID_APP_ABI),$(filter $(ANDROID_APP_ABI),x86_64))
237    ANDROID_NDK_TOOLCHAIN ?= x86_64-clang
238    ANDROID_ARCH_CPU := x86_64
239  else
240    $(error Unsuported / Unknown APP_API '$(ANDROID_APP_ABI)')
241  endif
242else
243  ANDROID_NDK_TOOLCHAIN_VER := 4.9
244  ifeq ($(ANDROID_APP_ABI),$(filter $(ANDROID_APP_ABI),armeabi armeabi-v7a))
245    ANDROID_NDK_TOOLCHAIN ?= arm-linux-androideabi-4.9
246    ANDROID_ARCH_CPU := arm
247  else ifeq ($(ANDROID_APP_ABI),$(filter $(ANDROID_APP_ABI),x86))
248    ANDROID_NDK_TOOLCHAIN ?= x86-4.9
249    ANDROID_ARCH_CPU := x86
250  else ifeq ($(ANDROID_APP_ABI),$(filter $(ANDROID_APP_ABI),arm64-v8a))
251    ANDROID_NDK_TOOLCHAIN ?= aarch64-linux-android-4.9
252    ANDROID_ARCH_CPU := arm64
253  else ifeq ($(ANDROID_APP_ABI),$(filter $(ANDROID_APP_ABI),x86_64))
254    ANDROID_NDK_TOOLCHAIN ?= x86_64-4.9
255    ANDROID_ARCH_CPU := x86_64
256  else
257    $(error Unsuported / Unknown APP_API '$(ANDROID_APP_ABI)')
258  endif
259endif
260
261SUBDIR_ROOTS := linux mac netbsd posix libhfuzz libhfcommon libhfnetdriver
262DIRS := . $(shell find $(SUBDIR_ROOTS) -type d)
263CLEAN_PATTERNS := *.o *~ core *.a *.dSYM *.la *.so *.dylib
264SUBDIR_GARBAGE := $(foreach DIR,$(DIRS),$(addprefix $(DIR)/,$(CLEAN_PATTERNS)))
265MAC_GARGBAGE := $(wildcard mac/mach_exc*)
266ANDROID_GARBAGE := obj libs
267
268CLEAN_TARGETS := core Makefile.bak \
269  $(OBJS) $(BIN) $(HFUZZ_CC_BIN) \
270  $(LHFUZZ_ARCH) $(LHFUZZ_OBJS) \
271  $(LCOMMON_ARCH) $(LCOMMON_OBJS) \
272  $(LNETDRIVER_ARCH) $(LNETDRIVER_OBJS) \
273  $(MAC_GARGBAGE) $(ANDROID_GARBAGE) $(SUBDIR_GARBAGE)
274
275all: $(BIN) $(HFUZZ_CC_BIN) $(LHFUZZ_ARCH) $(LCOMMON_ARCH) $(LNETDRIVER_ARCH)
276
277%.o: %.c
278	$(CC) -c $(CFLAGS) $(CFLAGS_BLOCKS) -o $@ $<
279
280%.so: %.c
281	$(CC) -fPIC -shared $(CFLAGS) -o $@ $<
282
283%.dylib: %.c
284	$(CC) -fPIC -shared $(CFLAGS) -o $@ $<
285
286$(BIN): $(OBJS) $(LCOMMON_ARCH)
287	$(LD) -o $(BIN) $(OBJS) $(LDFLAGS)
288
289$(HFUZZ_CC_BIN): $(LCOMMON_ARCH) $(LHFUZZ_ARCH) $(LNETDRIVER_ARCH) $(HFUZZ_CC_SRCS)
290	$(LD) -o $@ $(HFUZZ_CC_SRCS) $(LDFLAGS) $(CFLAGS) $(CFLAGS_BLOCKS) -D_HFUZZ_INC_PATH=$(HFUZZ_INC)
291
292$(LCOMMON_OBJS): $(LCOMMON_SRCS)
293	$(CC) -c $(CFLAGS) $(LIBS_CFLAGS) -o $@ $(@:.o=.c)
294
295$(LCOMMON_ARCH): $(LCOMMON_OBJS)
296	$(AR) rcs $(LCOMMON_ARCH) $(LCOMMON_OBJS)
297
298$(LHFUZZ_OBJS): $(LHFUZZ_SRCS)
299	$(CC) -c $(CFLAGS) $(LIBS_CFLAGS) -o $@ $(@:.o=.c)
300
301$(LHFUZZ_ARCH): $(LHFUZZ_OBJS) $(LCOMMON_OBJS)
302	$(AR) rcs $(LHFUZZ_ARCH) $(LHFUZZ_OBJS) $(LCOMMON_OBJS)
303
304$(LNETDRIVER_OBJS): $(LNETDRIVER_SRCS)
305	$(CC) -c $(CFLAGS) $(LIBS_CFLAGS) -o $@ $(@:.o=.c)
306
307$(LNETDRIVER_ARCH): $(LNETDRIVER_OBJS) $(LCOMMON_OBJS)
308	$(AR) rcs $(LNETDRIVER_ARCH) $(LNETDRIVER_OBJS) $(LCOMMON_OBJS)
309
310.PHONY: clean
311clean:
312	$(RM) -r $(CLEAN_TARGETS)
313
314.PHONY: indent
315indent:
316	clang-format -style="{BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 100, AlignAfterOpenBracket: DontAlign, AllowShortFunctionsOnASingleLine: false, AlwaysBreakBeforeMultilineStrings: false}" -i -sort-includes  *.c *.h */*.c */*.h
317
318.PHONY: depend
319depend: all
320	makedepend -Y. -Y* -- *.c */*.c
321
322.PHONY: android
323android:
324	$(info ***************************************************************)
325	$(info *                 Use Android NDK 15 or newer                 *)
326	$(info ***************************************************************)
327	@ANDROID_API=$(ANDROID_API) third_party/android/scripts/compile-libunwind.sh \
328	third_party/android/libunwind $(ANDROID_ARCH_CPU)
329
330	@ANDROID_API=$(ANDROID_API) third_party/android/scripts/compile-capstone.sh \
331	third_party/android/capstone $(ANDROID_ARCH_CPU)
332
333  ifeq ($(ANDROID_CLANG),true)
334		@ANDROID_API=$(ANDROID_API) third_party/android/scripts/compile-libBlocksRuntime.sh \
335		third_party/android/libBlocksRuntime $(ANDROID_ARCH_CPU)
336  endif
337
338	ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./android/Android.mk \
339    APP_PLATFORM=$(ANDROID_API) APP_ABI=$(ANDROID_APP_ABI) \
340    NDK_TOOLCHAIN=$(ANDROID_NDK_TOOLCHAIN) NDK_TOOLCHAIN_VERSION=$(ANDROID_NDK_TOOLCHAIN_VER) \
341    $(NDK_BUILD_ARGS) APP_MODULES='honggfuzz hfuzz'
342
343# Loop all ABIs and pass-through flags since visibility is lost due to sub-process
344.PHONY: android-all
345android-all:
346	@echo "Cleaning workspace:"
347	$(MAKE) clean
348	@echo ""
349
350	@for abi in armeabi armeabi-v7a arm64-v8a x86 x86_64; do \
351	  ANDROID_APP_ABI=$$abi ANDROID_SKIP_CLEAN=true ANDROID_CLANG=$(ANDROID_CLANG) \
352	  ANDROID_API=$(ANDROID_API) ANDROID_DEBUG_ENABLED=$(ANDROID_DEBUG_ENABLED) \
353	  $(MAKE) android || { \
354	    echo "Recursive make failed"; exit 1; }; \
355	  echo ""; \
356	done
357
358.PHONY: android-clean-deps
359android-clean-deps:
360	@for cpu in arm arm64 x86 x86_64; do \
361	  make -C "third_party/android/capstone" clean; \
362	  rm -rf "third_party/android/capstone/$$cpu"; \
363	  make -C "third_party/android/libunwind" clean; \
364	  rm -rf "third_party/android/libunwind/$$cpu"; \
365	  ndk-build -C "third_party/android/libBlocksRuntime" \
366	    NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=Android.mk clean; \
367	  rm -rf "third_party/android/libBlocksRuntime/$$cpu"; \
368	done
369
370PREFIX		?= /usr/local
371BIN_PATH	=$(PREFIX)/bin
372
373install: all
374	mkdir -p -m 755 $${DESTDIR}$(BIN_PATH)
375	install -m 755 honggfuzz $${DESTDIR}$(BIN_PATH)
376	install -m 755 hfuzz_cc/hfuzz-cc $${DESTDIR}$(BIN_PATH)
377	install -m 755 hfuzz_cc/hfuzz-clang $${DESTDIR}$(BIN_PATH)
378	install -m 755 hfuzz_cc/hfuzz-clang++ $${DESTDIR}$(BIN_PATH)
379	install -m 755 hfuzz_cc/hfuzz-gcc $${DESTDIR}$(BIN_PATH)
380	install -m 755 hfuzz_cc/hfuzz-g++ $${DESTDIR}$(BIN_PATH)
381
382# DO NOT DELETE
383
384cmdline.o: cmdline.h honggfuzz.h libhfcommon/util.h libhfcommon/common.h
385cmdline.o: display.h libhfcommon/files.h libhfcommon/common.h
386cmdline.o: libhfcommon/log.h
387display.o: display.h honggfuzz.h libhfcommon/util.h libhfcommon/common.h
388display.o: libhfcommon/log.h
389fuzz.o: fuzz.h honggfuzz.h libhfcommon/util.h arch.h input.h
390fuzz.o: libhfcommon/common.h libhfcommon/files.h libhfcommon/common.h
391fuzz.o: libhfcommon/log.h mangle.h report.h sanitizers.h socketfuzzer.h
392fuzz.o: subproc.h
393honggfuzz.o: cmdline.h honggfuzz.h libhfcommon/util.h libhfcommon/common.h
394honggfuzz.o: display.h fuzz.h input.h libhfcommon/files.h
395honggfuzz.o: libhfcommon/common.h libhfcommon/log.h socketfuzzer.h subproc.h
396input.o: input.h honggfuzz.h libhfcommon/util.h libhfcommon/common.h
397input.o: libhfcommon/files.h libhfcommon/common.h mangle.h subproc.h
398input.o: libhfcommon/log.h
399mangle.o: mangle.h honggfuzz.h libhfcommon/util.h input.h
400mangle.o: libhfcommon/common.h libhfcommon/log.h
401report.o: report.h honggfuzz.h libhfcommon/util.h libhfcommon/common.h
402report.o: libhfcommon/log.h
403sanitizers.o: sanitizers.h honggfuzz.h libhfcommon/util.h cmdline.h
404sanitizers.o: libhfcommon/common.h libhfcommon/files.h libhfcommon/common.h
405sanitizers.o: libhfcommon/log.h
406socketfuzzer.o: honggfuzz.h libhfcommon/util.h libhfcommon/common.h
407socketfuzzer.o: libhfcommon/files.h libhfcommon/common.h libhfcommon/log.h
408socketfuzzer.o: libhfcommon/ns.h socketfuzzer.h
409subproc.o: subproc.h honggfuzz.h libhfcommon/util.h arch.h fuzz.h
410subproc.o: libhfcommon/common.h libhfcommon/files.h libhfcommon/common.h
411subproc.o: libhfcommon/log.h
412hfuzz_cc/hfuzz-cc.o: honggfuzz.h libhfcommon/util.h libhfcommon/common.h
413hfuzz_cc/hfuzz-cc.o: libhfcommon/files.h libhfcommon/common.h
414hfuzz_cc/hfuzz-cc.o: libhfcommon/log.h
415libhfcommon/files.o: libhfcommon/files.h libhfcommon/common.h
416libhfcommon/files.o: libhfcommon/common.h libhfcommon/log.h
417libhfcommon/files.o: libhfcommon/util.h
418libhfcommon/log.o: libhfcommon/log.h libhfcommon/common.h libhfcommon/util.h
419libhfcommon/ns.o: libhfcommon/ns.h libhfcommon/common.h libhfcommon/files.h
420libhfcommon/ns.o: libhfcommon/common.h libhfcommon/log.h
421libhfcommon/util.o: libhfcommon/util.h libhfcommon/common.h
422libhfcommon/util.o: libhfcommon/files.h libhfcommon/common.h
423libhfcommon/util.o: libhfcommon/log.h
424libhfnetdriver/netdriver.o: libhfnetdriver/netdriver.h honggfuzz.h
425libhfnetdriver/netdriver.o: libhfcommon/util.h libhfcommon/common.h
426libhfnetdriver/netdriver.o: libhfcommon/files.h libhfcommon/common.h
427libhfnetdriver/netdriver.o: libhfcommon/log.h libhfcommon/ns.h
428libhfuzz/fetch.o: libhfuzz/fetch.h honggfuzz.h libhfcommon/util.h
429libhfuzz/fetch.o: libhfcommon/common.h libhfcommon/files.h
430libhfuzz/fetch.o: libhfcommon/common.h libhfcommon/log.h
431libhfuzz/instrument.o: libhfuzz/instrument.h honggfuzz.h libhfcommon/util.h
432libhfuzz/instrument.o: libhfcommon/common.h libhfcommon/log.h
433libhfuzz/linux.o: libhfcommon/common.h libhfcommon/files.h
434libhfuzz/linux.o: libhfcommon/common.h libhfcommon/log.h libhfcommon/ns.h
435libhfuzz/linux.o: libhfuzz/libhfuzz.h
436libhfuzz/memorycmp.o: libhfcommon/common.h libhfuzz/instrument.h
437libhfuzz/persistent.o: libhfuzz/libhfuzz.h honggfuzz.h libhfcommon/util.h
438libhfuzz/persistent.o: libhfcommon/common.h libhfcommon/files.h
439libhfuzz/persistent.o: libhfcommon/common.h libhfcommon/log.h
440libhfuzz/persistent.o: libhfuzz/fetch.h libhfuzz/instrument.h
441linux/arch.o: arch.h honggfuzz.h libhfcommon/util.h fuzz.h
442linux/arch.o: libhfcommon/common.h libhfcommon/files.h libhfcommon/common.h
443linux/arch.o: libhfcommon/log.h libhfcommon/ns.h linux/perf.h linux/trace.h
444linux/arch.o: sanitizers.h subproc.h
445linux/bfd.o: linux/bfd.h linux/unwind.h honggfuzz.h libhfcommon/util.h
446linux/bfd.o: libhfcommon/common.h libhfcommon/files.h libhfcommon/common.h
447linux/bfd.o: libhfcommon/log.h
448linux/perf.o: linux/perf.h honggfuzz.h libhfcommon/util.h
449linux/perf.o: libhfcommon/common.h libhfcommon/files.h libhfcommon/common.h
450linux/perf.o: libhfcommon/log.h linux/pt.h
451linux/pt.o: libhfcommon/common.h libhfcommon/log.h libhfcommon/util.h
452linux/pt.o: linux/pt.h honggfuzz.h
453linux/trace.o: linux/trace.h honggfuzz.h libhfcommon/util.h
454linux/trace.o: libhfcommon/common.h libhfcommon/files.h libhfcommon/common.h
455linux/trace.o: libhfcommon/log.h linux/bfd.h linux/unwind.h sanitizers.h
456linux/trace.o: socketfuzzer.h subproc.h
457linux/unwind.o: linux/unwind.h honggfuzz.h libhfcommon/util.h
458linux/unwind.o: libhfcommon/common.h libhfcommon/log.h
459mac/arch.o: arch.h honggfuzz.h libhfcommon/util.h fuzz.h libhfcommon/common.h
460mac/arch.o: libhfcommon/files.h libhfcommon/common.h libhfcommon/log.h
461mac/arch.o: subproc.h
462netbsd/arch.o: arch.h honggfuzz.h libhfcommon/util.h fuzz.h
463netbsd/arch.o: libhfcommon/common.h libhfcommon/files.h libhfcommon/common.h
464netbsd/arch.o: libhfcommon/log.h libhfcommon/ns.h netbsd/trace.h subproc.h
465netbsd/trace.o: netbsd/trace.h honggfuzz.h libhfcommon/util.h
466netbsd/trace.o: libhfcommon/common.h libhfcommon/files.h libhfcommon/common.h
467netbsd/trace.o: libhfcommon/log.h netbsd/unwind.h socketfuzzer.h subproc.h
468netbsd/unwind.o: netbsd/unwind.h honggfuzz.h libhfcommon/util.h
469netbsd/unwind.o: libhfcommon/common.h libhfcommon/log.h
470posix/arch.o: arch.h honggfuzz.h libhfcommon/util.h fuzz.h
471posix/arch.o: libhfcommon/common.h libhfcommon/files.h libhfcommon/common.h
472posix/arch.o: libhfcommon/log.h subproc.h
473