Makefile 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. include Makefile.am
  2. CFLAGS += -I. -Iinclude -I../.. -I../../../include -I../../../lib \
  3. -I../../../ipc/linux \
  4. -I../../../linux-kernel/graphene
  5. ASFLAGS += -I. -Iinclude -I../.. -I../../../include
  6. ifeq ($(PROFILING),1)
  7. CFLAGS += -DPROFILING=1
  8. endif
  9. host_files = libpal-Linux.a
  10. defs = -DIN_PAL -DPAL_DIR=$(PAL_DIR) -DRUNTIME_DIR=$(RUNTIME_DIR)
  11. objs = $(addprefix db_,files devices pipes sockets streams memory threading \
  12. mutex events process object main rtld misc ipc \
  13. exception) manifest clone-x86_64 gettimeofday-x86_64
  14. graphene_lib = ../../.lib/graphene-lib.a
  15. headers = $(wildcard *.h) $(wildcard ../../*.h) $(wildcard ../../../lib/*.h)
  16. .PHONY: all
  17. all: $(host_files)
  18. ifeq ($(DEBUG),1)
  19. CC += -gdwarf-2 -g3
  20. CFLAGS += -DDEBUG
  21. export DEBUG
  22. endif
  23. ../../host_endian.h: host_endian.h
  24. $(MAKE) -C ../.. $<
  25. libpal-Linux.a: $(addsuffix .o,$(objs)) $(graphene_lib)
  26. @echo [ host/Linux/$@ ]
  27. @$(AR) $(ARFLAGS) $@ $^
  28. %.asm: %.c $(headers)
  29. $(CC) $(CFLAGS) $(defs) -c $< -o $<.o
  30. @objdump -S $<.o > $@
  31. @rm $<.o
  32. %.o: %.c $(headers)
  33. @echo [ host/Linux/$@ ]
  34. @$(CC) $(CFLAGS) $(defs) -c $< -o $@
  35. %.e: %.c $(headers)
  36. @echo [ host/Linux/$@ ]
  37. @$(CC) $(CFLAGS) $(defs) -E $< -o $@
  38. %.o: %.S $(headers)
  39. @echo [ host/Linux/$@ ]
  40. @$(AS) $(ASFLAGS) $(defs) -c $< -o $@
  41. %.e: %.S $(headers)
  42. @echo [ host/Linux/$@ ]
  43. @$(AS) $(ASFLAGS) $(defs) -E $< -o $@
  44. .PHONY: clean
  45. clean:
  46. rm -f $(addsuffix .o,$(objs)) $(host_files)