summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordir <dir@ableton.com>2017-08-01 14:21:27 (GMT)
committerdir <dir@ableton.com>2017-11-20 17:42:54 (GMT)
commit4f64194c550fb463a73d6e328c8e7a49377c7faf (patch)
treeed6ced36ba70a54e12277298f9697aa7b2cce896
parent23e23bd8162d96cdd35e055d63154accd0e062b1 (diff)
Add ADK_CUSTOM_TASKS_DIR variable to point to external tasks
-rw-r--r--docs/common-usage.txt5
-rw-r--r--docs/using.txt4
-rwxr-xr-xscripts/create-menu11
3 files changed, 15 insertions, 5 deletions
diff --git a/docs/common-usage.txt b/docs/common-usage.txt
index 4f41e8a..651b3bc 100644
--- a/docs/common-usage.txt
+++ b/docs/common-usage.txt
@@ -69,12 +69,14 @@ Environment variables
OpenADK also honors some environment variables, when they are passed
to +make+.
-* +ADK_APPLIANCE+, the appliance task you want to build
+* +ADK_APPLIANCE+, the appliance task you want to build
+* +ADK_CUSTOM_TASKS_DIR+, extra directory to fetch tasks from
* +ADK_TARGET_ARCH+, the architecture of the target system
* +ADK_TARGET_SYSTEM+, the embedded target system name
* +ADK_TARGET_LIBC+, the C library for the target system
* +ADK_VERBOSE+, verbose build, when set to 1
+
An example that creates a configuration file for Raspberry PI with all
software packages enabled, but not included in the resulting firmware image:
@@ -84,4 +86,3 @@ software packages enabled, but not included in the resulting firmware image:
This is often used in the development process of a target system, to verify that
all packages are compilable.
-
diff --git a/docs/using.txt b/docs/using.txt
index d45baba..96642f8 100644
--- a/docs/using.txt
+++ b/docs/using.txt
@@ -35,7 +35,9 @@ image::openadk-task.png[]
If you want to compile some predefined appliance tasks, you can select it in +Tasks+.
You can later simply add your own tasks, which is a collection of options, packages,
-kernel modules or features, runtime configuration and more.
+kernel modules or features, runtime configuration and more. They can either be placed
+inside the +tasks+ directory or in your own custom directory that you pass via
++ADK_CUSTOM_TASKS_DIR+ to make.
When you are ready exit and save. You can always redefine the
configuration using +make menuconfig+.
diff --git a/scripts/create-menu b/scripts/create-menu
index 3c0d87c..f087300 100755
--- a/scripts/create-menu
+++ b/scripts/create-menu
@@ -12,11 +12,18 @@ printf "source target/config/Config.in.system.default\n" >> target/config/Config
printf "source target/config/Config.in.system.choice\n" >> target/config/Config.in.system
# update tasks
-if [ -d "$topdir/tasks" ];then
+if [ -d "$topdir/tasks" -o -n "$ADK_CUSTOM_TASKS_DIR" ];then
printf "# autogenerated via scripts/create-menu\n" > $topdir/target/config/Config.in.tasks
printf "menu \"Tasks\"\n" >> $topdir/target/config/Config.in.tasks
printf "\tvisible if ADK_TARGET_OS_LINUX && !ADK_TARGET_CHOOSE_ARCH\n\n" >> $topdir/target/config/Config.in.tasks
- cat $topdir/tasks/* >> $topdir/target/config/Config.in.tasks 2>/dev/null
+
+ if [ -d "$topdir/tasks" ];then
+ cat $topdir/tasks/* >> $topdir/target/config/Config.in.tasks 2>/dev/null
+ fi
+ if [ -n "$ADK_CUSTOM_TASKS_DIR" -a -d "$ADK_CUSTOM_TASKS_DIR" ];then
+ printf "\n# tasks pulled from ADK_CUSTOM_TASKS_DIR='%s'\n" "$ADK_CUSTOM_TASKS_DIR" >> $topdir/target/config/Config.in.tasks
+ cat $ADK_CUSTOM_TASKS_DIR/* >> $topdir/target/config/Config.in.tasks 2>/dev/null
+ fi
printf "\nendmenu\n\n" >> $topdir/target/config/Config.in.tasks
fi