imake - онлайн в хмарі

Це команда imake, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних онлайн-робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

ПРОГРАМА:

ІМ'Я


imake - інтерфейс препроцесора C до утиліти make

СИНТАКСИС


я роблю [ -Dвизначати ] [ -Iреж ] [ -Uвизначати ] [ -Tшаблон ] [ -f ім'я файлу ] [ -C ім'я файлу ] [
-s ім'я файлу ] [ -e ] [ -v ]

ОПИС


Я роблю використовується для створення Створення файлів за шаблоном, набір cpp макрофункції, а
вхідний файл для кожного каталогу під назвою an Imakefile. Це дозволяє мати залежності від машини (наприклад
параметри компілятора, альтернативні імена команд і спец зробити правила) зберігатися окремо
з описів різних предметів, які будуть побудовані.

ВАРІАНТИ


Можна передати наступні параметри командного рядка я роблю:

-Dвизначати
Цей параметр передається безпосередньо до cpp. Зазвичай він використовується для встановлення каталогу-
конкретні змінні. Наприклад, система X Window використовувала цей прапор для встановлення TOPDIR
до імені каталогу, що містить верхню частину основного дистрибутива і
КУРДИР до назви поточного каталогу відносно верху.

-Iкаталог
Цей параметр передається безпосередньо до cpp. Зазвичай використовується для позначення
каталог, в якому я роблю можна знайти файли шаблонів і конфігурацій.

-Uвизначати
Цей параметр передається безпосередньо до cpp. Зазвичай він використовується для скасування встановлення змінних
при налагодженні я роблю файлів конфігурації.

-Tшаблон
Цей параметр визначає ім’я головного файлу шаблону (яке зазвичай є
знаходиться в каталозі, зазначеному с -I) використаний cpp. За замовчуванням
Imake.tmpl.

-f ім'я файлу
Цей параметр визначає ім’я вхідного файлу для кожного каталогу. За замовчуванням є
Imakefile.

-C ім'я файлу
Цей параметр визначає ім’я файлу .c, створеного в поточному
каталог. За замовчуванням є Imakefile.c.

-s ім'я файлу
Цей параметр визначає назву зробити файл опису, який потрібно створити, але
зробити не слід закликати. Якщо ім'я файлу є тире (-), вихід записується
до stdout. За замовчуванням генерується, але не виконується a Makefile.

-e Цей параметр вказує на я роблю має виконати згенерований Makefile,
за замовчуванням залишити це для користувача.

-v Цей параметр вказує на це я роблю слід надрукувати cpp командний рядок, що це так
використовуючи для створення Makefile.

ЯК IT РОБОТИ


Я роблю викликає cpp з будь-яким -I or -D прапори, що передаються в командному рядку і передають ім'я
файлу, що містить такі 3 рядки:

#define IMAKE_TEMPLATE "Imake.tmpl"
#define INCLUDE_IMAKEFILE
#include IMAKE_TEMPLATE

де Imake.tmpl та Imakefile може бути змінено -T та -f параметри команди,
відповідно.

IMAKE_TEMPLATE зазвичай зчитує файл, що містить машинно-залежні параметри
(зазначений як cpp символи), файл параметрів для сайту, файл, що визначає змінні, a
файл, що містить cpp макрофункції для генерації зробити правила, і, нарешті, Imakefile
(вказано INCLUDE_IMAKEFILE) у поточному каталозі. The Imakefile використовує макрос
функції для вказівки, які цілі слід побудувати; я роблю піклується про створення
відповідні правила.

Я роблю файли конфігурації містять два типи змінних: змінні imake і make
змінні. Змінні imake інтерпретуються cpp when я роблю запускається. За домовленістю
вони змішані. Змінні make записуються в файл Makefile на потім
інтерпретація за зробити. За умовою make змінні мають верхній регістр.

Файл правил (зазвичай називається Imake.rules у каталозі конфігурації) містить a
різновиди cpp макрофункції, налаштовані відповідно до поточної платформи.
Я роблю замінює будь-які входження рядка ``@@'' на новий рядок, щоб дозволити макрос
створити більше одного рядка зробити правила. Наприклад, макрос

#define program_target(program, objlist) @@
програма: objlist @@
$(CC) -o $@ список об'єктів $(LDFLAGS)

при виклику з program_target(foo, foo1.o foo2.o) буде розширюватися до

foo: foo1.o foo2.o
$(CC) -o $@ foo1.o foo2.o $(LDFLAGS)

Я роблю також замінює будь-які слова ``XCOMM'' символом ``#'' to
дозволяє розміщувати коментарі в Makefile без виклику помилок "недійсна директива" від
препроцесор.

Якийсь комплексний я роблю Макроси потребують створення зробити локальні змінні для кожного виклику
макросу, часто тому, що їх значення залежить від параметрів, що передаються макросу. Такий
змінні можна створити за допомогою an я роблю змінна форми XVARdefn, Де n це
однозначне число. Унікальний зробити змінна буде замінена. Пізніші випадки
змінна XVARusen буде замінено змінною, створеною відповідним XVARdefn.

На системи чиї cpp зменшує декілька вкладок і пробілів до одного пробілу, я роблю спроби
поверніть усі необхідні вкладки (зробити дуже вимогливий до різниці між вкладками та
пробіли). З цієї причини перед двокрапкою (:) у командних рядках має стояти зворотна коса риска
(\).

ВИКОРИСТАННЯ З THE X WINDOW SYSTEM


Використана X Window System я роблю широко розширено до випуску X11R6.9, для обох повних
збирає в дереві джерел і зовнішньому програмному забезпеченні. Відтоді X перейшов до GNU autoconf
і automake для своєї системи збірки в X11R7.0 і пізніших випусках, але все ще підтримує imake
для створення існуючих зовнішніх програм, які ще не перетворені.

Як згадувалося вище, дві спеціальні змінні, TOPDIR та КУРДИР, налаштовані для посилань
файли, які використовують відносні імена шляху легше. Наприклад, генерується така команда
автоматично створювати Makefile в каталозі lib/X/ (щодо верхньої частини
джерела):

% ../.././config/imake -I../.././config
-DTOPDIR=../../. -DCURDIR=./lib/X
При побудові програм X поза вихідним деревом з'являється спеціальний символ UseInstalled визначено
та TOPDIR та КУРДИР опущені. Якщо файли конфігурації були правильно
встановлений, скрипт xmkmf(1) можна використовувати.

ВХІД ФАЙЛИ


Ось коротка інформація про прочитані файли я роблю як вживає X. Відступ показує, що
файли містять інші файли.
Загальні змінні Imake.tmpl
site.def специфічний для сайту, визначений BeforeVendorCF
*.cf для конкретної машини
*Правила спільної бібліотеки Lib.rules
site.def для конкретного сайту, визначено AfterVendorCF
Правила Imake.rules
Project.tmpl X-специфічні змінні
*Змінні спільної бібліотеки Lib.tmpl
Imakefile
Правила бібліотеки Library.tmpl
Правила сервера Server.tmpl
Багатопотокові правила Threads.tmpl

Зверніть увагу, що site.def включається двічі, один раз перед *.пор файл і один раз після.
Хоча більшість налаштувань сайту слід вказувати після *.пор файл, деякі, наприклад
вибір компілятора, необхідно вказати раніше, оскільки інші параметри змінних можуть бути
залежать від них.

Вперше site.def включено, змінна BeforeVendorCF визначена, і
вдруге визначається змінна AfterVendorCF. Весь код в site.def має бути всередині
#ifdef для одного з цих символів.

Використовуйте imake онлайн за допомогою служб onworks.net



Найновіші онлайн-програми для Linux і Windows