diff --git a/Kbuild b/Kbuild index c21dc4b9dc9..ceaa9378fc7 100644 --- a/Kbuild +++ b/Kbuild @@ -32,12 +32,10 @@ misc/generated/configs.c: include/config/auto.conf FORCE $(call filechk,configs.c) targets := misc/generated/configs.c -targets += include/generated/generated_dts_board.h targets += include/generated/offsets.h always := misc/generated/configs.c -always += include/generated/generated_dts_board.h always += include/generated/offsets.h define rule_cc_o_c_1 @@ -69,28 +67,4 @@ include/generated/offsets.h: arch/$(ARCH)/core/offsets/offsets.o \ include/config/auto.conf FORCE $(call offsetchk,arch/$(ARCH)/core/offsets/offsets.o) -ifeq ($(CONFIG_HAS_DTS),y) -define filechk_generated_dts_board.h - (echo "/* WARNING. THIS FILE IS AUTO-GENERATED. DO NOT MODIFY! */"; \ - $(ZEPHYR_BASE)/scripts/extract_dts_includes.py dts/$(ARCH)/$(BOARD_NAME).dts_compiled $(ZEPHYR_BASE)/dts/$(ARCH)/yaml; \ - if test -e $(ZEPHYR_BASE)/dts/$(ARCH)/$(BOARD_NAME).fixup; then \ - echo; echo; \ - echo "/* Following definitions fixup the generated include */"; \ - echo; \ - cat $(ZEPHYR_BASE)/dts/$(ARCH)/$(BOARD_NAME).fixup; \ - fi; \ - ) -endef -else -define filechk_generated_dts_board.h - (echo "/* WARNING. THIS FILE IS AUTO-GENERATED. DO NOT MODIFY! */";) -endef -endif - - -include/generated/generated_dts_board.h: include/config/auto.conf FORCE -ifeq ($(CONFIG_HAS_DTS),y) - $(Q)$(MAKE) $(build)=dts/$(ARCH) -endif - $(call filechk,generated_dts_board.h) diff --git a/Makefile b/Makefile index d396ae60a35..f2f2fdf2723 100644 --- a/Makefile +++ b/Makefile @@ -919,6 +919,33 @@ rom_report: $(KERNEL_STAT_NAME) zephyr: $(zephyr-deps) $(KERNEL_BIN_NAME) +ifeq ($(CONFIG_HAS_DTS),y) +define filechk_generated_dts_board.h + (echo "/* WARNING. THIS FILE IS AUTO-GENERATED. DO NOT MODIFY! */"; \ + $(ZEPHYR_BASE)/scripts/extract_dts_includes.py dts/$(ARCH)/$(BOARD_NAME).dts_compiled $(ZEPHYR_BASE)/dts/$(ARCH)/yaml; \ + if test -e $(ZEPHYR_BASE)/dts/$(ARCH)/$(BOARD_NAME).fixup; then \ + echo; echo; \ + echo "/* Following definitions fixup the generated include */"; \ + echo; \ + cat $(ZEPHYR_BASE)/dts/$(ARCH)/$(BOARD_NAME).fixup; \ + fi; \ + ) +endef +else +define filechk_generated_dts_board.h + (echo "/* WARNING. THIS FILE IS AUTO-GENERATED. DO NOT MODIFY! */";) +endef +endif + + +include/generated/generated_dts_board.h: include/config/auto.conf FORCE +ifeq ($(CONFIG_HAS_DTS),y) + $(Q)$(MAKE) $(build)=dts/$(ARCH) +endif + $(call filechk,generated_dts_board.h) + +dts: include/generated/generated_dts_board.h + # The actual objects are generated when descending, # make sure no implicit rule kicks in $(sort $(zephyr-deps)): $(zephyr-dirs) zephyr-app-dir ; @@ -976,7 +1003,7 @@ archprepare = $(strip \ ) # All the preparing.. -prepare: $(archprepare) FORCE +prepare: $(archprepare) dts FORCE $(Q)$(MAKE) $(build)=. # Generate some files diff --git a/Makefile.inc b/Makefile.inc index 1d03f28468a..e0f7cc92997 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -122,6 +122,9 @@ rom_report: initconfig outputexports: initconfig $(Q)$(call zephyrmake,$(O),$@) +dts: initconfig + $(Q)$(call zephyrmake,$(O),$@) + menuconfig: initconfig $(Q)$(call zephyrmake,$(O),$@)