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