X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/28c176b668c841a3b7fb093faccf0efa39257603..refs/heads/master:/lunaix-os/makefile diff --git a/lunaix-os/makefile b/lunaix-os/makefile index 5427275..ce65d67 100644 --- a/lunaix-os/makefile +++ b/lunaix-os/makefile @@ -4,11 +4,12 @@ include $(mkinc_dir)/toolchain.mkinc include $(mkinc_dir)/utils.mkinc include $(mkinc_dir)/lunabuild.mkinc +QEMU_HMP ?= 45454 ARCH ?= i386 MODE ?= debug export ARCH -DEPS := $(CC) $(LD) $(AR) xorriso grub-mkrescue +DEPS := $(CC) $(LD) $(AR) CMDLINE ?= console=/dev/ttyFB0 @@ -30,11 +31,11 @@ $(DEPS): $(kbuild_dir): @mkdir -p $(kbin_dir) @mkdir -p $(os_img_dir) - @mkdir -p $(os_img_dir)/boot - @mkdir -p $(os_img_dir)/boot/grub @mkdir -p $(os_img_dir)/usr .PHONY: kernel +.PHONY: rootfs all clean-user clean tool + export BUILD_DIR=$(kbin_dir) export BUILD_NAME=$(kbin) kernel: $(lbuild_mkinc) @@ -43,31 +44,51 @@ kernel: $(lbuild_mkinc) @$(MAKE) $(MKFLAGS) -I $(mkinc_dir) -f kernel.mk all .NOTPARALLEL: -.PHONY: image -export KCMD=$(CMDLINE) export LBUILD ARCH MODE -image: $(kbuild_dir) kernel usr/build - $(call status,TASK,$(notdir $@)) - $(call status,PACK,$(kimg)) +all: $(kbuild_dir) tool kernel - @./scripts/grub/config-grub.sh $(os_img_dir)/boot/grub/grub.cfg - @cp -r usr/build/* $(os_img_dir)/usr - @cp -r $(kbin_dir)/* $(os_img_dir)/boot - @grub-mkrescue -o $(kimg) $(os_img_dir)\ - -- -volid "$(OS_ID) $(OS_VER)" -system_id "$(OS_NAME)" \ - -report_about FAILURE -abort_on FAILURE +# --- begin stock user --- # -usr/build: user - -prepare: $(os_img_dir) +export PREFIX=usr/includes +usr/includes: install-header export LBUILD ARCH MODE -user: +user: usr/includes $(call status,TASK,$@) @$(MAKE) $(MKFLAGS) -C usr all -I $(mkinc_dir) -clean: +clean-user: @$(MAKE) -C usr clean -I $(mkinc_dir) + +rootfs: usr/build + $(call status,TASK,$(notdir $@)) + @./scripts/mkrootfs + +usr/build: user + +# --- end stock user --- # + + +clean: + @$(MAKE) $(MKFLAGS) -C usr clean -I $(mkinc_dir) + @$(MAKE) $(MKFLAGS) -C scripts clean -I $(mkinc_dir) + @$(MAKE) $(MKFLAGS) -C tests/units clean @$(MAKE) -f kernel.mk clean -I $(mkinc_dir) + @rm -rf $(kbuild_dir) || exit 1 - @rm -rf .builder || exit 1 \ No newline at end of file + + +# --- begin misc --- # + +export CFLAGS=-include $(lbuild_config_h) +unit-test: $(lbuild_config_h) + @$(MAKE) $(MKFLAGS) -C tests/units run + +tool: + $(call status,TASK,$@) + @$(MAKE) $(MKFLAGS) -C scripts all -I $(mkinc_dir) + +install-header: + @$(MAKE) $(MKFLAGS) -I $(mkinc_dir) -f install_headers.mk all + +# --- end misc --- # \ No newline at end of file