diff --git a/scripts/clean_output.lua b/scripts/clean_output.lua
index 68510f93fcdeffe917d90da40cbc03729d62f26e..d011f6447e64bf49a6312183ba1543bd99b7e0c8 100755
--- a/scripts/clean_output.lua
+++ b/scripts/clean_output.lua
@@ -1,4 +1,5 @@
-dofile('scripts/common.inc.lua')
+local lib = dofile('scripts/target_lib.lua')
+local env = lib.env
 
 
 local subtarget = env.SUBTARGET
@@ -9,9 +10,9 @@ end
 local bindir = env.BOARD .. '/' .. subtarget
 
 
-exec({'rm', '-f', 'openwrt/bin/targets/'..bindir..'/\0'}, true, '2>/dev/null')
+lib.exec({'rm', '-f', 'openwrt/bin/targets/'..bindir..'/\0'}, true, '2>/dev/null')
 
 -- Full builds will output the "packages" directory, so clean up first
 if (env.GLUON_DEVICES or '') == '' then
-	exec {'rm', '-rf', 'openwrt/bin/targets/'..bindir..'/packages'}
+	lib.exec {'rm', '-rf', 'openwrt/bin/targets/'..bindir..'/packages'}
 end
diff --git a/scripts/copy_output.lua b/scripts/copy_output.lua
index dc679507f8f1bf3c5ea814aa6083a754f153c439..e0d4c564291ba45ed339321e6739a1465f8b3450 100755
--- a/scripts/copy_output.lua
+++ b/scripts/copy_output.lua
@@ -1,8 +1,8 @@
-dofile('scripts/common.inc.lua')
+local lib = dofile('scripts/target_lib.lua')
+local env = lib.env
 
 assert(env.GLUON_IMAGEDIR)
 assert(env.GLUON_PACKAGEDIR)
-assert(env.GLUON_TARGETSDIR)
 
 
 local target = arg[1]
@@ -20,7 +20,7 @@ local bindir = env.BOARD .. '/' .. subtarget
 
 
 local function mkdir(dir)
-	exec {'mkdir', '-p', dir}
+	lib.exec {'mkdir', '-p', dir}
 end
 
 mkdir(env.GLUON_IMAGEDIR..'/factory')
@@ -28,40 +28,41 @@ mkdir(env.GLUON_IMAGEDIR..'/sysupgrade')
 mkdir(env.GLUON_IMAGEDIR..'/other')
 
 
-dofile(env.GLUON_TARGETSDIR..'/'..target)
+lib.include(target)
 
 
 local function clean(image, name)
 	local dir, file = image:dest_name(name, '\0', '\0')
-	exec {'rm', '-f', dir..'/'..file}
+	lib.exec {'rm', '-f', dir..'/'..file}
 end
 
-for _, image in ipairs(images) do
+for _, image in ipairs(lib.images) do
 	clean(image, image.image)
 
 	local destdir, destname = image:dest_name(image.image)
-	local source = string.format('openwrt/bin/targets/%s/openwrt-%s-%s%s%s', bindir, openwrt_target, image.name, image.in_suffix, image.extension)
+	local source = string.format('openwrt/bin/targets/%s/openwrt-%s-%s%s%s',
+		bindir, openwrt_target, image.name, image.in_suffix, image.extension)
 
-	exec {'cp', source, destdir..'/'..destname}
+	lib.exec {'cp', source, destdir..'/'..destname}
 
 	for _, alias in ipairs(image.aliases) do
 		clean(image, alias)
 
 		local _, aliasname = image:dest_name(alias)
-		exec {'ln', '-s', destname, destdir..'/'..aliasname}
+		lib.exec {'ln', '-s', destname, destdir..'/'..aliasname}
 	end
 end
 
 
 -- Copy opkg repo
-if opkg and (env.GLUON_DEVICES or '') == '' then
-	local package_prefix = string.format('gluon-%s-%s', site_code, env.GLUON_RELEASE)
+if lib.opkg and (env.GLUON_DEVICES or '') == '' then
+	local package_prefix = string.format('gluon-%s-%s', lib.site_code, env.GLUON_RELEASE)
 	local function dest_dir(prefix)
 		return env.GLUON_PACKAGEDIR..'/'..prefix..'/'..bindir
 	end
 
