Makefile 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. MAKEFLAGS += --check-symlink-times
  2. CC = gcc
  3. LD = ld
  4. CFLAGS = -Wall -fPIC -O2 -std=gnu99 -fgnu89-inline -Wall -U_FORTIFY_SOURCE \
  5. -fno-stack-protector -fno-builtin \
  6. -DPAL_LOADER_PATH="$(shell readlink -f ../../pal)" -DIN_PAL \
  7. -I. -I../.. -I../../../include -I../../host/Linux \
  8. -I../../../lib -I../../../linux-3.5/graphene
  9. LDFLAGS = -shared -nostdlib -z combreloc -z defs --version-script pal-sec.map -e start
  10. objs = bpf_helper filter main manifest wrapper slab printf
  11. graphene_lib = ../../../lib/graphene-lib.a
  12. all: libpal_sec.so
  13. debug: debug = debug
  14. debug: CC = gcc -g
  15. debug: CFLAGS += -DDEBUG
  16. debug: libpal_sec.so
  17. $(graphene_lib):
  18. make -C ../../../lib $(debug)
  19. libpal_sec.so: $(addsuffix .o,$(objs)) $(graphene_lib)
  20. @echo [ security/Linux/$@ ]
  21. @[ ! -f $@ ] || mv -f $@ $@.backup
  22. @$(LD) $(LDFLAGS) -o $@ $^ -soname=libpal_sec.so
  23. %.o: %.c
  24. @echo [ security/Linux/$@ ]
  25. @$(CC) $(CFLAGS) -c $< -o $@
  26. %.e: %.c
  27. @echo [ security/Linux/$@ ]
  28. @$(CC) $(CFLAGS) -E $< -o $@
  29. clean:
  30. rm -rf *.o libpal_sec.so