Architectural Support: x86_64 (#37)
[lunaix-os.git] / lunaix-os / makeinc / lunabuild.mkinc
diff --git a/lunaix-os/makeinc/lunabuild.mkinc b/lunaix-os/makeinc/lunabuild.mkinc
new file mode 100644 (file)
index 0000000..d246a6e
--- /dev/null
@@ -0,0 +1,28 @@
+lbuild_dir := $(CURDIR)/.builder
+lbuild_config_h := $(lbuild_dir)/configs.h
+lbuild_mkinc := $(lbuild_dir)/lbuild.mkinc
+lconfig_save := $(CURDIR)/.config.json
+
+lbuild_opts := --lconfig-file LConfig
+
+all_lconfigs = $(shell find $(CURDIR) -name "LConfig")
+
+export
+$(lconfig_save): $(all_lconfigs)
+       @echo restarting configuration...
+       @$(LBUILD) --config $(lbuild_opts) --config-save $(lconfig_save)  --force\
+                          -o $(lbuild_dir)/
+
+export
+$(lbuild_config_h): $(lconfig_save)
+       @$(LBUILD) --config $(lbuild_opts) --config-save $(lconfig_save) -o $(@D)
+
+export
+$(lbuild_mkinc): $(lbuild_config_h)
+       @$(LBUILD) LBuild $(lbuild_opts) -o $(@D)
+
+.PHONY: config
+export
+config: $(all_lconfigs)
+       @$(LBUILD) --config $(lbuild_opts) --config-save $(lconfig_save) --force\
+                          -o $(lbuild_dir)/