-	exec {'rm', '-f', dest_dir('\0')..'/\0'}
-	exec({'rmdir', '-p', dest_dir('\0')}, true, '2>/dev/null')
+	lib.exec {'rm', '-f', dest_dir('\0')..'/\0'}
+	lib.exec({'rmdir', '-p', dest_dir('\0')}, true, '2>/dev/null')
 	mkdir(dest_dir(package_prefix))
-	exec {'cp', 'openwrt/bin/targets/'..bindir..'/packages/\0', dest_dir(package_prefix)}
+	lib.exec {'cp', 'openwrt/bin/targets/'..bindir..'/packages/\0', dest_dir(package_prefix)}
 end
diff --git a/scripts/generate_manifest.lua b/scripts/generate_manifest.lua
index 8351d8bdb436bf5c24eee23cdda8514fa6cc08e1..73125044b215778f109bcd4989a7a838a3b56d3a 100755
--- a/scripts/generate_manifest.lua
+++ b/scripts/generate_manifest.lua
@@ -1,12 +1,12 @@
-dofile('scripts/common.inc.lua')
+local lib = dofile('scripts/target_lib.lua')
+local env = lib.env
 
 assert(env.GLUON_IMAGEDIR)
-assert(env.GLUON_TARGETSDIR)
 
 
 local target = arg[1]
 
-dofile(env.GLUON_TARGETSDIR..'/'..target)
+lib.include(target)
 
 
 local function strip(s)
@@ -14,13 +14,13 @@ local function strip(s)
 end
 
 local function generate_line(model, dir, filename, filesize)
-	local exists = pcall(exec, {'test', '-e', dir..'/'..filename})
+	local exists = pcall(lib.exec, {'test', '-e', dir..'/'..filename})
 	if not exists then
 		return
 	end
 
-	local file256sum = strip(exec_capture {'scripts/sha256sum.sh', dir..'/'..filename})
-	local file512sum = strip(exec_capture {'scripts/sha512sum.sh', dir..'/'..filename})
+	local file256sum = strip(lib.exec_capture {'scripts/sha256sum.sh', dir..'/'..filename})
+	local file512sum = strip(lib.exec_capture {'scripts/sha512sum.sh', dir..'/'..filename})
 
 	io.stdout:write(string.format('%s %s %s %s %s\n', model, env.GLUON_RELEASE, file256sum, filesize, filename))
 	io.stdout:write(string.format('%s %s %s %s\n', model, env.GLUON_RELEASE, file256sum, filename))
@@ -29,12 +29,12 @@ end
 
 local function generate(image)
 	local dir, filename = image:dest_name(image.image)
-	local exists = pcall(exec, {'test', '-e', dir..'/'..filename})
+	local exists = pcall(lib.exec, {'test', '-e', dir..'/'..filename})
 	if not exists then
 		return
 	end
 
-	local filesize = strip(exec_capture {'scripts/filesize.sh', dir..'/'..filename})
+	local filesize = strip(lib.exec_capture {'scripts/filesize.sh', dir..'/'..filename})
 
 	generate_line(image.image, dir, filename, filesize)
 
@@ -48,7 +48,7 @@ local function generate(image)
 	end
 end
 
-for _, image in ipairs(images) do
+for _, image in ipairs(lib.images) do
 	if image.subdir == 'sysupgrade' then
 		generate(image)
 	end
