From dd54ddbc8fd1ba60c3db57cdcc48517c40897068 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Sun, 26 Apr 2015 09:51:59 +0200 Subject: Root makefile almost rewritten New targets added and more... --- Makefile | 56 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 49 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 66b5025..7504c54 100644 --- a/Makefile +++ b/Makefile @@ -1,22 +1,64 @@ +.PHONY: all help parse_kconfig write_config build run test clean clean_linux clean_buildroot mlinux mbuildroot all: parse_kconfig write_config -parse_kconfig: - @$(MAKE) -C scripts/parse_kconfig/ +help: + @echo "all - Builds basic programs and prints message about next steps." + @echo "help - Prints this text" + @echo "mbuildroot - Calls 'make menuconfig' in buildroot folder. Use this for" + @echo " buildroot configuration." + @echo "mlinux - Calls 'make menuconfig' in linux folder. Use this for linux" + @echo " configuration." + @echo "test - Executes boot and benchmark test. You should use this before" + @echo " target run. This target is for testing if initial kernel" + @echo " configuration, buildroot configuration and benchmark are" + @echo " configured right." + @echo "run - Executes loop of kernel building, booting and benchmark execution." + @echo "evaluate - Creating result statistics from generated data." + @echo + @echo "clean - Cleans all generated files. Except those in linux and buildroot." + @echo "clean_linux - Executes 'make clean' in linux folder." + @echo "clean_buildroot - Executes 'make clean' in buildroot folder." -write_config: - @$(MAKE) -C scripts/write_config/ +mbuildroot: + $(MAKE) -C scripts/buildroot menuconfig + +mlinux: + $(MAKE) -C linux menuconfig -main_loop: kconfig_parser +test: build/initram.gz + @ #TODO + +run: kconfig_parser write_config build/initram.gz scripts/main_loop.py +evaluate: + @ #TODO clean: @$(MAKE) -C scripts/parse_kconfig/ clean @$(MAKE) -C scripts/write_config/ clean - $(RM) linux/.config $(RM) -r build -# Linux has separate clean option because it takes more time and because in most of the time it is not required clean clean_linux: @$(MAKE) -C linux clean + +clean_buildroot: + @$(MAKE) -C scripts/buildroot clean + +####################################### + +parse_kconfig: + @$(MAKE) -C scripts/parse_kconfig/ + +write_config: + @$(MAKE) -C scripts/write_config/ + +build: + mkdir $@ + +build/initram.gz: scripts/buildroot/.config build + @$(MAKE) -C scripts/buildroot + mv scripts/buildroot/output/images/rootfs.cpio.gz + +scripts/buildroot/.config: mbuildroot -- cgit v1.2.3