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@480 | 18 | CLIENT_INTERFACES_CC = dataspace mapped_file notifier |
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@366 | 31 | common.cc elf.cc external_pager.cc \ |
paul@366 | 32 | internal_pager.cc memory.cc pager.cc \ |
paul@483 | 33 | process.cc process_creating.cc \ |
paul@491 | 34 | process_creator_context_resource.cc \ |
paul@483 | 35 | process_creator_resource.cc \ |
paul@483 | 36 | segment.cc stack.cc |
paul@355 | 37 | |
paul@355 | 38 | # Normal definitions. |
paul@355 | 39 | |
paul@355 | 40 | SRC_CC = \ |
paul@355 | 41 | $(CLIENT_INTERFACES_SRC_CC) \ |
paul@355 | 42 | $(SERVER_INTERFACES_SRC_CC) \ |
paul@355 | 43 | $(PLAIN_SRC_CC) |
paul@355 | 44 | |
paul@483 | 45 | REQUIRES_LIBS = l4re_c-util libmem libipc libstdc++ libsystypes libfsclient libfsserver |
paul@355 | 46 | |
paul@355 | 47 | PRIVATE_INCDIR = $(PKGDIR)/include/exec $(IDL_BUILD_DIR) $(IDL_EXPORT_DIR) |
paul@355 | 48 | |
paul@324 | 49 | CONTRIB_INCDIR = libexec |
paul@324 | 50 | |
paul@324 | 51 | include $(L4DIR)/mk/lib.mk |
paul@355 | 52 | include $(IDL_MK_DIR)/interface_rules.mk |
paul@355 | 53 | |
paul@375 | 54 | $(PLAIN_SRC_CC): $(CLIENT_INTERFACES_SRC_CC) $(SERVER_INTERFACES_SRC_CC) |