| # SPDX-License-Identifier: GPL-2.0 | |
| CFLAGS += -D_FILE_OFFSET_BITS=64 -Wall -Werror -I../.. -I../../../../.. | |
| LDLIBS := -lpthread -lelf | |
| TEST_GEN_PROGS := fuse_test fuse_daemon | |
| TEST_GEN_FILES := \ | |
| test_bpf.bpf \ | |
| fd_bpf.bpf \ | |
| fd.sh \ | |
| EXTRA_CLEAN := *.bpf | |
| BPF_FLAGS = -Wall -Werror -O2 -g -emit-llvm \ | |
| -I ../../../../../include \ | |
| -idirafter /usr/lib/gcc/x86_64-linux-gnu/10/include \ | |
| -idirafter /usr/local/include \ | |
| -idirafter /usr/include/x86_64-linux-gnu \ | |
| -idirafter /usr/include \ | |
| include ../../lib.mk | |
| # Put after include ../../lib.mk since that changes $(TEST_GEN_PROGS) | |
| # Otherwise you get multiple targets, this becomes the default, and it's a mess | |
| EXTRA_SOURCES := bpf_loader.c | |
| $(TEST_GEN_PROGS) : $(EXTRA_SOURCES) | |
| $(OUTPUT)/%.ir: %.c | |
| clang $(BPF_FLAGS) -c $< -o $@ | |
| $(OUTPUT)/%.bpf: $(OUTPUT)/%.ir | |
| llc -march=bpf -filetype=obj -o $@ $< | |
| $(OUTPUT)/fd.sh: fd.txt | |
| cp $< $@ | |
| chmod 755 $@ | |