Radix cross Linux Build System

Cross-platform build system is designed to build distributions of different operating systems for a set of target devices

39 Commits   2 Branches   2 Tags
Index: LICENSE-1.0-en_US.txt
===================================================================
--- LICENSE-1.0-en_US.txt	(nonexistent)
+++ LICENSE-1.0-en_US.txt	(revision 5)
@@ -0,0 +1,268 @@
+
+
+                                 Radix.pro License
+                              Version 1.0, March 2016
+                  http://radix.pro/licenses/LICENSE-1.0-en_US.txt
+
+
+1. Definitions
+
+   1.1. "License"
+
+        means the terms and conditions for use, reproduction, and distribution
+        as defined by this document.
+
+
+   1.2. "Licensor"
+
+        means the copyright owner or entity authorized by the copyright owner that is
+        granting the License.
+
+
+   1.3. "Legal Entity"
+
+        means the union of the acting entity and all other entities that control, are
+        controlled by, or are under common control with that entity. For the purposes
+        of this definition, "control" means:
+          a. the power, direct or indirect, to cause the direction or management of such
+             entity, whether by contract or otherwise, or
+          b. ownership of fifty percent (50%) or more of the outstanding shares, or
+          c. beneficial ownership of such entity.
+
+
+   1.4. "You" (or "Your")
+
+        means an individual or Legal Entity exercising permissions granted by this License.
+
+
+   1.5. “Licensable”
+
+        means having the right to grant, to the maximum extent possible, whether at the
+        time of the initial grant or subsequently, any and all of the rights conveyed
+        by this License.
+
+
+   1.6. "Source Form"
+
+        means the form of the Work preferred for making Modifications, including but not limited
+        to software source code, documentation source, and configuration files.
+
+
+   1.7. "Object Form"
+
+        means any form resulting from mechanical  transformation or translation of a Source form,
+        including but not limited to compiled object code, generated documentation, and conversions
+        to other media types.
+
+
+   1.8. "Work"
+
+        means the work of authorship, whether in Source or Object Form, made available under
+        the License, as indicated by a copyright notice that is included in or attached to the work
+        (an example is provided in the Appendix below).
+
+
+   1.9. "Derivative Works"
+
+        means any work, whether in Source or Object Form, that is based on (or derived from) the Work
+        and for which the editorial revisions, annotations, elaborations, or other modifications
+        represent, as a whole, an original work of authorship. For the purposes of this License,
+        Derivative Works shall not include works that remain separable from, or merely link
+        (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
+
+
+  1.10. "Contribution"
+
+        means any work of authorship, including the original version of the Work and any modifications
+        or additions to that Work or Derivative Works thereof, that is intentionally submitted to
+        Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity
+        authorized to submit on behalf of the copyright owner. For the purposes of this definition,
+        "submitted" means any form of electronic, verbal, or written communication sent to the Licensor
+        or its representatives, including but not limited to communication on electronic mailing lists,
+        source code control systems, and issue tracking systems that are managed by, or on behalf of,
+        the Licensor for the purpose of discussing and improving the Work, but excluding communication
+        that is conspicuously marked or otherwise designated in writing by the copyright owner
+        as "Not a Contribution."
+
+
+  1.11. "Contributor"
+
+        means Licensor and any individual or Legal Entity on behalf of whom a Contribution has been
+        received by Licensor and subsequently incorporated within the Work.
+
+
+  1.12. “Patent Claims” of a Contributor
+
+        means any patent claim(s), including without limitation, method, process, and apparatus claims,
+        in any patent Licensable by such Contributor that would be infringed, but for the grant of the
+        License, by the making, using, selling, offering for sale, having made, import, or transfer
+        of either its Contributions or its Contributor Version.
+
+
+
+2. Grant of Copyright License
+
+   Subject to the terms and conditions of this License, each Contributor hereby grants to You
+   a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license
+   to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense,
+   and distribute the Work and such Derivative Works in Source or Object Form.
+
+
+3. Grant of Patent License
+
+   Subject to the terms and conditions of this License, each Contributor hereby grants
+   to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+   (except as stated in this section) patent license to make, have made, use, offer to
+   sell, sell, import, and otherwise transfer the Work, where such license applies only
+   to those patent claims Licensable by such Contributor that are necessarily infringed
+   by their Contribution(s) alone or by combination of their Contribution(s) with the
+   Work to which such Contribution(s) was submitted. If You institute patent litigation
+   against any entity (including a cross-claim or counterclaim in a lawsuit) alleging
+   that the Work or a Contribution incorporated within the Work constitutes direct
+   or contributory patent infringement, then any patent licenses granted to You under
+   this License for that Work shall terminate as of the date such litigation is filed.
+
+
+4. Redistribution
+
+   You may reproduce and distribute copies of the Work or Derivative Works thereof
+   in any medium, with or without modifications, and in Source or Object Form, provided
+   that You meet the following conditions:
+
+     a. You must give any other recipients of the Work or  Derivative Works
+        a copy of this License; and
+     b. You must cause any modified files to carry prominent notices stating that
+        You changed the files; and
+     c. You must retain, in the Source form of any Derivative Works that You distribute,
+        all copyright, patent, trademark, and attribution notices from the Source form
+        of the Work, excluding those notices that do not pertain to any part of the
+        Derivative Works; and
+     d. If the Work includes a "PRINCIPLE" text file as part of its distribution, then
+        any Derivative Works that You distribute must include a readable copy of the
+        fundamental ideas, truths or propositions contained within such PRINCIPLE file.
+        You may add Your own fundamental ideas, truths or propositions that serves as
+        the foundation for understanding the internal structure and principles of
+        Derivative works or Contributions.
+
+   You may add Your own copyright statement to Your modifications and may provide additional
+   or different license terms and conditions for use, reproduction, or distribution of Your
+   modifications, or for any such Derivative Works as a whole, provided Your use, reproduction,
+   and distribution of the Work otherwise complies with the conditions stated in this License.
+
+
+5. Submission of Contributions
+
+   Unless You explicitly state otherwise,  any Contribution intentionally submitted for
+   inclusion in the Work by You to the Licensor shall be under the terms and conditions
+   of this License, without any additional terms or conditions. Notwithstanding the above,
+   nothing herein shall supersede or modify the terms of any separate license agreement
+   you may have executed with Licensor regarding such Contributions.
+
+
+6. Trademarks
+
+   This License does not grant permission to use the trade names, trademarks, service marks,
+   or product names of the Licensor, except as required for reasonable and customary use in
+   describing the origin of the Work and reproducing the content of the PRINCIPLE file.
+
+
+7. Disclaimer of Warranty
+
+   Unless required by applicable law or agreed to in writing, Licensor provides the Work
+   (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES
+   OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any
+   warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+   PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of
+   using or redistributing the Work and assume any risks associated with Your exercise of
+   permissions under this License.
+
+
+8. Limitation of Liability
+
+   In no event and under no legal theory, whether in tort (including negligence), contract,
+   or otherwise, unless required by applicable law (such as deliberate and grossly negligent
+   acts) or agreed to in writing, shall any Contributor be liable to You for damages, including
+   any direct, indirect, special, incidental, or consequential damages of any character arising
+   as a result of this License or out of the use or inability to use the Work (including but not
+   limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or
+   any and all other commercial damages or losses), even if such Contributor has been advised
+   of the possibility of such damages.
+
+
+9. Accepting Warranty or Additional Liability
+
+   While redistributing the Work or Derivative Works thereof, You may choose to offer,
+   and charge a fee for, acceptance of support, warranty, indemnity,  or other liability
+   obligations and/or rights consistent with this License. However, in accepting such
+   obligations, You may act only on Your own behalf and on Your sole responsibility, not
+   on behalf of any other Contributor, and only if You agree to indemnify, defend, and
+   hold each Contributor harmless for any liability incurred by, or claims asserted
+   against, such Contributor by reason of your accepting any such warranty or additional
+   liability.
+
+
+APPENDICES
+
+APPENDIX 1: How to apply the Radix.pro License to your work
+
+      To apply the Radix.pro License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+      Copyright [yyyy] [name of copyright owner]
+
+      Licensed under the Radix.pro License, Version 1.0 (the "License");
+      you may not use this file except in compliance with the License.
+      You may obtain a copy of the License at
+
+          http://radix.pro/licenses/LICENSE-1.0-en_US.txt
+
+      Unless required by applicable law or agreed to in writing, software
+      distributed under the License is distributed on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied.
+
+
+APPENDIX 2: Examples of comments
+
+/**********************************************************************
+
+  Copyright 2016 Andrey V.Kosteltsev
+
+  Licensed under the Radix.pro License, Version 1.0 (the "License");
+  you may not use this file  except  in compliance with the License.
+  You may obtain a copy of the License at
+
+     http://radix.pro/licenses/LICENSE-1.0-en_US.txt
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+  implied.
+
+ **********************************************************************/
+
+
+#!/bin/sh
+#######################################################################
+#
+# Copyright 2016 Andrey V.Kosteltsev
+#
+# Licensed under the Radix.pro License, Version 1.0 (the "License");
+# you may not use this file  except  in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://radix.pro/licenses/LICENSE-1.0-en_US.txt
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+#  implied.
+#
+#######################################################################
+
Index: LICENSE-1.0-ru_RU.txt
===================================================================
--- LICENSE-1.0-ru_RU.txt	(nonexistent)
+++ LICENSE-1.0-ru_RU.txt	(revision 5)
@@ -0,0 +1,280 @@
+
+
+                                 Radix.pro License
+                              Версия 1.0, март 2016 г.
+                  http://radix.pro/licenses/LICENSE-1.0-ru_RU.txt
+
+
+1. Определения
+
+   1.1. «Лицензия»
+
+        это настоящий документ, пердставляющий собой Лицензионный договор, определяющий
+        условия использования, воспроизведения и распространения Работы, заключаемый
+        в упрощенном порядке и являющийся договором присоединения, вступающим в силу
+        в момент начала использования Работы.
+
+
+   1.2. «Лицензиар»
+
+        это владелец авторского права или лицо, уполномоченное владельцем авторских прав,
+        предоставляющие Лицензию.
+
+
+   1.3. «Юридическое лицо»
+
+        это объединение действующих лиц и остальных лиц, которые контролируют,
+        контролируются или находятся под общим контролем с действующими лицами.
+        Для целей данного определения, «контроль» означает:
+          a) силу, прямую или косвенную, определяющую развитие или управление такого лица
+             согласно договорённостям или иным образом, или
+          b) собственность пятидесяти процентов (50%) или более находящихся в обращении
+             акций, или
+          c) доверительное управление этим лицом.
+
+
+   1.4. «Вы»
+
+        это физическое или юридическое лицо, использующее права, предоставленные настоящей Лицензией.
+
+
+   1.5. «Лицензируемый»
+
+        это Работа или Производные работы передаваемые под настоящей Лицензией физическим
+        или Юридическим лицом, имеющим все права для предоставления, в максимально возможной
+        степени, как в момент первичного предоставления, так и в последствии.
+
+
+   1.6. «Исходная форма»
+
+        это форма представления Работы, предпочтительная для внесения изменений, включая исходный
+        код, исходные формы документации, конфигурационные файлы и не ограничиваясь таковыми.
+
+
+   1.7. «Объектная форма»
+
+        это результат автоматического преобразования Исходной формы, включающий исходный код,
+        откомпилированный в объектный, сгенерированную документацию и формы, полученные в результате
+        преобразования в другие форматы, предназначенные для массового распространения,
+        но не ограничивающийся таковыми.
+
+
+   1.8. «Работа»
+
+        это объект авторского права в Исходной или Объектной форме, доступный на условиях настоящей
+        Лицензии, о чём свидетельствует уведомление об авторстве, которое входит в Работу или прилагается
+        к ней (см. примеры, показанные в Приложениях).
+
+
+   1.9. «Производные работы»
+
+        это любые работы в Исходной или Объектной форме, основанные на Работе или полученные из неё,
+        для которых редакционные изменения, аннотации, развитие или иные изменения, имеют, в целом,
+        независимое авторство. Для целей настоящей Лицензии, Производные работы не включают работы,
+        которые отделимы от Работы и её производных, например, связываются по имени или ссылке
+        с интерфейсом Работы.
+
+
+  1.10. «Вклад»
+
+        это любое авторское произведение, в том числе оригинальная версия Работы, все изменения и
+        дополнения Работы и Производных работ, умышленно представленные Лицензиару для включения
+        в Работу владельцем авторского права или лицом (в том числе, юридическим лицом), уполномоченным
+        представлять владельца авторских прав. Для целей данного определения, «представление» означает
+        любую форму электронного, словесного или письменного сообщения, направленного Лицензиару или
+        его представителям, включая, но не ограничиваясь электронными списками рассылки, системами
+        управления исходным кодом и дефектами, управляемыми Лицензиаром или от его имени с целью
+        обсуждения и улучшения Работы, за исключением сообщений, помеченных владельцем авторских прав,
+        как «не вклад».
+
+
+  1.11. «Участник»
+
+        means Licensor and any individual or Legal Entity on behalf of whom a Contribution has been
+        received by Licensor and subsequently incorporated within the Work.
+
+        это Лицензиар, а также любое физическое или юридическое лицо, от имени которого Лицензиаром
+        был получен Вклад, впоследствии включенный в Работу.
+
+
+  1.12. «Патентные права» Участника
+
+        это любые патентные права Участника, включая Метод, Процесс, Устройство или Изделие, но не
+        ограничиваясь ими, Лицензируемые Участником, которые будут нарушены, но только в целях
+        представления Вклада под настоящей Лицензией, производством, использованием, продажей,
+        предложенем продажи, импортом и иным способом передачи Вклада.
+
+
+
+2. Предоставление прав
+
+   В соответствии с условиями настоящей Лицензии, каждый Участник настоящим предоставляет
+   Вам вечную, простую (неисключительную), бесплатную, безвозмездную, безотзывную лицензию прав
+   на воспроизведение, изменение, публичный показ, публичное исполнение, сублицензирование
+   и распространение Работы и Производных работ в Исходной и Объектной формах по всему миру.
+
+
+3. Предоставление патентных прав
+
+   В соответствии с условиями настоящей Лицензии, каждый Участник настоящим предоставляет
+   Вам вечную, простую (неисключительную), бесплатную, безвозмездную, безотзывную (кроме
+   случаев, перечисленных в этом разделе) патентную лицензию производить, произвести,
+   использовать, предлагать продать, продавать, импортировать и иным образом передавать
+   Работу по всему миру. Эта Лицензия относится только к таким патентным правам,
+   Лицензированным каким-либо Участником, которые неизбежно нарушаются (но лишь для того,
+   чтобы предоставить настоящую Лицензию) из-за представления этим Участником Вклада(Вкладов)
+   в отдельности, либо его Вкладом(Вкладами) в купе с Работой, в которую сделан данный
+   Вклад(Вклады). Если Вы начинаете патентный спор в отношении любого лица (включая
+   встречный иск), утверждая, что Работа или Вклад, включенный в работу, являются прямым
+   или частичным нарушением патентных прав, то все патентные права, предоставленные Вам
+   настоящей Лицензией, заканчиваются в день соответствующего судебного иска.
+
+
+4. Распространение
+
+   Вы можете воспроизводить и распространять копии Работы или Производных работ на любом
+   носителе, с изменениями или без, в Исходной или Объектной форме, при условии, что Вы
+   выполняете следующие условия:
+
+     a. Вы должны предоставить всем другим получателям Работы и Производных работ,
+        копию этой лицензии, и
+
+     b. Вы должны снабдить все модифицированные файлы явными уведомлениями, что Вы
+        изменили файлы, и
+
+     c. Вы должны сохранить в Исходной форме любых Производных работ, которые вы
+        распространяете, авторские права, патенты, торговые марки, а также
+        соответствующие уведомления из Исходной формы Работы, за исключением тех,
+        что не имеют отношения к какой-либо части Производной работы; и
+
+     d. Если Работа включает в себя текстовый файл «PRINCIPLE», как часть пакета, то любые
+        Производные работы, распространяемые Вами, должны включать читаемую копию этого
+        файла. Вы можете добавить в файл PRINCIPLE свои собственные фундаментальные
+        идеи, утверждения или предположения, которые служат основой понимания внутренней
+        структуры и принципов Производной Работы или Вклада.
+
+   Вы можете добавить свои собственные заявления об авторских правах на изменения, сделанные
+   вами. Кроме того, Вы можете предоставить дополнительные или иные лицензионные условия и
+   условия использования, воспроизведения или распространения Ваших модификаций или Производных
+   работ, как и работы в целом. Если Вы не представили собственных условий использования,
+   воспроизведения или растространения Работы, то указанные условия будут соответствовать
+   настоящей Лицензии.
+
+
+5. Предоставление вкладов
+
+   Если Вы явно не указали иное, любые материалы, намеренно представленные Вами для включения
+   в Работу Лицензиаром должны соответствовать положениям и условиям данной Лицензии без каких-либо
+   дополнительных условий или ограничений. Вышесказанное никаким образом не заменяет и не изменяет
+   условия любого отдельного лицензионного соглашения, заключённого Вами и Лицензиаром в отношении
+   таких Вкладов.
+
+
+6. Товарные знаки
+
+   Эта лицензия не дает разрешения на использование торговых наименований, товарных знаков,
+   знаков обслуживания или названий продуктов Лицензиара, за исключением случаев разумного
+   и обычного использования при описании происхождения Работы и воспроизведении содержания
+   файла PRINCIPLE.
+
+
+7. Отказ от гарантий
+
+   Если это не предусмотрено применимыми законами или не согласовано в письменной форме,
+   Лицензиар предоставляет Работу (и каждый Участник предоставляет свои Вклады) «КАК ЕСТЬ»,
+   БЕЗ ГАРАНТИЙ И УСЛОВИЙ ЛЮБОГО РОДА, явных или подразумеваемых, включая, без ограничений,
+   любые условия или гарантии ПРАВ СОБСТВЕННОСТИ, ПАТЕНТНЫХ ПРАВ, КОММЕРЧЕСКОЙ ЦЕННОСТИ
+   и ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЁННОЙ ЦЕЛИ. Вы несете полную ответственность за определение
+   целесообразности использования или распространения Работы и несёте риски, связанные
+   с осуществлением прав в соответствии с настоящей Лицензией.
+
+
+8. Ограничение ответственности
+
+   Ни в каком случае и ни на каком правовом поле, будь то в результате гражданского
+   правонарушения (включая халатность), по соглашению, или в других случаях, если только
+   это не требуется действующим законодательством (например, в случае преднамеренных
+   действий и грубой небрежности) или согласовано в письменной форме, никакой Участник
+   не будет нести ответственность перед Вами за убытки, в том числе любые прямые, косвенные,
+   специальные, случайные или последующие убытки любого характера, возникающие в результате
+   этой Лицензии или в связи с использованием или невозможностью использования Работы
+   (включая возмещение ущерба за потерю репутации, прекращение работы, компьютерный сбой
+   или неисправность, любые другие коммерческие убытки или потери, но не ограничиваясь ими),
+   даже если такой Участник был уведомлен о возможности таких убытков.
+
+
+9. Принятие ответственности по гарантиям
+
+   При распространении работы Вы можете предложить и взимать плату за гарантии, поддержку,
+   поручительство, компенсации и другие обязательства по ответственности или правам
+   в соответствии с настоящей Лицензией. Тем не менее, при принятии таких обязательств,
+   Вы действуете только от своего имени и под Вашу исключительную ответственность,
+   а не от имени какого-либо другого Участника, и только тогда, когда Вы согласны
+   компенсировать убытки, защищать и поддерживать каждого Участника от какой-либо
+   ответственности или претензий, заявленных по причине Вашего принятия таких гарантий
+   или дополнительной ответственности.
+
+
+ПРИЛОЖЕНИЯ
+
+ПРИЛОЖЕНИЕ 1: Как применить Лицензию Radix.pro к вашей работе
+
+      Чтобы применить Лицензию Radix.pro к вашей Работе, необходимо приложить следующее
+      уведомление, заменив поля, заключенные в скобки "[]" вашей собственной идентификационной
+      информацией (Не включая сами скобки!). Текст должен быть заключен в комментарий,
+      соответствующий синтаксису формата файла. Мы также рекомендуем, чтобы имя файла или
+      имя класса, а также описание назначения Работы были включены в ту же "печатную страницу",
+      как уведомление об авторских правах для упрощения идентификации сторонних архивов.
+
+      Copyright [год] [имя владельца авторских прав]
+
+      Лицензировано согласно Лицензии Radix.pro, Версия 1.0 ("Лицензия");
+      Вы можете использовать этот файл только в соответствии с Лицензией.
+      Вы можете найти копию Лицензии по адресу
+
+          http://radix.pro/licenses/LICENSE-1.0-ru_RU.txt
+
+      Если это не предусмотрено применимыми законами  или не согласовано
+      в письменной форме,  программное обеспечение,  распространяемое на
+      условиях данной Лицензии, предоставляется «КАК ЕСТЬ», БЕЗ ГАРАНТИЙ
+      И УСЛОВИЙ ЛЮБОГО РОДА, явных или подразумеваемых.
+
+
+ПРИЛОЖЕНИЕ 2: Примеры комментариев
+
+/**********************************************************************
+
+  Copyright 2016 Андрей В.Костельцев
+
+  Лицензировано согласно Лицензии Radix.pro, Версия 1.0 ("Лицензия");
+  Вы можете использовать этот файл только в соответствии с Лицензией.
+  Вы можете найти копию Лицензии по адресу
+
+     http://radix.pro/licenses/LICENSE-1.0-ru_RU.txt
+
+  Если это не предусмотрено применимыми законами  или не согласовано
+  в письменной форме,  программное обеспечение,  распространяемое на
+  условиях данной Лицензии, предоставляется «КАК ЕСТЬ», БЕЗ ГАРАНТИЙ
+  И УСЛОВИЙ ЛЮБОГО РОДА, явных или подразумеваемых.
+
+ **********************************************************************/
+
+
+#!/bin/sh
+#######################################################################
+#
+# Copyright 2016 Андрей В.Костельцев
+#
+# Лицензировано согласно Лицензии Radix.pro, Версия 1.0 ("Лицензия").
+# Вы можете использовать этот файл только в соответствии с Лицензией.
+# Вы можете найти копию Лицензии по адресу:
+#
+#    http://radix.pro/licenses/LICENSE-1.0-ru_RU.txt
+#
+# Если это не предусмотрено применимыми законами  или не согласовано
+# в письменной форме,  программное обеспечение,  распространяемое на
+# условиях данной Лицензии, предоставляется «КАК ЕСТЬ», БЕЗ ГАРАНТИЙ
+# И УСЛОВИЙ ЛЮБОГО РОДА, явных или подразумеваемых.
+#
+#######################################################################
+
Index: PRINCIPLE.iso88591
===================================================================
--- PRINCIPLE.iso88591	(nonexistent)
+++ PRINCIPLE.iso88591	(revision 5)
@@ -0,0 +1,82 @@
+
+The fundamental principle of the build system
+=============================================
+
+Assume that we need to build the program or alienated package for working
+on the three devices with names ci20, bt01 and dm64. The first two devices
+(ci20, bt01) are based on the MIPS architecture, and the third device (dm64)
+is built on ARM-based processor. Toolchains for building our program, for
+simplicity, let's call mips and arm, respectively.
+
+The build script of the source program is the same for each of our devices
+and is written on GNU Make.
+
+If we present all available combinations of command line calls, required for
+building the program for our devices, we get:
+
+ $ TOOLCHAIN=mips HARDWARE=ci20 make
+ $ TOOLCHAIN=mips HARDWARE=bt01 make
+ $ TOOLCHAIN=arm  HARDWARE=dm64 make
+
+or (in case when the TOOLCHAIN-HARDWARE pairs are transmitted as arguments):
+
+ $ make TOOLCHAIN=mips HARDWARE=ci20
+ $ make TOOLCHAIN=mips HARDWARE=bt01
+ $ make TOOLCHAIN=arm  HARDWARE=dm64
+
+Thus, the build system must receive a TOOLCHAIN-HARDWARE pair, and then the
+build system has to determine which toolchain must be used for a particular
+device.
+
+Let us now consider how to organize the sequence of command calls (on the
+build system level) in such way that the user can do these actions by
+applying only one call:
+
+ $ make
+
+without specifying additional arguments which are responsible for selection
+of the target device and applicable toolchain.
+
+If we describe the list of valid terget devices at the beginning of our script,
+for example, as follows:
+
+COMPONENT_TARGETS  = $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT01)
+COMPONENT_TARGETS += $(HARDWARE_DM64)
+
+then the build system can automatically construct a list of possible
+TOOLCHAIN-HARDWARE combinations for a given build script, which will looks
+like following:
+
+  targets = target_mips_ci20 target_mips_bt01 target_arm_dm64
+
+With such list, the build system can restore arguments which are needed for
+each of three our calls. It is very simple to do. On the Make language we can
+do it as shown by following lines:
+
+target_%: TOOLCHAIN = $(shell echo $(word 2, $(subst _, , $@)))
+target_%: HARDWARE = $(shell echo $(word 3, $(subst _, , $@)))
+target_%:
+	$(MAKE) TOOLCHAIN=$(TOOLCHAIN) HARDWARE=$(HARDWARE)
+
+Thus, if we call the Make utility without arguments then TOOLCHAIN and HARDWARE
+variables will be undefined. In this case the build system starts to collect the
+targets list. When the targets list will be complete the build system can do the
+call
+
+	$(MAKE) TOOLCHAIN=$(TOOLCHAIN) HARDWARE=$(HARDWARE)
+
+with valid arguments.
+
+When (at the next call) the system will make sure that the TOOLCHAIN and
+HARDWARE variables are defined, the control of the build process will be passed
+to our build script without additional calculations.
+
+The described mechanism is directly derived from the GNU Make documentation.
+
+
+References
+----------
+http://www.gnu.org/software/make/manual/
+http://radix.pro/build-system/
+
Index: PRINCIPLE.md
===================================================================
--- PRINCIPLE.md	(nonexistent)
+++ PRINCIPLE.md	(revision 5)
@@ -0,0 +1,97 @@
+
+
+The fundamental principle of the build system
+=============================================
+
+Assume that we need to build the program or alienated package for working
+on the three devices with names **ci20**, **bt01** and **dm64**. The first two devices
+(**ci20**, **bt01**) are based on the **MIPS** architecture, and the third device (**dm64**)
+is built on **ARM**-based processor. Toolchains for building our program, for
+simplicity, let's call **mips** and **arm**, respectively.
+
+The build script of the source program is the same for each of our devices
+and is written on **GNU Make**.
+
+If we present all available combinations of command line calls, required for
+building the program for our devices, we get:
+
+```bash
+ $ TOOLCHAIN=mips HARDWARE=ci20 make
+ $ TOOLCHAIN=mips HARDWARE=bt01 make
+ $ TOOLCHAIN=arm  HARDWARE=dm64 make
+```
+
+or (in case when the **TOOLCHAIN-HARDWARE** pairs are transmitted as arguments):
+
+```bash
+ $ make TOOLCHAIN=mips HARDWARE=ci20
+ $ make TOOLCHAIN=mips HARDWARE=bt01
+ $ make TOOLCHAIN=arm  HARDWARE=dm64
+```
+
+Thus, the **build system** must receive a **TOOLCHAIN-HARDWARE** pair, and then the
+**build system** has to determine which toolchain must be used for a particular
+device.
+
+Let us now consider how to organize the sequence of command calls (on the
+**build system** level) in such way that the user can do these actions by
+applying only one call:
+
+```bash
+ $ make
+```
+
+without specifying additional arguments which are responsible for selection
+of the target device and applicable toolchain.
+
+If we describe the list of valid terget devices at the beginning of our script,
+for example, as follows:
+
+```make
+COMPONENT_TARGETS  = $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT01)
+COMPONENT_TARGETS += $(HARDWARE_DM64)
+```
+
+then the **build system** can automatically construct a list of possible
+**TOOLCHAIN-HARDWARE** combinations for a given build script, which will looks
+like following:
+
+```make
+  targets = target_mips_ci20 target_mips_bt01 target_arm_dm64
+```
+
+With such list, the **build system** can restore arguments which are needed for
+each of three our calls. It is very simple to do. On the **GNU Make** language we can
+do it as shown by following lines:
+
+```make
+target_%: TOOLCHAIN = $(shell echo $(word 2, $(subst _, , $@)))
+target_%: HARDWARE = $(shell echo $(word 3, $(subst _, , $@)))
+target_%:
+	$(MAKE) TOOLCHAIN=$(TOOLCHAIN) HARDWARE=$(HARDWARE)
+```
+
+Thus, if we call the **Make** utility without arguments then **TOOLCHAIN** and **HARDWARE**
+variables will be undefined. In this case the **build system** starts to collect the
+targets list. When the **targets** list will be complete the **build system** can do the
+call
+
+```make
+	$(MAKE) TOOLCHAIN=$(TOOLCHAIN) HARDWARE=$(HARDWARE)
+```
+
+with valid arguments.
+
+When (at the next call) the system will make sure that the **TOOLCHAIN** and
+**HARDWARE** variables are defined, the control of the build process will be passed
+to our build script without additional calculations.
+
+The described mechanism is directly derived from the **GNU Make** documentation.
+
+
+References
+----------
+1. <http://www.gnu.org/software/make/manual/>
+2. <https://radix.pro/build-system/>
+
Index: PRINCIPLE.utf8
===================================================================
--- PRINCIPLE.utf8	(nonexistent)
+++ PRINCIPLE.utf8	(revision 5)
@@ -0,0 +1,83 @@
+
+Фундаментальный принцип работы системы сборки
+=============================================
+
+Предположим, что нам необходимо собрать программу или отчуждаемый пакет для
+работы на трех устройствах с именами ci20, bt01 и dm64. Первые два устройства
+ci20 и bt01 основаны на архитектуре MIPS, третье устройство dm64 построенно
+на базе процессора ARM. Toolchain-ы для сборки программ, для простоты, назовем
+mips и arm, соответственно.
+
+Сценарий сборки исходной программы одинаков для всех трех устройств и написан
+на языке GNU Make.
+
+Если представить все комбинации вызовов команды Make, необходимые для сборки
+программы на наши устройства, получим:
+
+ $ TOOLCHAIN=mips HARDWARE=ci20 make
+ $ TOOLCHAIN=mips HARDWARE=bt01 make
+ $ TOOLCHAIN=arm  HARDWARE=dm64 make
+
+или, при передаче имен устройств и Toolchain-ов в качестве аргументов:
+
+ $ make TOOLCHAIN=mips HARDWARE=ci20
+ $ make TOOLCHAIN=mips HARDWARE=bt01
+ $ make TOOLCHAIN=arm  HARDWARE=dm64
+
+Таким образом, система сборки должна принимать пары TOOLCHAIN-HARDWARE,
+которые определяют какой именно Toolchain необходимо использовать для того
+или иного устройства.
+
+Рассмотрим теперь, как, на уровне системы сборки, организовать последовательность
+вызовов утилиты Make для нашего сценария таким образом, чтобы пользователь мог
+осуществить данные действия с помощью лишь одного вызова:
+
+ $ make
+
+без задания дополнительных аргументов, отвечающих за выбор целевого устройства
+и связанного с ним Toolchain-а.
+
+Если включить в начало нашего сценария список допустимых целевых устройств,
+например, следующим образом:
+
+COMPONENT_TARGETS  = $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BT01)
+COMPONENT_TARGETS += $(HARDWARE_DM64)
+
+то система сборки сможет автоматически построить список возможных, для данного
+сценария, комбинаций TOOLCHAIN-HARDWARE, который будет выглядеть, например,
+следующим образом:
+
+  targets = target_mips_ci20 target_mips_bt01 target_arm_dm64
+
+Имея такой список, система сборки может восстановить аргументы, которые
+необходимо передавать при каждом вызове утилиты Make, для нашего сценария.
+Сделать это нетрудно, на языке GNU Make эти действия можно описать так:
+
+target_%: TOOLCHAIN = $(shell echo $(word 2, $(subst _, , $@)))
+target_%: HARDWARE = $(shell echo $(word 3, $(subst _, , $@)))
+target_%:
+	$(MAKE) TOOLCHAIN=$(TOOLCHAIN) HARDWARE=$(HARDWARE)
+
+
+Таким образом, при вызове команды Make без аргументов, переменные TOOLCHAIN и
+HARDWARE будут не определены и, в этом случае, система сборки займется созданием
+списка targets из числа допустимых комбинаций. Когда же список будет составлен,
+система сборки сможет осуществить вызов
+
+	$(MAKE) TOOLCHAIN=$(TOOLCHAIN) HARDWARE=$(HARDWARE)
+
+с действительными аргументами.
+
+Когда же, при очередном вызове, система убедится в том, что переменные
+TOOLCHAIN и HARDWARE определены, управление будет передано нашему сценарию
+без дополнительных вычислений.
+
+Описанный здесь механизм, напрямую вытекает из возможностей утилиты Make.
+
+
+References
+----------
+http://www.gnu.org/software/make/manual/
+http://radix.pro/build-system/
+
Index: .
===================================================================
--- .	(nonexistent)
+++ .	(revision 5)

Property changes on: .
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,51 ##
+
+# local config & object files
+build-config.mk
+sbin
+usr
+var
+
+# configure targets
+autom4te.cache
+.config
+config.log
+config.status
+configure
+
+# cpan configure targets
+.installed
+CPAN-Config.pm
+CPAN-install
+
+# Target build dirs
+.build-machine
+
+# Timestamps
+.makefile
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Object Files
+*.[ao]
+
+# backup copies
+*~