Makefile 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. -DPALDIR="$(shell readlink -f ../..)/" -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
  31. [ ! -f libpal_sec.so ] || mv -f libpal_sec.so libpal_sec.so.backup