paul@324 | 1 | PKGDIR ?= ../.. |
paul@324 | 2 | L4DIR ?= $(PKGDIR)/../../.. |
paul@324 | 3 | |
paul@324 | 4 | TARGET = libexec.a libexec.so |
paul@324 | 5 | PC_FILENAME = libexec |
paul@355 | 6 | |
paul@355 | 7 | # Locations for interface input and generated output. |
paul@355 | 8 | |
paul@355 | 9 | IDL_DIR = $(PKGDIR)/../libsystypes/idl |
paul@355 | 10 | IDL_MK_DIR = $(L4DIR)/idl4re/mk |
paul@355 | 11 | IDL_BUILD_DIR = . |
paul@483 | 12 | IDL_EXPORT_DIR = $(OBJ_BASE)/include/contrib/$(CONTRIB_INCDIR)/exec |
paul@355 | 13 | |
paul@355 | 14 | include $(IDL_MK_DIR)/idl.mk |
paul@355 | 15 | |
paul@462 | 16 | # Required interfaces. |
paul@355 | 17 | |
paul@532 | 18 | CLIENT_INTERFACES_CC = dataspace |
paul@324 | 19 | |
paul@491 | 20 | SERVER_INTERFACES_CC = opener pager_object parent_pager_object process_creator_context_object |
paul@355 | 21 | |
paul@355 | 22 | # Generated and plain source files. |
paul@355 | 23 | |
paul@355 | 24 | CLIENT_INTERFACES_SRC_CC = $(call interfaces_to_client_cc,$(CLIENT_INTERFACES_CC)) |
paul@355 | 25 | |
paul@462 | 26 | SERVER_INTERFACES_SRC_CC = $(call interfaces_to_server_cc,$(SERVER_INTERFACES_CC)) |
paul@355 | 27 | |
paul@355 | 28 | # Normal source files. |
paul@355 | 29 | |
paul@365 | 30 | PLAIN_SRC_CC = \ |
paul@515 | 31 | common.cc elf.cc \ |
paul@515 | 32 | external_pager.cc \ |
paul@515 | 33 | internal_pager.cc \ |
paul@515 | 34 | memory.cc memory_area.cc \ |
paul@515 | 35 | pager.cc \ |
paul@483 | 36 | process.cc process_creating.cc \ |
paul@491 | 37 | process_creator_context_resource.cc \ |
paul@483 | 38 | process_creator_resource.cc \ |
paul@483 | 39 | segment.cc stack.cc |
paul@355 | 40 | |
paul@355 | 41 | # Normal definitions. |
paul@355 | 42 | |
paul@355 | 43 | SRC_CC = \ |
paul@355 | 44 | $(CLIENT_INTERFACES_SRC_CC) \ |
paul@355 | 45 | $(SERVER_INTERFACES_SRC_CC) \ |
paul@355 | 46 | $(PLAIN_SRC_CC) |
paul@355 | 47 | |
paul@535 | 48 | REQUIRES_LIBS = l4re_c-util libmem libipc libstdc++ libsystypes libfsclient libfsserver libresource |
paul@355 | 49 | |
paul@355 | 50 | PRIVATE_INCDIR = $(PKGDIR)/include/exec $(IDL_BUILD_DIR) $(IDL_EXPORT_DIR) |
paul@355 | 51 | |
paul@324 | 52 | CONTRIB_INCDIR = libexec |
paul@324 | 53 | |
paul@324 | 54 | include $(L4DIR)/mk/lib.mk |
paul@355 | 55 | include $(IDL_MK_DIR)/interface_rules.mk |
paul@355 | 56 | |
paul@375 | 57 | $(PLAIN_SRC_CC): $(CLIENT_INTERFACES_SRC_CC) $(SERVER_INTERFACES_SRC_CC) |