xref: /xen/tools/fuzz/libelf/Makefile
  • Home
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • current directory
1XEN_ROOT = $(CURDIR)/../../..
2include $(XEN_ROOT)/tools/Rules.mk
3
4LIBELF_OBJS := libelf-tools.o libelf-loader.o libelf-dominfo.o
5
6CFLAGS += -iquote ../../../xen/common/libelf
7$(LIBELF_OBJS): CFLAGS += -Wno-pointer-sign
8$(LIBELF_OBJS): CFLAGS += -DFUZZ_NO_LIBXC $(CFLAGS_xeninclude)
9
10libelf-fuzzer.o: CFLAGS += $(CFLAGS_xeninclude)
11
12$(LIBELF_OBJS:.o=.c): libelf-%.c: ../../../xen/common/libelf/libelf-%.c FORCE
13	ln -nsf $< $@
14
15libelf.a: libelf-fuzzer.o $(LIBELF_OBJS)
16	$(AR) rc $@ $^
17
18.PHONY: libelf-fuzzer-all
19libelf-fuzzer-all: libelf.a libelf-fuzzer.o
20
21afl-libelf-fuzzer: afl-libelf-fuzzer.o libelf-fuzzer.o $(LIBELF_OBJS)
22	$(CC) $(CFLAGS) $^ -o $@
23
24# Common targets
25.PHONY: all
26all: libelf-fuzzer-all
27
28.PHONY: distclean
29distclean: clean
30
31.PHONY: clean
32clean:
33	rm -f *.o .*.d *.a *-libelf-fuzzer $(LIBELF_OBJS:.o=.c)
34
35.PHONY: install
36install: all
37
38.PHONY: uninstall
39
40.PHONY: afl
41afl: afl-libelf-fuzzer
42

Last Index update Fri Aug 22 08:59:00 CST 2025