embox

Форк
0
/
build.mk 
75 строк · 2.2 Кб
1
#
2
# Invoked with all scripts preloaded by the bootstrap sript.
3
# See 'mk/load.mk' for details about environment variables available in the
4
# invocation context.
5
#
6
#   Date: Apr 4, 2012
7
# Author: Anton Kozlov
8
#
9

10
include mk/codegen-dot.mk
11

12
include mk/help-module.mk
13

14
.PHONY : buildgen distgen build docsgen dot
15

16
build_gen_ts := $(BUILD_DIR)/build-gen.timestamp
17

18
build : $(build_gen_ts)
19
	@$(MAKE) -f mk/script/build/oldconf-gen.mk MAKEFILES=''
20
	@$(MAKE) -f mk/board_conf/board-conf-gen.mk MAKEFILES=''
21
	@$(MAKE) -f mk/script/user-lds-sections-symbols.mk > $(SRCGEN_DIR)/section_symbols.lds.h
22
	@$(MAKE) -f mk/script/lds-apps.mk > $(SRCGEN_DIR)/apps.lds.h
23
	@$(MAKE) -f mk/script/incinst.mk
24
	@$(MAKE) -f mk/extbld/toolchain.mk MAKEFILES=''
25
	@$(MAKE) -f mk/extbld.mk MAKEFILES='' __extbld-1
26
	@$(MAKE) -f mk/image2.mk MAKEFILES='' STAGE=1
27
	@$(MAKE) -f mk/extbld/toolchain.mk do_test
28
	@$(MAKE) -f mk/extbld.mk MAKEFILES='' __extbld-2
29
	@$(MAKE) -f mk/image2.mk MAKEFILES='' STAGE=2
30
	@$(MAKE) -f mk/image3.mk MAKEFILES=''
31

32
buildgen distgen : $(build_gen_ts)
33
ifneq ($(filter buildgen distgen,$(MAKECMDGOALS)),)
34
.PHONY : $(build_gen_ts)
35
endif
36

37
$(build_gen_ts) : mk/script/build/build-gen.mk $(load_mybuild_files)
38
	@echo ' BUILDGEN $(DIST_DIR)'
39
	@$(MAKE) -f mk/script/build/oldconf-gen.mk MAKEFILES=''
40
	@$(MAKE) -f $< MAKEFILES='$(MKGEN_DIR)/build.mk $(MAKEFILES)' \
41
		GEN_DIST='$(filter distgen,$(MAKECMDGOALS))'
42
	@$(MAKE) -f mk/extbld/toolchain.mk MAKEFILES='' \
43
		GEN_DIST='$(filter distgen,$(MAKECMDGOALS))'
44
	@$(MAKE) -f mk/script/incinst.mk
45
	@$(MKDIR) $(@D) && touch $@
46

47
# force regeneration of build files when some of them are missing
48

49
-include $(MKGEN_DIR)/include.mk
50
__include ?=
51

52
ifneq ($(words $(__include)), $(words $(wildcard $(__include))))
53
.PHONY : $(build_gen_ts)
54
endif
55

56
docsgen:
57
	@[ -d $(DOCS_OUT_DIR) ] || $(MKDIR) $(DOCS_OUT_DIR)
58
	doxygen mk/Doxyfile
59
	@echo 'Docs generation complete'
60

61
MODULE_LIST := $(strip $(call mod_list))
62

63
mod-list :
64
	$(info --- Module list --- )
65
	@$(info $(addsuffix $(\n),$(MODULE_LIST)))#
66

67
$(MODULE_LIST:%=mod-include-reason-%) : mod-include-reason-% :
68
	$(call mod_include_reason,$*)#
69

70
$(MODULE_LIST:%=mod-brief-%) : mod-brief-% :
71
	@$(info $(call mod_brief,$*))#
72

73

74
mod-brief-% mod-include-reason-%:
75
	@echo There is no $* module in build
76

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.