diff --git a/scripts/target_config.inc.lua b/scripts/target_config.inc.lua
deleted file mode 100644
index e001148bdd78fb412d1acd83196e06a3b5d7d8b4..0000000000000000000000000000000000000000
--- a/scripts/target_config.inc.lua
+++ /dev/null
@@ -1,75 +0,0 @@
-assert(env.BOARD)
-assert(env.SUBTARGET)
-
-
-local target = arg[1]
-local extra_packages = arg[2]
-
-local openwrt_config_target
-if env.SUBTARGET ~= '' then
-	openwrt_config_target = env.BOARD .. '_' .. env.SUBTARGET
-else
-	openwrt_config_target = env.BOARD
-end
-
-
-local function site_packages(profile)
-	return exec_capture_raw(string.format([[
-	MAKEFLAGS= make print PROFILE=%s --no-print-directory -s -f - <<'END_MAKE'
-include $(GLUON_SITEDIR)/site.mk
-
-print:
-	echo -n '$(GLUON_$(PROFILE)_SITE_PACKAGES)'
-END_MAKE
-	]], escape(profile)))
-end
-
-dofile(env.GLUON_TARGETSDIR .. '/generic')
-for pkg in string.gmatch(extra_packages, '%S+') do
-	packages {pkg}
-end
-dofile(env.GLUON_TARGETSDIR .. '/' .. target)
-
-check_devices()
-
-
-if not opkg then
-	config '# CONFIG_SIGNED_PACKAGES is not set'
-	config 'CONFIG_CLEAN_IPKG=y'
-	packages {'-opkg'}
-end
-
-
-local default_pkgs = ''
-for _, pkg in ipairs(target_packages) do
-	default_pkgs = default_pkgs .. ' ' .. pkg
-
-	if string.sub(pkg, 1, 1) == '-' then
-		try_config('# CONFIG_PACKAGE_%s is not set', string.sub(pkg, 2))
-	else
-		config_package(pkg, 'y')
-	end
-end
-
-for _, dev in ipairs(devices) do
-	local profile = dev.options.profile or dev.name
-	local device_pkgs = default_pkgs
-
-	local function handle_pkg(pkg)
-		if string.sub(pkg, 1, 1) ~= '-' then
-			config_package(pkg, 'm')
-		end
-		device_pkgs = device_pkgs .. ' ' .. pkg
-	end
-
-	for _, pkg in ipairs(dev.options.packages or {}) do
-		handle_pkg(pkg)
-	end
-	for pkg in string.gmatch(site_packages(profile), '%S+') do
-		handle_pkg(pkg)
-	end
-
-	config_message(string.format("unable to enable device '%s'", profile), 'CONFIG_TARGET_DEVICE_%s_DEVICE_%s=y', openwrt_config_target, profile)
-	config('CONFIG_TARGET_DEVICE_PACKAGES_%s_DEVICE_%s="%s"',
-		openwrt_config_target, profile, device_pkgs)
-end
diff --git a/scripts/target_config.lua b/scripts/target_config.lua
index 5e0c04a0bd23505c0f47fb624bdfc58b652052b4..452d4f190cd801eef5286f35ad79b0ce2d3f4602 100755
--- a/scripts/target_config.lua
+++ b/scripts/target_config.lua
@@ -1,27 +1,21 @@
-dofile('scripts/common.inc.lua')
+local funcs = {}
 
-
-local output = {}
-
-
-function config(...)
-	table.insert(output, string.format(...))
-end
-
-try_config = config
-
-
-function config_message(msg, ...)
+function funcs.config_message(config, _, ...)
 	config(...)
 end
 
-function config_package(pkg, value)
+function funcs.config_package(config, pkg, value)
 	config('CONFIG_PACKAGE_%s=%s', pkg, value)
 end
 
+local lib = dofile('scripts/target_config_lib.lua')(funcs)
 
-dofile('scripts/target_config.inc.lua')
 
+local output = {}
+
+for config in pairs(lib.configs) do
+	table.insert(output, config)
+end
 
 -- The sort will make =y entries override =m ones
 table.sort(output)
diff --git a/scripts/target_config_check.lua b/scripts/target_config_check.lua
index abb1487b19a7215ac082eee31a933538a65937e6..160c32a388aac03de6b63fac8aaae2e40aec933c 100755
--- a/scripts/target_config_check.lua
+++ b/scripts/target_config_check.lua
@@ -1,6 +1,3 @@
-dofile('scripts/common.inc.lua')
-
-
 local ret = 0
 
 
@@ -31,15 +28,10 @@ local function check_config_prefix(pattern)
 	return match_config(function(line) return string.sub(line, 1, -2) == pattern end)
 end
 
-function config(...)
-	local pattern = string.format(...)
 
-	if not check_config(pattern) then
-		fail("unable to set '%s'", pattern)
-	end
-end
+local funcs = {}
 
-function config_message(message, ...)
+function funcs.config_message(_, message, ...)
 	local pattern = string.format(...)
 
 	if not check_config(pattern) then
@@ -47,9 +39,9 @@ function config_message(message, ...)
 	end
 end
 
-function config_package(pkg, value)
+function funcs.config_package(_, pkg, value)
 	local pattern = string.format('CONFIG_PACKAGE_%s=%s', pkg, value)
-	local ret
+	local res
 	if value == 'y' then
 		res = check_config(pattern)
 	else
