First version
[3rdparty/ote_partner/tlk.git] / task / rules.mk
1 LOCAL_DIR := $(GET_LOCAL_DIR)
2
3 # list of tasks to link with lk.sys
4 TASKS := $(LOCAL_DIR)/../../../vendor/nvidia/proprietary/trusted_app/trusted_app
5 TASKS += $(LOCAL_DIR)/../../../vendor/nvidia/proprietary/trusted_app2/trusted_app2
6
7 TASKDIR := $(BUILDDIR)/tasks
8
9 TASK_OBJ := $(TASKDIR)/task.o
10 TASK_BIN := $(TASKDIR)/task
11
12 GENERATED += $(TASK_OBJ) $(TASK_BIN)
13
14 #
15 # Create a task.o from the concatenation of tasks to be made available.
16 # To control placement in the final LK image, the tasks .data section is
17 # renamed to .task.data, so it's picked up in a page-aligned part of the
18 # data section by the linker script (allowing tasks to run, in-place).
19 #
20 $(TASK_OBJ): $(TASK_BIN)
21         @$(MKDIR)
22         @echo generating $@
23         cd $(TASKDIR); $(LD) -r -b binary -o $(notdir $@) $(notdir $^)
24         $(OBJCOPY) --prefix-sections=.task $@
25
26 $(TASK_BIN): $(TASKS)
27         @$(MKDIR)
28         @echo combining tasks $@
29         cat $(TASKS) > $@