2e08b388254948fa93e2519d41cc2fd483086140
[lunaix-os.git] / lunaix-os / makeinc / lunabuild.mkinc
1 lbuild_dir := $(CURDIR)/.builder
2 lbuild_config_h := $(lbuild_dir)/config.h
3 lbuild_mkinc := $(lbuild_dir)/build.mkinc
4 lconfig_mkinc := $(lbuild_dir)/config.mkinc
5 lconfig_save := $(CURDIR)/.config.json
6
7 all_lconfigs = $(shell find $(CURDIR) -name "LConfig")
8 all_lbuilds = $(shell find $(CURDIR) -name "LBuild")
9
10 .PHONY: __gen_config __gen_build __gen_both config
11
12 define __gen_config
13         @echo restarting configuration...
14         @$(LBUILD) --gen-config $(lbuild_dir)
15 endef
16
17 define __gen_build
18         @echo restarting configuration...
19         @$(LBUILD) --gen-build $(lbuild_dir)
20 endef
21
22 define __gen_both
23         @echo restarting configuration...
24         @$(LBUILD) --gen-build --gen-config $(lbuild_dir)
25 endef
26
27 export
28 $(lconfig_save): $(all_lconfigs)
29         $(call __gen_config)
30
31 export
32 $(lconfig_mkinc): $(all_lconfigs)
33         $(call __gen_config)
34
35 export
36 $(lbuild_config_h): $(all_lbuilds)
37         $(call __gen_build)
38
39 export
40 $(lbuild_mkinc): $(all_lbuilds)
41         $(call __gen_build)
42
43 config: $(all_lbuilds) $(all_lconfigs)
44         $(call __gen_both)