Makefile 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. NAME = ebpf
  2. INI_DIR = /etc/php/7.4/cli/conf.d/
  3. EXTENSION_DIR = $(shell php-config --extension-dir)
  4. EXTENSION = ${NAME}.so
  5. INI = ${NAME}.ini
  6. COMPILER = g++
  7. LINKER = g++
  8. LIB_BCC = /opt/github/bcc/src
  9. COMPILER_FLAGS = -Wall -c -O2 -fpic -I${LIB_BCC}/cc -I${LIB_BCC}/cc/api -I${LIB_BCC}/cc/frontends/clang -I/usr/lib/llvm-14/include -DKERNEL_MODULES_DIR=\"/lib/modules/5.15.0-130-generic\" -o
  10. LINKER_FLAGS = -shared
  11. LINKER_DEPENDENCIES = -lphpcpp -lbcc
  12. RM = rm -f
  13. CP = cp -f
  14. MKDIR = mkdir -p
  15. SOURCES = $(wildcard *.cpp)
  16. OBJECTS = $(SOURCES:%.cpp=%.o)
  17. #
  18. # From here the build instructions start
  19. #
  20. BCC_SHARED_DIR=/opt/github/bcc/build/src/cc/CMakeFiles/bcc-shared.dir
  21. BCC1 = ${BCC_SHARED_DIR}/*.o
  22. all: ${OBJECTS} ${EXTENSION}
  23. ${EXTENSION}: ${OBJECTS}
  24. ${LINKER} ${LINKER_FLAGS} -o $@ ${OBJECTS} ${BCC} ${LINKER_DEPENDENCIES}
  25. ${OBJECTS}:
  26. ${COMPILER} ${COMPILER_FLAGS} $@ ${@:%.o=%.cpp}
  27. install:
  28. ${CP} ${EXTENSION} ${EXTENSION_DIR}
  29. ${CP} ${INI} ${INI_DIR}
  30. clean:
  31. ${RM} ${EXTENSION} ${OBJECTS}