| ifneq ($(strip $(CONFIG_MAX_NUM_TASK_IRQS)),) |
| ifneq (${CONFIG_MAX_NUM_TASK_IRQS},0) |
| TASK_IRQS=y |
| endif |
| endif |
| |
| define filechk_prj.vpf |
| (echo "% WARNING. THIS FILE IS AUTO-GENERATED. DO NOT MODIFY!"; \ |
| echo; \ |
| echo "% CONFIG NUM_COMMAND_PACKETS NUM_TIMER_PACKETS NUM_TASK_PRIORITIES"; \ |
| echo "% ============================================================="; \ |
| echo " CONFIG ${CONFIG_NUM_COMMAND_PACKETS} ${CONFIG_NUM_TIMER_PACKETS} ${CONFIG_NUM_TASK_PRIORITIES}"; \ |
| echo; \ |
| echo "% TASKGROUP NAME";\ |
| echo "% ==============";\ |
| echo " TASKGROUP EXE";\ |
| echo " TASKGROUP SYS";\ |
| echo " TASKGROUP FPU";\ |
| echo " TASKGROUP SSE";\ |
| echo; \ |
| if test "$(TASK_IRQS)" = "y"; then \ |
| echo "% Task IRQ objects";\ |
| echo "% EVENT NAME HANDLER"; \ |
| echo "% ======================================="; \ |
| i=0; \ |
| while [ $$i -lt $(CONFIG_MAX_NUM_TASK_IRQS) ]; do \ |
| echo " EVENT _TaskIrqEvt$$i NULL"; \ |
| i=$$(($$i+1));\ |
| done; \ |
| fi; \ |
| cat $(PROJECT_BASE)/$(VPFILE); \ |
| cat $(srctree)/config/$(CONFIG_BSP_DIR)/ukernel/config1p.vpf;) |
| endef |
| |
| misc/generated/sysgen/prj.vpf: $(srctree)/config/$(CONFIG_BSP_DIR)/ukernel/config1p.vpf \ |
| $(PROJECT_BASE)/$(VPFILE) \ |
| include/config/auto.conf FORCE |
| $(call filechk,prj.vpf) |
| |
| misc/generated/sysgen/kernel_main.c: misc/generated/sysgen/prj.vpf FORCE |
| $(Q)$(srctree)/scripts/sysgen.py $(CURDIR)/misc/generated/sysgen/prj.vpf $(CURDIR)/misc/generated/sysgen/ |
| |
| define filechk_configs.c |
| (echo "/* file is auto-generated, do not modify ! */"; \ |
| echo; \ |
| echo "#include <toolchain.h>"; \ |
| echo; \ |
| echo "GEN_ABS_SYM_BEGIN (_ConfigAbsSyms)"; \ |
| echo; \ |
| cat $(CURDIR)/include/generated/autoconf.h | sed \ |
| 's/".*"/1/' | awk \ |
| '/#define/{printf "GEN_ABSOLUTE_SYM(%s, %s);\n", $$2, $$3}'; \ |
| echo; \ |
| echo "GEN_ABS_SYM_END";) |
| endef |
| |
| misc/generated/configs.c: include/config/auto.conf FORCE |
| $(call filechk,configs.c) |
| |
| define filechk_offsets.h |
| (echo "/* THIS FILE IS AUTO-GENERATED. PLEASE DO NOT EDIT */"; \ |
| echo; \ |
| echo "/*"; \ |
| echo " * This header file provides macros for the offsets of various structure"; \ |
| echo " * members. These offset macros are primarily intended to be used in"; \ |
| echo " * assembly code."; \ |
| echo " */"; \ |
| echo; \ |
| echo "/*"; \ |
| echo " * Auto-generated header guard."; \ |
| echo " */"; \ |
| echo "#ifndef _OFFSETS_H_"; \ |
| echo "#define _OFFSETS_H_"; \ |
| echo; \ |
| echo "#ifdef __cplusplus"; \ |
| echo "extern "C" {"; \ |
| echo "#endif"; \ |
| echo; \ |
| echo "/* defines */"; \ |
| echo; \ |
| nm -g $(CURDIR)/include/generated/offsets.o | sed -n 's/^\([0-9a-z]*\)\s\w\s\(\S*\)$$/#define \2 0x\1/p'; \ |
| echo; \ |
| echo "#ifdef __cplusplus"; \ |
| echo "}"; \ |
| echo "#endif"; \ |
| echo; \ |
| echo "#endif /* _OFFSETS_H_ */";) |
| endef |
| |
| include/generated/offsets.h: include/generated/offsets.o include/config/auto.conf FORCE |
| $(call filechk,offsets.h) |
| |
| define rule_cc_o_c |
| $(call echo-cmd,cc_o_c) $(cmd_cc_o_c); |
| endef |
| |
| OFFSETS_INCLUDE = $(strip \ |
| -I $(srctree)/include \ |
| -I $(CURDIR)/include/generated \ |
| -I $(srctree)/kernel/microkernel/include \ |
| -I $(srctree)/kernel/nanokernel/include \ |
| -I $(srctree)/target/src/kernel/arch/common/include \ |
| -I $(srctree)/lib/libc/minimal/include \ |
| -I $(srctree)/arch/${SRCARCH}/include ) |
| |
| cmd_cc_o_c = $(CC) $(KBUILD_CFLAGS) $(OFFSETS_INCLUDE) $(USERINCLUDE) -c -o $@ $< |
| |
| include/generated/offsets.o: $(srctree)/arch/$(SRCARCH)/core/offsets/offsets.c FORCE |
| $(call if_changed_rule,cc_o_c) |
| |
| .PHONY: $(srctree)/config/$(CONFIG_BSP_DIR)/ukernel/config1p.vpf |