Hi,
Here is what I discovered investigating the code about the
previously mentionned problem :
Here's the method that "relativizes" :
(defmethod ede-subproject-relative-path ((proj ede-project) &optional parent-in)
"Get a path name for PROJ which is relative to the parent project.
If PARENT is specified, then be relative to the PARENT project.
Specifying PARENT is useful for sub-sub projects relative to the root project."
This last sentence is precisely the point ! In my example in the previous mail sound was a subsubproject and its directory should be calculated relatively to the project directly above and not the root.
(defmethod ede-proj-makefile-insert-subproj-rules ((this ede-proj-project))
"Insert a rule for the project THIS which should be a subproject."
(insert ".PHONY:" (ede-name this))
(newline)
(insert (ede-name this) ":")
(newline)
(insert "\tcd "
(directory-file-name (ede-subproject-relative-path this))
"; $(MAKE)")
(newline)
(newline)
)
ede-subproject-relative-path is called here without any second
argument hence the path will be relativized with respect to the
result of ede-parent-project wich seems to return the root
project and not the project directly above.
This last method ede-parent-project does not look completly
clear to me but certainly I didn't investigate enough ...
Regards,
Pierre
|