[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[paparazzi-commits] [5617] add the possibility to choose the directory n
From: |
Gautier Hattenberger |
Subject: |
[paparazzi-commits] [5617] add the possibility to choose the directory name independent of the module name |
Date: |
Mon, 23 Aug 2010 14:52:16 +0000 |
Revision: 5617
http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=5617
Author: gautier
Date: 2010-08-23 14:52:16 +0000 (Mon, 23 Aug 2010)
Log Message:
-----------
add the possibility to choose the directory name independent of the module name
only the directory "modules" is included now
Modified Paths:
--------------
paparazzi3/trunk/conf/modules/module.dtd
paparazzi3/trunk/conf/modules/sys_mon.xml
paparazzi3/trunk/sw/tools/gen_aircraft.ml
paparazzi3/trunk/sw/tools/gen_modules.ml
Modified: paparazzi3/trunk/conf/modules/module.dtd
===================================================================
--- paparazzi3/trunk/conf/modules/module.dtd 2010-08-23 14:49:09 UTC (rev
5616)
+++ paparazzi3/trunk/conf/modules/module.dtd 2010-08-23 14:52:16 UTC (rev
5617)
@@ -8,14 +8,16 @@
<!ELEMENT event (handler*)>
<!ELEMENT handler EMPTY>
<!ELEMENT datalink EMPTY>
-<!ELEMENT makefile (flag|file|define|raw)*>
+<!ELEMENT makefile (flag|file|file_hw|define|raw)*>
<!ELEMENT flag EMPTY>
<!ELEMENT file EMPTY>
+<!ELEMENT file_hw EMPTY>
<!ELEMENT define EMPTY>
<!ELEMENT raw (#PCDATA)>
<!ATTLIST module
-name CDATA #REQUIRED>
+name CDATA #REQUIRED
+dir CDATA #IMPLIED>
<!ATTLIST depend
require CDATA #IMPLIED
@@ -56,6 +58,9 @@
<!ATTLIST file
name CDATA #REQUIRED>
+<!ATTLIST file_hw
+name CDATA #REQUIRED>
+
<!ATTLIST define
name CDATA #REQUIRED
value CDATA #REQUIRED>
Modified: paparazzi3/trunk/conf/modules/sys_mon.xml
===================================================================
--- paparazzi3/trunk/conf/modules/sys_mon.xml 2010-08-23 14:49:09 UTC (rev
5616)
+++ paparazzi3/trunk/conf/modules/sys_mon.xml 2010-08-23 14:52:16 UTC (rev
5617)
@@ -1,6 +1,6 @@
<!DOCTYPE module SYSTEM "module.dtd">
-<module name="core">
+<module name="sys_mon" dir="core">
<header>
<file name="sys_mon.h"/>
</header>
Modified: paparazzi3/trunk/sw/tools/gen_aircraft.ml
===================================================================
--- paparazzi3/trunk/sw/tools/gen_aircraft.ml 2010-08-23 14:49:09 UTC (rev
5616)
+++ paparazzi3/trunk/sw/tools/gen_aircraft.ml 2010-08-23 14:52:16 UTC (rev
5617)
@@ -86,15 +86,32 @@
let modules_names =List.map (get_modules modules_dir) (Xml.children x) in
List.iter (fun name -> files := name :: !files) modules_names;
let modules_list = List.map Xml.parse_file modules_names in
+ (* Print modules directories and includes for all targets *)
+ fprintf f "\n# include modules directory for all targets\n";
+ let target_list = ref [] in
+ let dir_list = ref [] in
+ List.iter (fun m ->
+ let dir = try Xml.attrib m "dir" with _ -> ExtXml.attrib m "name" in
+ dir_list := List.merge String.compare !dir_list [dir];
+ List.iter (fun l ->
+ if ExtXml.tag_is l "makefile" then
+ target_list := List.merge String.compare !target_list
(targets_of_field l);
+ ) (Xml.children m)
+ ) modules_list;
+ List.iter (fun target -> fprintf f "%s.CFLAGS += -I modules\n" target)
!target_list;
+ List.iter (fun dir -> let dir_name = (String.uppercase dir)^"_DIR" in
fprintf f "%s = modules/%s\n" dir_name dir) !dir_list;
+ (* Parse each makefile *)
List.iter (fun modul ->
let name = ExtXml.attrib modul "name" in
- let dir_name = (String.uppercase name)^"_DIR" in
+ let dir = try Xml.attrib modul "dir" with _ -> name in
+ let dir_name = (String.uppercase dir)^"_DIR" in
fprintf f "\n# makefile for module %s\n" name;
- fprintf f "%s = modules/%s\n" dir_name name;
+ (*fprintf f "%s = modules/%s\n" dir_name name;*)
List.iter (fun l ->
if ExtXml.tag_is l "makefile" then begin
let targets = targets_of_field l in
- List.iter (fun t -> fprintf f "%s.CFLAGS += -I $(%s)\n" t dir_name
) targets;
+ (* build the list of all the targets *)
+ (*List.iter (fun t -> fprintf f "%s.CFLAGS += -I $(%s)\n" t
dir_name ) targets;*)
List.iter (fun field ->
match String.lowercase (Xml.tag field) with
"flag" ->
@@ -111,6 +128,9 @@
| "file" ->
let name = Xml.attrib field "name" in
List.iter (fun target -> fprintf f "%s.srcs += $(%s)/%s\n"
target dir_name name) targets
+ | "file_hw" ->
+ let name = Xml.attrib field "name" in
+ List.iter (fun target -> fprintf f "%s.srcs +=
arch/$(ARCH)/$(%s)/%s\n" target dir_name name) targets
| "define" ->
let value = Xml.attrib field "value"
and name = Xml.attrib field "name" in
@@ -122,10 +142,10 @@
end
| _ -> ()
)
- (Xml.children l)
+ (Xml.children l)
end)
- (Xml.children modul))
- modules_list)
+ (Xml.children modul))
+ modules_list)
(Xml.children xml);
!files
Modified: paparazzi3/trunk/sw/tools/gen_modules.ml
===================================================================
--- paparazzi3/trunk/sw/tools/gen_modules.ml 2010-08-23 14:49:09 UTC (rev
5616)
+++ paparazzi3/trunk/sw/tools/gen_modules.ml 2010-08-23 14:52:16 UTC (rev
5617)
@@ -46,10 +46,11 @@
let print_headers = fun modules ->
lprintf out_h "#include \"std.h\"\n";
List.iter (fun m ->
+ let dir_name = try Xml.attrib m "dir" with _ -> Xml.attrib m "name" in
try
let headers = ExtXml.child m "header" in
List.iter (fun h ->
- lprintf out_h "#include \"%s\"\n" (Xml.attrib h "name"))
+ lprintf out_h "#include \"%s/%s\"\n" dir_name (Xml.attrib h "name"))
(Xml.children headers)
with _ -> ())
modules
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [paparazzi-commits] [5617] add the possibility to choose the directory name independent of the module name,
Gautier Hattenberger <=