fix dependency check logic cause config always disabled
[lunaix-os.git] / lunaix-os / makeinc / lunabuild.mkinc
index aee8e495a70f776a876caf1b2acaa67e90e00433..0ecd3f0a4a0860d3bc25a630d30d2df79681fb15 100644 (file)
@@ -1,29 +1,48 @@
 lbuild_dir := $(CURDIR)/.builder
-lbuild_config_h := $(lbuild_dir)/configs.h
-lbuild_mkinc := $(lbuild_dir)/lbuild.mkinc
+lbuild_config_h := $(lbuild_dir)/config.h
+lbuild_mkinc := $(lbuild_dir)/build.mkinc
+lconfig_mkinc := $(lbuild_dir)/config.mkinc
 lconfig_save := $(CURDIR)/.config.json
 
-lbuild_opts := --lconfig-file LConfig
-
 all_lconfigs = $(shell find $(CURDIR) -name "LConfig")
+all_lbuilds = $(shell find $(CURDIR) -name "LBuild")
+
+.PHONY: __gen_config __gen_build __gen_both config
 
-LCONFIG_FLAGS += --config $(lbuild_opts) --config-save $(lconfig_save)
+define __gen_config
+       @echo restarting configuration...
+       @$(LBUILD) --gen-config $(lbuild_dir)
+endef
+
+define __gen_build
+       @$(LBUILD) --gen-build $(lbuild_dir)
+endef
+
+define __gen_both
+       @echo restarting configuration...
+       @$(LBUILD) --gen-build --gen-config $(lbuild_dir)
+endef
 
 export
 $(lconfig_save): $(all_lconfigs)
-       @echo restarting configuration...
-       @$(LBUILD) $(LCONFIG_FLAGS)  --force -o $(lbuild_dir)/
+       $(call __gen_config)
 
 export
-$(lbuild_config_h): $(lconfig_save)
-       @$(LBUILD) $(LCONFIG_FLAGS) -o $(@D)
+$(lconfig_mkinc): $(lconfig_save)
+       $(call __gen_config)
 
 export
-$(lbuild_mkinc): $(lbuild_config_h)
-       @$(LBUILD) LBuild $(lbuild_opts) -o $(@D)
+$(lbuild_config_h): $(lconfig_save) $(all_lbuilds)
+       $(call __gen_build)
 
-.PHONY: config
 export
-config: $(all_lconfigs)
-       @$(LBUILD) $(LCONFIG_FLAGS) --force\
-                          -o $(lbuild_dir)/
+$(lbuild_mkinc): $(lconfig_save) $(all_lbuilds)
+       $(call __gen_build)
+
+config: $(all_lbuilds) $(all_lconfigs)
+       $(call __gen_both)
+
+reconfig:
+       @rm -rf $(lbuild_dir)
+       @rm -rf $(lconfig_save)
+       $(call __gen_both)
\ No newline at end of file