Makefile 945 B

12345678910111213141516171819202122232425262728293031323334
  1. # SPDX-License-Identifier: GPL-2.0
  2. CFLAGS += -D_FILE_OFFSET_BITS=64 -Wall -Werror -I../.. -I../../../../.. -I../../../../include
  3. LDLIBS := -lpthread -lelf
  4. TEST_GEN_PROGS := fuse_test fuse_daemon
  5. TEST_GEN_FILES := \
  6. test_bpf.bpf \
  7. fd_bpf.bpf \
  8. fd.sh \
  9. EXTRA_CLEAN := *.bpf
  10. BPF_FLAGS = -Wall -Werror -O2 -g -emit-llvm \
  11. -I ../../../../../include \
  12. -idirafter /usr/lib/gcc/x86_64-linux-gnu/10/include \
  13. -idirafter /usr/local/include \
  14. -idirafter /usr/include/x86_64-linux-gnu \
  15. -idirafter /usr/include \
  16. include ../../lib.mk
  17. # Put after include ../../lib.mk since that changes $(TEST_GEN_PROGS)
  18. # Otherwise you get multiple targets, this becomes the default, and it's a mess
  19. EXTRA_SOURCES := bpf_loader.c
  20. $(TEST_GEN_PROGS) : $(EXTRA_SOURCES)
  21. $(OUTPUT)/%.ir: %.c
  22. clang $(BPF_FLAGS) -c $< -o $@
  23. $(OUTPUT)/%.bpf: $(OUTPUT)/%.ir
  24. llc -march=bpf -filetype=obj -o $@ $<
  25. $(OUTPUT)/fd.sh: fd.txt
  26. cp $< $@
  27. chmod 755 $@