@@ -61,8 +53,14 @@ function config_package(pkg, value)
 	end
 end
 
+local lib = dofile('scripts/target_config_lib.lua')(funcs)
 
-dofile('scripts/target_config.inc.lua')
-
+for config, v in pairs(lib.configs) do
+	if v == 2 then
+		if not check_config(config) then
+			fail("unable to set '%s'", config)
+		end
+	end
+end
 
 os.exit(ret)
diff --git a/scripts/target_config_lib.lua b/scripts/target_config_lib.lua
new file mode 100644
index 0000000000000000000000000000000000000000..c06f1aec47053add1834c1a45095e4cec67b1e76
--- /dev/null
+++ b/scripts/target_config_lib.lua
@@ -0,0 +1,82 @@
+return function(funcs)
+	local lib = dofile('scripts/target_lib.lua')
+	local env = lib.env
+
+	assert(env.BOARD)
+	assert(env.SUBTARGET)
+
+	local target = arg[1]
+	local extra_packages = arg[2]
+
+	local openwrt_config_target
+	if env.SUBTARGET ~= '' then
+		openwrt_config_target = env.BOARD .. '_' .. env.SUBTARGET
+	else
+		openwrt_config_target = env.BOARD
+	end
+
+
+	local function site_packages(profile)
+		return lib.exec_capture_raw(string.format([[
+	MAKEFLAGS= make print PROFILE=%s --no-print-directory -s -f - <<'END_MAKE'
+include $(GLUON_SITEDIR)/site.mk
+
+print:
+	echo -n '$(GLUON_$(PROFILE)_SITE_PACKAGES)'
+END_MAKE
+		]], lib.escape(profile)))
+	end
+
+	lib.include('generic')
+	for pkg in string.gmatch(extra_packages, '%S+') do
+		lib.packages {pkg}
+	end
+	lib.include(target)
+
+	lib.check_devices()
+
+
+	if not lib.opkg then
+		lib.config '# CONFIG_SIGNED_PACKAGES is not set'
+		lib.config 'CONFIG_CLEAN_IPKG=y'
+		lib.packages {'-opkg'}
+	end
+
+
+	local default_pkgs = ''
+	for _, pkg in ipairs(lib.target_packages) do
+		default_pkgs = default_pkgs .. ' ' .. pkg
+
+		if string.sub(pkg, 1, 1) == '-' then
+			lib.try_config('# CONFIG_PACKAGE_%s is not set', string.sub(pkg, 2))
+		else
+			funcs.config_package(lib.config, pkg, 'y')
+		end
+	end
+
+	for _, dev in ipairs(lib.devices) do
+		local profile = dev.options.profile or dev.name
+		local device_pkgs = default_pkgs
+
+		local function handle_pkg(pkg)
+			if string.sub(pkg, 1, 1) ~= '-' then
+				funcs.config_package(lib.config, pkg, 'm')
+			end
+			device_pkgs = device_pkgs .. ' ' .. pkg
+		end
+
+		for _, pkg in ipairs(dev.options.packages or {}) do
+			handle_pkg(pkg)
+		end
+		for pkg in string.gmatch(site_packages(profile), '%S+') do
+			handle_pkg(pkg)
+		end
+
+		funcs.config_message(lib.config, string.format("unable to enable device '%s'", profile),
+			'CONFIG_TARGET_DEVICE_%s_DEVICE_%s=y', openwrt_config_target, profile)
+		lib.config('CONFIG_TARGET_DEVICE_PACKAGES_%s_DEVICE_%s="%s"',
+			openwrt_config_target, profile, device_pkgs)
+	end
+
+	return lib
+end
diff --git a/scripts/common.inc.lua b/scripts/target_lib.lua
similarity index 70%
rename from scripts/common.inc.lua
rename to scripts/target_lib.lua
index 0ec5a756ad25e7be1ef4e3dddebf19ee878c489b..d5133b1ee27a324586227fb88de05536d80147cd 100644
--- a/scripts/common.inc.lua
+++ b/scripts/target_lib.lua
@@ -1,9 +1,24 @@
-env = setmetatable({}, {
-	__index = function(t, k) return os.getenv(k) end
+-- Functions for use in targets/*
+local F = {}
+
+-- To be accessed by scripts using target_lib
+local M = setmetatable({}, { __index = F })
+
+local funcs = setmetatable({}, {
+	__index = function(_, k)
+		return F[k] or _G[k]
+	end,
 })
-envtrue = setmetatable({}, {
-	__index = function(t, k) return (tonumber(os.getenv(k)) or 0) > 0 end
+
+local env = setmetatable({}, {
+	__index = function(_, k) return os.getenv(k) end
 })
+F.env = env
+
+local envtrue = setmetatable({}, {
+	__index = function(_, k) return (tonumber(os.getenv(k)) or 0) > 0 end
+})
+F.envtrue = envtrue
 
 assert(env.GLUON_SITEDIR)
 assert(env.GLUON_TARGETSDIR)
@@ -11,10 +26,13 @@ assert(env.GLUON_RELEASE)
 assert(env.GLUON_DEPRECATED)
 
 
-site_code = assert(assert(dofile('scripts/site_config.lua')('site.conf')).site_code)
-
+M.site_code = assert(assert(dofile('scripts/site_config.lua')('site.conf')).site_code)
+M.target_packages = {}
+M.configs = {}
+M.devices = {}
+M.images = {}
+M.opkg = true
 
-target_packages = {}
 
 local default_options = {
 	profile = false,
@@ -73,7 +91,7 @@ end
 -- argument are replaced by '\''.
 -- To allow using shell wildcards, zero bytes in the arguments are replaced
 -- by unquoted asterisks.
-function escape(s)
+function F.escape(s)
 	s = string.gsub(s, "'", "'\\''")
 	s = string.gsub(s, "%z", "'*'")
 	return "'" .. s .. "'"
@@ -82,7 +100,7 @@ end
 local function escape_command(command, raw)
 	local ret = 'exec'
 	for _, arg in ipairs(command) do
-		ret = ret .. ' ' .. escape(arg)
+		ret = ret .. ' ' .. F.escape(arg)
 	end
 	if raw then
 		ret = ret .. ' ' .. raw
@@ -90,17 +108,17 @@ local function escape_command(command, raw)
 	return ret
 end
 
-function exec_raw(command, may_fail)
+function F.exec_raw(command, may_fail)
 	local ret = os.execute(command)
 	assert((ret == 0) or may_fail)
 	return ret
 end
 
-function exec(command, may_fail, raw)
-	return exec_raw(escape_command(command, raw), may_fail)
+function F.exec(command, may_fail, raw)
+	return F.exec_raw(escape_command(command, raw), may_fail)
 end
 
-function exec_capture_raw(command)
+function F.exec_capture_raw(command)
 	local f = io.popen(command)
 	assert(f)
 
@@ -109,47 +127,47 @@ function exec_capture_raw(command)
 	return data
 end
 
-function exec_capture(command, raw)
-	return exec_capture_raw(escape_command(command, raw))
+function F.exec_capture(command, raw)
+	return F.exec_capture_raw(escape_command(command, raw))
 end
 
 
 local image_mt = {
 	__index = {
 		dest_name = function(image, name, site, release)
-			return env.GLUON_IMAGEDIR..'/'..image.subdir, 'gluon-'..(site or site_code)..'-'..(release or env.GLUON_RELEASE)..'-'..name..image.out_suffix..image.extension
+			return env.GLUON_IMAGEDIR..'/'..image.subdir,
+				'gluon-'..(site or M.site_code)..'-'..(release or env.GLUON_RELEASE)..'-'..name..image.out_suffix..image.extension
 		end,
 	},
 }
 
 local function add_image(image)
-	table.insert(images, setmetatable(image, image_mt))
+	table.insert(M.images, setmetatable(image, image_mt))
 end
 
+function F.try_config(...)
+	M.configs[string.format(...)] = 1
+end
 
--- Variables to be consumed by scripts using common.inc.lua
-devices = {}
-images = {}
-opkg = true
-
-
-function config() end
-function try_config() end
+function F.config(...)
+	M.configs[string.format(...)] = 2
+end
 
-function packages(pkgs)
+function F.packages(pkgs)
 	for _, pkg in ipairs(pkgs) do
-		table.insert(target_packages, pkg)
+		table.insert(M.target_packages, pkg)
 	end
 end
+M.packages = F.packages
 
-function device(image, name, options)
+function F.device(image, name, options)
 	options = merge(default_options, options)
 
 	if not want_device(image, options) then
 		return
 	end
 
-	table.insert(devices, {
+	table.insert(M.devices, {
 		image = image,
 		name = name,
 		options = options,
@@ -198,7 +216,7 @@ function device(image, name, options)
 	end
 end
 
-function factory_image(image, name, ext, options)
+function F.factory_image(image, name, ext, options)
 	options = merge(default_options, options)
 
 	if not want_device(image, options) then
@@ -221,7 +239,7 @@ function factory_image(image, name, ext, options)
 	}
 end
 
-function sysupgrade_image(image, name, ext, options)
+function F.sysupgrade_image(image, name, ext, options)
 	options = merge(default_options, options)
 
 	if not want_device(image, options) then
@@ -240,16 +258,22 @@ function sysupgrade_image(image, name, ext, options)
 	}
 end
 
-function no_opkg()
-	opkg = false
+function F.no_opkg()
+	M.opkg = false
 end
 
-function defaults(options)
+function F.defaults(options)
 	default_options = merge(default_options, options)
 end
 
+function F.include(name)
+	local f = assert(loadfile(env.GLUON_TARGETSDIR .. '/' .. name))
+	setfenv(f, funcs)
+	return f()
+end
 
-function check_devices()
+
+function M.check_devices()
 	local device_list = {}
 	for device in pairs(unknown_devices) do
 		table.insert(device_list, device)
@@ -260,3 +284,6 @@ function check_devices()
 		os.exit(1)
 	end
 end
+
+
+return M
diff --git a/targets/brcm2708-bcm2708 b/targets/brcm2708-bcm2708
index cbdba2345885005c810cccaf44eb66750d2d5a48..15ebd193b1671949ffa2f55e0a502f0a82b4319c 100644
--- a/targets/brcm2708-bcm2708
+++ b/targets/brcm2708-bcm2708
@@ -1,4 +1,4 @@
-dofile(env.GLUON_TARGETSDIR .. '/brcm2708.inc')
+include 'brcm2708.inc'
 
 device('raspberry-pi', 'rpi', {
 	manifest_aliases = {
diff --git a/targets/brcm2708-bcm2709 b/targets/brcm2708-bcm2709
index d812fdb6de9c4162c48df5ab65b3699253ff32f5..e0fbf0cdafcbb4fe21898160b6f76f472cb60ff4 100644
--- a/targets/brcm2708-bcm2709
+++ b/targets/brcm2708-bcm2709
@@ -1,4 +1,4 @@
-dofile(env.GLUON_TARGETSDIR .. '/brcm2708.inc')
+include 'brcm2708.inc'
 
 device('raspberry-pi-2', 'rpi-2', {
 	manifest_aliases = {
diff --git a/targets/brcm2708-bcm2710 b/targets/brcm2708-bcm2710
index eb8b3abba5b692e4859b82963a3c158fdc218d77..c0133f522cf58b1be30d822500faf69c8b28ccd3 100644
--- a/targets/brcm2708-bcm2710
+++ b/targets/brcm2708-bcm2710
@@ -1,3 +1,3 @@
-dofile(env.GLUON_TARGETSDIR .. '/brcm2708.inc')
+include 'brcm2708.inc'
 
 device('raspberry-pi-3', 'rpi-3')
diff --git a/targets/x86-64 b/targets/x86-64
index 7db3a032f8912b100e1025544b0ed45cf4370d0d..3ef1251580a5e372fac26815b1232ce8c8ff2882 100644
--- a/targets/x86-64
+++ b/targets/x86-64
@@ -1,4 +1,4 @@
-dofile(env.GLUON_TARGETSDIR .. '/x86.inc')
+include 'x86.inc'
 
 factory_image('x86-64', 'combined-squashfs', '.img.gz')
 factory_image('x86-64', 'combined-squashfs', '.vdi')
diff --git a/targets/x86-generic b/targets/x86-generic
index 28eb889b732862b9d6a47f576f87b646fbf2062e..57b55f4a090dcf1f29250bbd28e04cd4206d8d68 100644
--- a/targets/x86-generic
+++ b/targets/x86-generic
@@ -1,4 +1,4 @@
-dofile(env.GLUON_TARGETSDIR .. '/x86.inc')
+include 'x86.inc'
 
 factory_image('x86-generic', 'combined-squashfs', '.img.gz')
 factory_image('x86-generic', 'combined-squashfs', '.vdi')