-.PHONY: all help parse_kconfig write_config build run test clean clean_linux clean_buildroot mlinux mbuildroot
+.PHONY: all help parse_kconfig write_config build run test clean clean_linux clean_buildroot mlinux mbuildroot deflinux
-include .conf.mk
+-include .conf.mk
all: parse_kconfig write_config
deflinux:
ARCH=$(SRCARCH) $(MAKE) -C linux defconfig
-test: build/initram.gz
+test: $(INITRAM)
@ #TODO
-run: kconfig_parser write_config build/initram.gz
+run: kconfig_parser write_config $(INITRAM)
scripts/main_loop.py
evaluate:
write_config:
@$(MAKE) -C scripts/write_config/
-build:
- mkdir $@
+%:
+ mkdir -p $@
-build/initram.gz: scripts/buildroot/.config build
+$(BUILDROOT_INITRAM): scripts/buildroot/.config
@$(MAKE) -C scripts/buildroot
- mv scripts/buildroot/output/images/rootfs.cpio.gz
+
+$(INITRAM): $(BUILDROOT_INITRAM) $${@D}
+ mv $^ $@
scripts/buildroot/.config: mbuildroot
+ @
linux_sources = pf('linux')
linux_kconfig_head = 'Kconfig'
linux_dot_config = linux_sources + '/.config'
+linux_image = linux_sources + '/arch/' + ARCH + '/boot/bzImage'
build_folder = pf('build/')
phase_file = build_folder + '/phase'
solution_file = build_folder + '/solution'
iteration_file = build_folder + '/iteration'
+buildroot_initram = pf('scripts/buildroot/output/images/rootfs.cpio.gz')
+initram = build_folder + '/initram.gz'
+
# Programs paths
parse_kconfig = checkXf(pf('scripts/parse_kconfig/parse'), 'You must build programs first.')
write_config = checkXf(pf('scripts/write_config/write'), 'You must build programs first.')
with open(conf.dot_confmk, 'w') as f:
f.write("# This file is generated. Please don't edit this file.\n")
f.write("SRCARCH := " + conf.SRCARCH + "\n")
+ f.write("\n")
+ f.write("BUILDROOT_INITRAM := " + conf.buildroot_initram + "\n")
+ f.write("INITRAM := " + conf.initram + "\n")
#################################################################################