Makefile 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. include ../../../../Scripts/Makefile.configs
  2. include Makefile.am
  3. CFLAGS += -I. -Iinclude -I../.. -I../../../include -I../../../include/pal \
  4. -I../../../include/host/Linux -I../../../include/lib \
  5. -I../../../include/host/Linux-common
  6. ASFLAGS += -I. -Iinclude -I../.. -I../../../include
  7. host_files = libpal-Linux.a pal.map
  8. defs = -DIN_PAL -DPAL_DIR=$(PAL_DIR) -DRUNTIME_DIR=$(RUNTIME_DIR)
  9. CFLAGS += $(defs)
  10. ASFLAGS += $(defs)
  11. commons_objs = bogomips.o
  12. objs = \
  13. clone-x86_64.o \
  14. db_devices.o \
  15. db_eventfd.o \
  16. db_events.o \
  17. db_exception.o \
  18. db_files.o \
  19. db_main.o \
  20. db_memory.o \
  21. db_misc.o \
  22. db_mutex.o \
  23. db_object.o \
  24. db_pipes.o \
  25. db_process.o \
  26. db_rtld.o \
  27. db_sockets.o \
  28. db_streams.o \
  29. db_threading.o \
  30. $(commons_objs)
  31. graphene_lib = .lib/graphene-lib.a
  32. .PHONY: all
  33. all: $(host_files)
  34. libpal-Linux.a: $(objs) $(graphene_lib)
  35. $(call cmd,ar_a_o)
  36. $(commons_objs): %.o: ../Linux-common/%.c
  37. $(call cmd,cc_o_c)
  38. %.o: %.c
  39. $(call cmd,cc_o_c)
  40. %.i: %.c
  41. $(call cmd,cpp_i_c)
  42. %.s: %.c
  43. $(call cmd,cc_s_c)
  44. %.o: %.S
  45. $(call cmd,as_o_S)
  46. %.s: %.S
  47. $(call cmd,cpp_s_S)
  48. include ../../../../Scripts/Makefile.rules
  49. ifeq ($(filter %clean,$(MAKECMDGOALS)),)
  50. -include $(patsubst %.o,%.d,$(objs)) $(patsubst %.o,%.i.d,$(objs)) $(patsubst %.o,%.s.d,$(objs))
  51. endif
  52. CLEAN_FILES += $(notdir $(pal_static) $(pal_lib) $(pal_sec) $(pal_loader))
  53. .PHONY: clean
  54. clean:
  55. $(RM) $(objs) $(host_files) $(CLEAN_FILES) \
  56. $(patsubst %.o,%.d,$(objs)) $(patsubst %.o,%.i.d,$(objs)) \
  57. $(patsubst %.o,%.s.d,$(objs))
  58. .PHONY: distclean
  59. distclean: clean
  60. .PHONY: test
  61. test: