Мы используем нерекурсивный GNU, Делают систему в компании, на которую я работаю. Это основано на статье Miller's, и особенно "Нерекурсивная реализация делает" ссылку, которую Вы дали. Нам удалось совершенствовать код Бергена в систему, где нет никакого шаблона вообще в make-файлах подкаталога. В общем и целом это хорошо работает и намного лучше, чем наша предыдущая система (рекурсивная вещь, сделанная с GNU, Автоделают).
Мы поддерживаем все "главные" операционные системы там (коммерчески): AIX, HP-UX, Linux, OS X, Солярис, Windows, даже мейнфрейм AS/400. Мы компилируем тот же код для всех этих систем с зависимыми частями платформы, изолированными в библиотеки.
существует больше чем два миллиона строк кода C в нашем дереве приблизительно в 2 000 подкаталогов и 20 000 файлов. Мы серьезно рассмотрели использование SCons, но просто не могли заставить его работать достаточно быстро. В более медленных системах Python использовал бы несколько дюжин секунд, просто анализирующих в файлах SCons, где GNU Делает, выполнил в том же самом приблизительно одна секунда. Это было приблизительно три года назад, таким образом, вещи, возможно, изменились с тех пор. Обратите внимание, что мы обычно сохраняем исходный код на NFS/CIFS, совместно используют и создают тот же код нескольких платформ. Это означает, что это еще медленнее для инструмента сборки для сканирования исходного дерева для изменений.
Наш нерекурсивный GNU Делает систему, не без проблем. Вот некоторые самые большие препятствия, с которыми можно ожидать сталкиваться:
главные победы над нашей старой рекурсивной системой make-файла:
Относительно последнего объекта в вышеупомянутом списке. Мы закончили тем, что реализовали своего рода средство макрорасширения в системе сборки. Make-файлы подкаталога перечисляют программы, подкаталоги, библиотеки, и другие общие вещи в переменных как ПРОГРАММЫ, SUBDIRS, ОСВОБОЖДАЮТ. Затем каждый из них расширен в "реальный" GNU, Делают правила. Это позволяет нам избегать большой части проблем пространства имен. Например, в нашей системе хорошо иметь несколько исходных файлов с тем же именем, без проблем там.
В любом случае, это закончило тем, что было большой работой. Если можно получить SCons или подобную работу для кода, я был бы совет Вы смотреть на это сначала.
Хорошо, все еще нет ясных, окончательных ответов, поэтому я продолжил и предпринял небольшое действие. WHATWG, вероятно, найдет для меня ответ, поэтому я решил связаться с кем-нибудь там. На самом деле не знал, кто это должен быть, но голландец Энн ван Кестерен обычно, кажется, знает Интернет » у него хорошее будущее - плюс, он предоставляет адрес электронной почты.
Перевод его ответа, вероятно, не принесет никакой пользы, короче говоря: есть некоторые приблизительные идеи, как заставить все это работать, но нет ничего осязаемого В данный момент. Предполагается, что рабочая группа по API устройств и политике продолжит работу над этим.
Чтение их страницы заставляет меня понять еще кое-что - почему только доступ к веб-камере ? Если Google намеревается перенести ОС в браузер, нам понадобится нечто большее, чем просто веб-камеры. Почему бы не управлять своим iPod через веб-приложение? Все должно быть возможно. Я предполагаю, что совершенно новая концепция «доверенного веб-сайта» должна будет развиться , если такая функциональность станет доступной, но что ж, есть решение почти всего , не так ли? ? ;
Это никогда не будет возможным, потому что это последнее использование подключаемых модулей, которое не могут обеспечить открытые веб-стандарты. День потоковой передачи аудио / видео от клиента к серверу станет концом flash / silverlight / того, что у вас есть. Также существует проблема с патентами на программы, которые сделают невозможным кодирование носителей, если текущее положение дел с декодированием что-то значит. Слишком много препятствий перед конфиденциальностью или техническими проблемами. Flash делает это годами, и никто не жалуется на проблемы с конфиденциальностью. Геолокация потенциально более опасна, но никто не задумывается дважды, учитывая ее богатые возможности. Самое близкое, что вы можете получить, - это веб-камера с потоком MJPEG, который обернут многослойной заменой и использует API Canvas для получения пикселей изображения.