zephyr/scripts/Makefile.preparch
Allan Stephens a0148a8544 Rename sysgen.py to sysgen
Gets rid of the Python file extension, since the fact the code is
written in this language could conceivably change someday (and
doesn't really need to be advertised to anyone invoking it).

Change-Id: I0d01a89fd25e4a0f033099a4bcea674bc302c658
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:25 -05:00

112 lines
3.4 KiB
Makefile

ifneq ($(strip $(CONFIG_MAX_NUM_TASK_IRQS)),)
ifneq (${CONFIG_MAX_NUM_TASK_IRQS},0)
TASK_IRQS=y
endif
endif
define filechk_prj.mdef
(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)/$(MDEF_FILE); \
cat $(srctree)/config/$(CONFIG_BSP_DIR)/ukernel/config1p.mdef;)
endef
misc/generated/sysgen/prj.mdef: $(srctree)/config/$(CONFIG_BSP_DIR)/ukernel/config1p.mdef \
$(PROJECT_BASE)/$(MDEF_FILE) \
include/config/auto.conf FORCE
$(call filechk,prj.mdef)
misc/generated/sysgen/kernel_main.c: misc/generated/sysgen/prj.mdef FORCE
$(Q)$(srctree)/scripts/sysgen $(CURDIR)/misc/generated/sysgen/prj.mdef $(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.mdef