summaryrefslogtreecommitdiff
path: root/cleopatre/buildroot/target/device/Spidcom
diff options
context:
space:
mode:
authorYacine Belkadi2013-02-11 16:39:48 +0100
committerYacine Belkadi2013-02-11 17:25:19 +0100
commitaad5c05757eddf760c7c3138fe81648e7f04c214 (patch)
tree393053e4979ace5bb5c59d61519bab6eaa2e61c1 /cleopatre/buildroot/target/device/Spidcom
parent5699f004dc2cca23c92fe75d0194b008bf3aff91 (diff)
cleo/buildroot/target/Spidcom: get target_skeleton from desc file, refs #3723
The final target_skeleton is composed from directories specified in $(TARGET_SKELETON) and $(TARGET_SKELETON_ADD). To harmonize with upcoming changes, get the list of directories from a description file.
Diffstat (limited to 'cleopatre/buildroot/target/device/Spidcom')
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/Makefile.in8
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/arizona/Makefile.in1
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/arizona/desc1
-rwxr-xr-xcleopatre/buildroot/target/device/Spidcom/desc.py107
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/mcr500/Makefile.in1
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/mcr500/desc3
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/mpr520/Makefile.in1
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/mpr520/desc3
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/mse500/Makefile.in1
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/mse500/desc3
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/mse500dini_300/Makefile.in1
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/mse500dini_300/desc3
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/scr310/Makefile.in1
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/scr310/desc3
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/spk300/Makefile.in1
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/spk300/desc3
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/spk300g/desc2
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/spk310/Makefile.in1
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/spk310/desc3
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/spr300/Makefile.in1
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/spr300/desc3
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/spr310/Makefile.in1
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/spr310/desc3
23 files changed, 143 insertions, 12 deletions
diff --git a/cleopatre/buildroot/target/device/Spidcom/Makefile.in b/cleopatre/buildroot/target/device/Spidcom/Makefile.in
index af6b88449b..4fa6774179 100644
--- a/cleopatre/buildroot/target/device/Spidcom/Makefile.in
+++ b/cleopatre/buildroot/target/device/Spidcom/Makefile.in
@@ -1,7 +1,8 @@
# Override the default uClibc configuration
ifeq ($(strip $(BR2_TARGET_SPIDCOM)),y)
-TARGET_SKELETON = target/device/Spidcom/common/target_skeleton_base
+TARGET_SPIDCOM_DIR := target/device/Spidcom
+TARGET_SKELETON = $(TARGET_SPIDCOM_DIR)/common/non_existent_dir
include target/device/Spidcom/$(subst ",,$(BR2_TARGET_SPIDCOM_BOARD))/Makefile.in
@@ -41,7 +42,10 @@ linux26-clean:
$(TARGET_DIR): $(PROJECT_BUILD_DIR)/.root-add
$(PROJECT_BUILD_DIR)/.root-add: $(PROJECT_BUILD_DIR)/.root
- for dir in $(TARGET_SKELETON_ADD); do \
+ for dir in $$($(TARGET_SPIDCOM_DIR)/desc.py \
+ --common-dir $(TARGET_SPIDCOM_DIR)/common \
+ --desc $(TARGET_SPIDCOM_DIR)/$(BOARD_NAME)/desc \
+ --gen target_skeleton); do \
cp -fa $$dir/* $(TARGET_DIR)/; \
done
-find $(TARGET_DIR) -type d -name CVS -o -name .svn | xargs rm -rf
diff --git a/cleopatre/buildroot/target/device/Spidcom/arizona/Makefile.in b/cleopatre/buildroot/target/device/Spidcom/arizona/Makefile.in
index 53d36b59a6..3590f96b06 100644
--- a/cleopatre/buildroot/target/device/Spidcom/arizona/Makefile.in
+++ b/cleopatre/buildroot/target/device/Spidcom/arizona/Makefile.in
@@ -2,7 +2,6 @@ BOARD_NAME=arizona
BOARD_PATH=target/device/Spidcom/$(BOARD_NAME)
BR2_PACKAGE_BUSYBOX_CONFIG:=$(BOARD_PATH)/busybox.config
-TARGET_SKELETON=$(BOARD_PATH)/target_skeleton
TARGET_DEVICE_TABLE=$(BOARD_PATH)/device_table.txt
ifeq ($(strip $(BR2_PACKAGE_LINUX)),y)
diff --git a/cleopatre/buildroot/target/device/Spidcom/arizona/desc b/cleopatre/buildroot/target/device/Spidcom/arizona/desc
new file mode 100644
index 0000000000..8e89c8cd35
--- /dev/null
+++ b/cleopatre/buildroot/target/device/Spidcom/arizona/desc
@@ -0,0 +1 @@
+target_skeleton
diff --git a/cleopatre/buildroot/target/device/Spidcom/desc.py b/cleopatre/buildroot/target/device/Spidcom/desc.py
new file mode 100755
index 0000000000..6bea840a6f
--- /dev/null
+++ b/cleopatre/buildroot/target/device/Spidcom/desc.py
@@ -0,0 +1,107 @@
+#! /usr/bin/env python
+
+from __future__ import print_function
+import optparse
+import os.path
+import re
+import sys
+
+class GeneratorBase(object):
+
+ def gen(self, recipe, recipe_dir, common_dir):
+ self.common_dir = common_dir
+ for ingredient in recipe:
+ path = self._get_path(ingredient, recipe_dir)
+ self._add(path)
+ self._print_output()
+
+ def _get_path(self, ingredient, recipe_dir):
+ m = re.match(r"(common|local)/(.*)", ingredient)
+ if not m:
+ raise RuntimeError(
+ "Error while parsing:\n\t{0}".format(ingredient))
+ if m.group(1) == "local":
+ path = os.path.join(recipe_dir, m.group(2))
+ elif m.group(1) == "common":
+ path = os.path.join(self.common_dir, m.group(2))
+ return path
+
+
+class DirListGenerator(GeneratorBase):
+
+ def __init__(self):
+ self.output = []
+
+ def _add(self, ingredient):
+ self.output.append(ingredient)
+
+ def _print_output(self):
+ for line in self.output:
+ print(line)
+
+
+def get_recipe(desc, gen):
+ recipe = []
+ found = False
+ for line in open(desc).readlines():
+ if line[0].isspace():
+ if not target:
+ raise RuntimeError(
+ "Error while parsing line:\n\t\{0}".format(line))
+ if found:
+ line = line.strip()
+ if line:
+ recipe.append(line.strip())
+ else:
+ if found:
+ break
+ else:
+ target = line.strip()
+ if target == gen:
+ found = True
+
+ if found:
+ return recipe
+ else:
+ return None
+
+
+def main(args):
+ usage="Generate from a description."
+ parser = optparse.OptionParser(usage=usage)
+ parser.add_option("", "--desc-file", type="string", dest="desc",
+ help="description file")
+ parser.add_option("", "--common-dir", type="string", dest="common_dir",
+ help="common directory")
+ parser.add_option("", "--gen", type="string", dest="gen",
+ help="what to generate")
+ parser.add_option("", "--list-gen", action="store_true", dest="list_gen",
+ help="list possible values for --gen")
+ (options, args) = parser.parse_args()
+
+ generators = { "target_skeleton": DirListGenerator }
+
+ if options.list_gen:
+ for generator in sorted(generators.keys()):
+ print(generator)
+ return
+
+ if (not options.desc) or (not options.common_dir) or (not options.gen):
+ parser.print_help()
+ return
+
+ if options.gen in generators:
+ generator = generators[options.gen]()
+ else:
+ raise RuntimeError("Don't know how to generate \"{0}\"".format(
+ options.gen))
+
+ recipe = get_recipe(options.desc, options.gen)
+ if not recipe:
+ raise RuntimeError(
+ "Cannot find recipe to generate \"{0}\"".format(options.gen))
+
+ generator.gen(recipe, os.path.dirname(options.desc), options.common_dir)
+
+if __name__ == "__main__":
+ main(sys.argv)
diff --git a/cleopatre/buildroot/target/device/Spidcom/mcr500/Makefile.in b/cleopatre/buildroot/target/device/Spidcom/mcr500/Makefile.in
index 193d648ce9..cfcf95daa3 100644
--- a/cleopatre/buildroot/target/device/Spidcom/mcr500/Makefile.in
+++ b/cleopatre/buildroot/target/device/Spidcom/mcr500/Makefile.in
@@ -2,7 +2,6 @@ BOARD_NAME=mcr500
BOARD_PATH=target/device/Spidcom/$(BOARD_NAME)
BR2_PACKAGE_BUSYBOX_CONFIG:=$(BOARD_PATH)/busybox.config
-TARGET_SKELETON_ADD=$(BOARD_PATH)/target_skeleton_add
TARGET_DEVICE_TABLE=$(BOARD_PATH)/device_table.txt
ifeq ($(strip $(BR2_PACKAGE_LINUX)),y)
diff --git a/cleopatre/buildroot/target/device/Spidcom/mcr500/desc b/cleopatre/buildroot/target/device/Spidcom/mcr500/desc
new file mode 100644
index 0000000000..a77b05cbcb
--- /dev/null
+++ b/cleopatre/buildroot/target/device/Spidcom/mcr500/desc
@@ -0,0 +1,3 @@
+target_skeleton
+ common/target_skeleton_base
+ local/target_skeleton_add
diff --git a/cleopatre/buildroot/target/device/Spidcom/mpr520/Makefile.in b/cleopatre/buildroot/target/device/Spidcom/mpr520/Makefile.in
index 179b6f5d27..9983df0f36 100644
--- a/cleopatre/buildroot/target/device/Spidcom/mpr520/Makefile.in
+++ b/cleopatre/buildroot/target/device/Spidcom/mpr520/Makefile.in
@@ -2,7 +2,6 @@ BOARD_NAME=mpr520
BOARD_PATH=target/device/Spidcom/$(BOARD_NAME)
BR2_PACKAGE_BUSYBOX_CONFIG:=$(BOARD_PATH)/busybox.config
-TARGET_SKELETON_ADD=$(BOARD_PATH)/target_skeleton_add
TARGET_DEVICE_TABLE=$(BOARD_PATH)/device_table.txt
ifeq ($(strip $(BR2_PACKAGE_LINUX)),y)
diff --git a/cleopatre/buildroot/target/device/Spidcom/mpr520/desc b/cleopatre/buildroot/target/device/Spidcom/mpr520/desc
new file mode 100644
index 0000000000..a77b05cbcb
--- /dev/null
+++ b/cleopatre/buildroot/target/device/Spidcom/mpr520/desc
@@ -0,0 +1,3 @@
+target_skeleton
+ common/target_skeleton_base
+ local/target_skeleton_add
diff --git a/cleopatre/buildroot/target/device/Spidcom/mse500/Makefile.in b/cleopatre/buildroot/target/device/Spidcom/mse500/Makefile.in
index 5bcb6b8582..07911bebf2 100644
--- a/cleopatre/buildroot/target/device/Spidcom/mse500/Makefile.in
+++ b/cleopatre/buildroot/target/device/Spidcom/mse500/Makefile.in
@@ -2,7 +2,6 @@ BOARD_NAME=mse500
BOARD_PATH=target/device/Spidcom/$(BOARD_NAME)
BR2_PACKAGE_BUSYBOX_CONFIG:=$(BOARD_PATH)/busybox.config
-TARGET_SKELETON_ADD=$(BOARD_PATH)/target_skeleton_add
TARGET_DEVICE_TABLE=$(BOARD_PATH)/device_table.txt
ifeq ($(strip $(BR2_PACKAGE_LINUX)),y)
diff --git a/cleopatre/buildroot/target/device/Spidcom/mse500/desc b/cleopatre/buildroot/target/device/Spidcom/mse500/desc
new file mode 100644
index 0000000000..a77b05cbcb
--- /dev/null
+++ b/cleopatre/buildroot/target/device/Spidcom/mse500/desc
@@ -0,0 +1,3 @@
+target_skeleton
+ common/target_skeleton_base
+ local/target_skeleton_add
diff --git a/cleopatre/buildroot/target/device/Spidcom/mse500dini_300/Makefile.in b/cleopatre/buildroot/target/device/Spidcom/mse500dini_300/Makefile.in
index 0a69544282..e3d1b9fbc0 100644
--- a/cleopatre/buildroot/target/device/Spidcom/mse500dini_300/Makefile.in
+++ b/cleopatre/buildroot/target/device/Spidcom/mse500dini_300/Makefile.in
@@ -2,7 +2,6 @@ BOARD_NAME=mse500dini_300
BOARD_PATH=target/device/Spidcom/$(BOARD_NAME)
BR2_PACKAGE_BUSYBOX_CONFIG:=$(BOARD_PATH)/busybox.config
-TARGET_SKELETON_ADD=$(BOARD_PATH)/target_skeleton_add
TARGET_DEVICE_TABLE=$(BOARD_PATH)/device_table.txt
ifeq ($(strip $(BR2_PACKAGE_LINUX)),y)
diff --git a/cleopatre/buildroot/target/device/Spidcom/mse500dini_300/desc b/cleopatre/buildroot/target/device/Spidcom/mse500dini_300/desc
new file mode 100644
index 0000000000..a77b05cbcb
--- /dev/null
+++ b/cleopatre/buildroot/target/device/Spidcom/mse500dini_300/desc
@@ -0,0 +1,3 @@
+target_skeleton
+ common/target_skeleton_base
+ local/target_skeleton_add
diff --git a/cleopatre/buildroot/target/device/Spidcom/scr310/Makefile.in b/cleopatre/buildroot/target/device/Spidcom/scr310/Makefile.in
index 2c4eceb4fe..f040480d6b 100644
--- a/cleopatre/buildroot/target/device/Spidcom/scr310/Makefile.in
+++ b/cleopatre/buildroot/target/device/Spidcom/scr310/Makefile.in
@@ -2,7 +2,6 @@ BOARD_NAME=scr310
BOARD_PATH=target/device/Spidcom/$(BOARD_NAME)
BR2_PACKAGE_BUSYBOX_CONFIG:=$(BOARD_PATH)/busybox.config
-TARGET_SKELETON_ADD=$(BOARD_PATH)/target_skeleton_add
TARGET_DEVICE_TABLE=$(BOARD_PATH)/device_table.txt
ifeq ($(strip $(BR2_PACKAGE_LINUX)),y)
diff --git a/cleopatre/buildroot/target/device/Spidcom/scr310/desc b/cleopatre/buildroot/target/device/Spidcom/scr310/desc
new file mode 100644
index 0000000000..a77b05cbcb
--- /dev/null
+++ b/cleopatre/buildroot/target/device/Spidcom/scr310/desc
@@ -0,0 +1,3 @@
+target_skeleton
+ common/target_skeleton_base
+ local/target_skeleton_add
diff --git a/cleopatre/buildroot/target/device/Spidcom/spk300/Makefile.in b/cleopatre/buildroot/target/device/Spidcom/spk300/Makefile.in
index 0290504c6d..ad74d6238c 100644
--- a/cleopatre/buildroot/target/device/Spidcom/spk300/Makefile.in
+++ b/cleopatre/buildroot/target/device/Spidcom/spk300/Makefile.in
@@ -2,7 +2,6 @@ BOARD_NAME=spk300
BOARD_PATH=target/device/Spidcom/$(BOARD_NAME)
BR2_PACKAGE_BUSYBOX_CONFIG:=$(BOARD_PATH)/busybox.config
-TARGET_SKELETON_ADD=$(BOARD_PATH)/target_skeleton_add
TARGET_DEVICE_TABLE=$(BOARD_PATH)/device_table.txt
ifeq ($(strip $(BR2_PACKAGE_LINUX)),y)
diff --git a/cleopatre/buildroot/target/device/Spidcom/spk300/desc b/cleopatre/buildroot/target/device/Spidcom/spk300/desc
new file mode 100644
index 0000000000..a77b05cbcb
--- /dev/null
+++ b/cleopatre/buildroot/target/device/Spidcom/spk300/desc
@@ -0,0 +1,3 @@
+target_skeleton
+ common/target_skeleton_base
+ local/target_skeleton_add
diff --git a/cleopatre/buildroot/target/device/Spidcom/spk300g/desc b/cleopatre/buildroot/target/device/Spidcom/spk300g/desc
new file mode 100644
index 0000000000..0cede123f2
--- /dev/null
+++ b/cleopatre/buildroot/target/device/Spidcom/spk300g/desc
@@ -0,0 +1,2 @@
+target_skeleton
+ common/target_skeleton_base
diff --git a/cleopatre/buildroot/target/device/Spidcom/spk310/Makefile.in b/cleopatre/buildroot/target/device/Spidcom/spk310/Makefile.in
index f59ad29238..6869b7c45d 100644
--- a/cleopatre/buildroot/target/device/Spidcom/spk310/Makefile.in
+++ b/cleopatre/buildroot/target/device/Spidcom/spk310/Makefile.in
@@ -2,7 +2,6 @@ BOARD_NAME=spk310
BOARD_PATH=target/device/Spidcom/$(BOARD_NAME)
BR2_PACKAGE_BUSYBOX_CONFIG:=$(BOARD_PATH)/busybox.config
-TARGET_SKELETON_ADD=$(BOARD_PATH)/target_skeleton_add
TARGET_DEVICE_TABLE=$(BOARD_PATH)/device_table.txt
ifeq ($(strip $(BR2_PACKAGE_LINUX)),y)
diff --git a/cleopatre/buildroot/target/device/Spidcom/spk310/desc b/cleopatre/buildroot/target/device/Spidcom/spk310/desc
new file mode 100644
index 0000000000..a77b05cbcb
--- /dev/null
+++ b/cleopatre/buildroot/target/device/Spidcom/spk310/desc
@@ -0,0 +1,3 @@
+target_skeleton
+ common/target_skeleton_base
+ local/target_skeleton_add
diff --git a/cleopatre/buildroot/target/device/Spidcom/spr300/Makefile.in b/cleopatre/buildroot/target/device/Spidcom/spr300/Makefile.in
index 0a6170eeee..39686fae19 100644
--- a/cleopatre/buildroot/target/device/Spidcom/spr300/Makefile.in
+++ b/cleopatre/buildroot/target/device/Spidcom/spr300/Makefile.in
@@ -2,7 +2,6 @@ BOARD_NAME=spr300
BOARD_PATH=target/device/Spidcom/$(BOARD_NAME)
BR2_PACKAGE_BUSYBOX_CONFIG:=$(BOARD_PATH)/busybox.config
-TARGET_SKELETON_ADD=$(BOARD_PATH)/target_skeleton_add
TARGET_DEVICE_TABLE=$(BOARD_PATH)/device_table.txt
ifeq ($(strip $(BR2_PACKAGE_LINUX)),y)
diff --git a/cleopatre/buildroot/target/device/Spidcom/spr300/desc b/cleopatre/buildroot/target/device/Spidcom/spr300/desc
new file mode 100644
index 0000000000..a77b05cbcb
--- /dev/null
+++ b/cleopatre/buildroot/target/device/Spidcom/spr300/desc
@@ -0,0 +1,3 @@
+target_skeleton
+ common/target_skeleton_base
+ local/target_skeleton_add
diff --git a/cleopatre/buildroot/target/device/Spidcom/spr310/Makefile.in b/cleopatre/buildroot/target/device/Spidcom/spr310/Makefile.in
index d15a1e39f4..ada90c695e 100644
--- a/cleopatre/buildroot/target/device/Spidcom/spr310/Makefile.in
+++ b/cleopatre/buildroot/target/device/Spidcom/spr310/Makefile.in
@@ -2,7 +2,6 @@ BOARD_NAME=spr310
BOARD_PATH=target/device/Spidcom/$(BOARD_NAME)
BR2_PACKAGE_BUSYBOX_CONFIG:=$(BOARD_PATH)/busybox.config
-TARGET_SKELETON_ADD=$(BOARD_PATH)/target_skeleton_add
TARGET_DEVICE_TABLE=$(BOARD_PATH)/device_table.txt
ifeq ($(strip $(BR2_PACKAGE_LINUX)),y)
diff --git a/cleopatre/buildroot/target/device/Spidcom/spr310/desc b/cleopatre/buildroot/target/device/Spidcom/spr310/desc
new file mode 100644
index 0000000000..a77b05cbcb
--- /dev/null
+++ b/cleopatre/buildroot/target/device/Spidcom/spr310/desc
@@ -0,0 +1,3 @@
+target_skeleton
+ common/target_skeleton_base
+ local/target_skeleton_add