minimal/src/Makefile

54 lines
1.9 KiB
Makefile

# This is very simple Makefile which encapsulates the build
# process of "Minimal Linux Live". Type the following command
# for additional information:
#
# make help
.DEFAULT_GOAL := help
all: clean
@echo "Launching the main build script..."
@time sh build_minimal_linux_live.sh 2>&1 | tee minimal_linux_live.log
clean:
@echo "Removing generated work artifacts..."
@rm -rf work
@echo "Removing generated ISO image..."
@rm -f minimal_linux_live.iso
@echo "Removing predefined configuration files..."
@rm -rf minimal_overlay/*.config
@echo "Removing source level overlay software..."
@cd minimal_overlay/rootfs && rm -rf $(shell ls -d */) && cd ..
@echo "Removing build log file..."
@rm -f minimal_linux_live.log
@$(eval USE_LOCAL_SOURCE := $(shell grep -i ^USE_LOCAL_SOURCE .config | cut -f2 -d'='))
@if [ "$(USE_LOCAL_SOURCE)" = "false" ]; then echo "Removing source files..."; rm -rf source; fi
qemu:
@if [ ! -f ./minimal_linux_live.iso ]; then echo "ISO image \"minimal_linux_live.iso\" not found."; exit 1; fi
@echo "Launching QEMU..."
@if [ "$(shell uname -m)" = "x86_64" ]; then sh qemu64.sh; else sh qemu32.sh; fi
src:
@echo "Generating source archive..."
@rm -f minimal_linux_live_*_src.tar.xz
@mkdir -p work
@sh 08_prepare_src.sh 1>/dev/null
@$(eval DATE_PARSED := $(shell LANG=en_US ; date +"%d-%b-%Y"))
@cd work/src && tar -cpf - `ls -A` | xz - > ../../minimal_linux_live_$(DATE_PARSED)_src.tar.xz && cd ../..
@echo "Source archive: minimal_linux_live_$(DATE_PARSED)_src.tar.xz"
help:
@echo ""
@echo " make all clean the workspace and then generate \"minimal_linux_live.iso\""
@echo ""
@echo " make clean remove all generated files"
@echo ""
@echo " make src generate 'tar.xz' source archive"
@echo ""
@echo " make qemu run \"Minimal Linux Live\" in qemu"
@echo ""
@echo " make help this is the default target"
@echo ""