Makefile 899 B

123456789101112131415161718192021222324252627282930313233343536
  1. CC = gcc
  2. LD = ld
  3. CFLAGS = -Wall -fPIC -O2 -std=gnu99 -fgnu89-inline -Wall -U_FORTIFY_SOURCE \
  4. -fno-stack-protector -fno-builtin \
  5. -DPAL_LOADER_PATH="$(abspath ../../libpal.so)" \
  6. -I. -I../../host/Linux/include -I../.. -I../../../include -I../../host/Linux \
  7. -I../../../lib -I../../../linux-kernel/graphene
  8. LDFLAGS = -shared -nostdlib -z combreloc -z defs --version-script pal-sec.map -e start
  9. objs = bpf_helper filter main manifest printf
  10. graphene_lib = ../../.lib/graphene-lib.a
  11. .PHONY: all
  12. all: libpal_sec.so
  13. ifeq ($(DEBUG),1)
  14. CC += -g
  15. CFLAGS += -DDEBUG
  16. endif
  17. libpal_sec.so: $(addsuffix .o,$(objs)) $(graphene_lib)
  18. @echo [ security/Linux/$@ ]
  19. @$(LD) $(LDFLAGS) -o $@ $^ -soname=libpal_sec.so
  20. %.o: %.c
  21. @echo [ security/Linux/$@ ]
  22. @$(CC) $(CFLAGS) -c $< -o $@
  23. %.e: %.c
  24. @echo [ security/Linux/$@ ]
  25. @$(CC) $(CFLAGS) -E $< -o $@
  26. .PHONY: clean
  27. clean:
  28. rm -rf *.o libpal_sec.so