-.PHONY: all help parse_kconfig write_config build run test clean clean_linux clean_buildroot mlinux mbuildroot deflinux distclean_linux distclean_buildroot distclean picosat init initialize permute_conf
+.PHONY: all help parse_kconfig write_config build run test clean clean_db clean_database clean_measure clean_linux clean_buildroot mlinux mbuildroot deflinux distclean_linux distclean_buildroot distclean picosat init initialize initialize_database initdb permute_conf
-include .conf.mk
$(MAKE) -C buildroot menuconfig
mlinux:
- ARCH=$(ARCH) $(MAKE) -C linux menuconfig
+ ARCH=$(CONF_KERNEL_ARCH) $(MAKE) -C linux menuconfig
deflinux:
- ARCH=$(ARCH) $(MAKE) -C linux defconfig
+ ARCH=$(CONF_KERNEL_ARCH) $(MAKE) -C linux defconfig
mpermute_conf: permute_conf
- cd linux && SRCARCH=$(ARCH) ARCH=$(ARCH) KERNELVERSION=$(ARCH) ../scripts/permute_conf/permute_conf Kconfig
+ cd linux && \
+ SRCARCH=$(CONF_KERNEL_ARCH) ARCH=$(CONF_KERNEL_ARCH) \
+ KERNELVERSION=$(CONF_KERNEL_ARCH) \
+ ../scripts/permute_conf/permute_conf Kconfig
init: initialize
initialize: parse_kconfig picosat
scripts/initialize.py
+initdb: initialize_database
+initialize_database:
+ echo "$(CONF_DB_HOST):$(CONF_DB_PORT):$(CONF_DB_DATABASE):$(CONF_DB_USER):$(CONF_DB_PASSWORD)" > .pgpass
+ psql -d "$(CONF_DB_DATABASE)" -h "$(CONF_DB_HOST)" -p "$(CONF_DB_PORT)" -f scripts/databaseinit.sql
+ $(RM) .pgpass
+
test: parse_kconfig
scripts/test.py
@$(MAKE) -C scripts/allconfig clean
@if [ -e scripts/picosat-959/makefile ]; then $(MAKE) -C scripts/picosat-959 clean; fi
$(RM) .conf.mk
- $(RM) -r jobfiles output result
+ $(RM) -r jobfiles
+
+clean_measure: cleandb
+ $(RM) -r configurations
+ $(RM) -r output
+ $(RM) -r result
+
+cleandb: clean_database
+clean_database:
+ echo "$(CONF_DB_HOST):$(CONF_DB_PORT):$(CONF_DB_DATABASE):$(CONF_DB_USER):$(CONF_DB_PASSWORD)" > .pgpass
+ psql -d "$(CONF_DB_DATABASE)" -h "$(CONF_DB_HOST)" -p "$(CONF_DB_PORT)" -f scripts/databaseclean.sql
+ rm -f .pgpass
distclean: clean distclean_linux distclean_buildroot
$(RM) .conf.mk
@$(MAKE) -C scripts/permute_conf/
buildroot/.config:
- cp $(BUILDROOT_DEF_CONFIG) $@
+ cp $(CONF_BUILDROOT_DEF_CONFIG) $@
buildroot/system/skeleton/usr/bin/linux-conf-perf:
- cp $(BUILDROOT_INITSCRIPT) $@
- cat $(BUILDROOT_INITTAB_DIRECTIVE) >> buildroot/system/skeleton/etc/inittab
+ cp $(CONF_BUILDROOT_INITSCRIPT) $@
+ cat $(CONF_BUILDROOT_INITTAB_DIRECTIVE) >> buildroot/system/skeleton/etc/inittab
picosat: scripts/picosat-959/picosat
scripts/picosat-959/picosat:
import os
## Global configs
-# ARCH
-# This defines environment variable for linux kernel.
+# kernel_arch
+# This defines environment variable ARCH for linux kernel.
# Change this to change target architecture
-ARCH = 'x86'
+kernel_arch = 'x86'
# kernle_env
# Enviroment variables for Linux
-kernel_env = {'SRCARCH': ARCH, 'ARCH': ARCH, 'KERNELVERSION': ARCH}
+kernel_env = {'SRCARCH': kernel_arch, 'ARCH': kernel_arch, 'KERNELVERSION': kernel_arch}
# linux_make_args
# These are arguments passed to make when linux is build.
linux_make_args = ['-j8']
linux_sources = 'linux/'
linux_kconfig_head = linux_sources + 'Kconfig'
linux_dot_config = linux_sources + '.config'
-linux_image = linux_sources + 'arch/' + ARCH + '/boot/bzImage'
+linux_image = linux_sources + 'arch/' + kernel_arch + '/boot/bzImage'
buildroot_def_config = 'buildroot_recipe/buildroot.def.config'
buildroot_inittab_directive = 'buildroot_recipe/inittab_directive'
#!/usr/bin/env python3
import os
import sys
+import re
from conf import conf
def gen_confmk():
with open(conf.dot_confmk, 'w') as f:
f.write("# This file is generated. Please don't edit this file.\n")
- f.write("ARCH := " + conf.ARCH + "\n")
- f.write("\n")
- f.write("BUILDROOT_INITRAM := " + conf.buildroot_initram + "\n")
- f.write("BUILDROOT_INITTAB_DIRECTIVE := " + conf.buildroot_inittab_directive + "\n")
- f.write("BUILDROOT_INITSCRIPT := " + conf.buildroot_initscript + "\n")
- f.write("BUILDROOT_DEF_CONFIG := " + conf.buildroot_def_config + "\n")
+ for var in dir(conf):
+ if not re.match('__.*__', var):
+ val = eval('conf.' + var)
+ if type(val) is str:
+ f.write("CONF_" + var.upper() + " := ")
+ f.write(val + '\n')
#################################################################################