paul@376 | 1 | PKGDIR ?= .. |
paul@376 | 2 | L4DIR ?= $(PKGDIR)/../../.. |
paul@376 | 3 | |
paul@376 | 4 | TARGET = exec_region_mapper |
paul@376 | 5 | |
paul@376 | 6 | MODE = static |
paul@376 | 7 | |
paul@376 | 8 | # Relocate the binary to avoid conflicting with actual payloads. |
paul@376 | 9 | |
paul@376 | 10 | DEFAULT_RELOC_x86 := 0xb0000000 |
paul@376 | 11 | DEFAULT_RELOC_arm := 0xb0000000 |
paul@376 | 12 | DEFAULT_RELOC_arm64 := 0xc0000000 |
paul@376 | 13 | DEFAULT_RELOC_ppc32 := 0xb0000000 |
paul@376 | 14 | DEFAULT_RELOC_amd64 := 0x70000000 |
paul@376 | 15 | DEFAULT_RELOC_mips := 0x70000000 |
paul@376 | 16 | |
paul@376 | 17 | # Locations for interface input and generated output. |
paul@376 | 18 | |
paul@376 | 19 | IDL_DIR = $(PKGDIR)/../libsystypes/idl |
paul@376 | 20 | IDL_MK_DIR = $(L4DIR)/idl4re/mk |
paul@376 | 21 | IDL_BUILD_DIR = . |
paul@376 | 22 | IDL_EXPORT_DIR = . |
paul@376 | 23 | |
paul@376 | 24 | include $(IDL_MK_DIR)/idl.mk |
paul@376 | 25 | |
paul@376 | 26 | # Compound interfaces. |
paul@376 | 27 | |
paul@376 | 28 | pager_object_NAME = PagerObject |
paul@376 | 29 | pager_object_INTERFACES = region_mapper system_pager |
paul@376 | 30 | |
paul@376 | 31 | COMP_INTERFACES_CC = pager_object |
paul@376 | 32 | |
paul@376 | 33 | # Individual interfaces. |
paul@376 | 34 | |
paul@376 | 35 | SERVER_INTERFACES_CC = $(call common_interfaces,$(COMP_INTERFACES_CC)) |
paul@376 | 36 | |
paul@376 | 37 | # Generated and plain source files. |
paul@376 | 38 | |
paul@376 | 39 | SERVER_INTERFACES_SRC_CC = $(call interfaces_to_server_cc,$(SERVER_INTERFACES_CC) $(COMP_INTERFACES_CC)) |
paul@376 | 40 | |
paul@376 | 41 | # Normal source files. |
paul@376 | 42 | |
paul@376 | 43 | PLAIN_SRC_CC = region_mapper.cc |
paul@376 | 44 | SRC_CC = $(PLAIN_SRC_CC) $(SERVER_INTERFACES_SRC_CC) |
paul@376 | 45 | |
paul@376 | 46 | REQUIRES_LIBS = libc libstdc++ libexec libipc |
paul@376 | 47 | PRIVATE_INCDIR = $(IDL_BUILD_DIR) $(IDL_EXPORT_DIR) |
paul@376 | 48 | |
paul@376 | 49 | include $(L4DIR)/mk/prog.mk |
paul@376 | 50 | include $(IDL_MK_DIR)/interface_rules.mk |
paul@376 | 51 | |
paul@376 | 52 | $(PLAIN_SRC_CC): $(SERVER_INTERFACES_SRC_CC) |