imake - Dalam Talian di Awan

Ini ialah arahan imake yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


imake - C antara muka prapemproses ke utiliti make

SINOPSIS


saya buat [ -Dmenentukan ] [ -Idir ] [ -Umenentukan ] [ -Ttemplate ] [ -f nama fail ] [ -C nama fail ] [
-s nama fail ] [ -e ] [ -v ]

DESCRIPTION


Saya buat digunakan untuk menjana Makefiles daripada templat, satu set cpp fungsi makro, dan a
fail input per-direktori dipanggil an Imakefile. Ini membenarkan kebergantungan mesin (seperti
pilihan pengkompil, nama arahan ganti, dan khas membuat peraturan) hendaklah dipisahkan
daripada huraian pelbagai barangan yang akan dibina.

PILIHAN


Pilihan baris arahan berikut boleh dihantar ke saya buat:

-Dmenentukan
Pilihan ini dihantar terus ke cpp. Ia biasanya digunakan untuk menetapkan direktori-
pembolehubah tertentu. Sebagai contoh, Sistem Tetingkap X menggunakan bendera ini untuk menetapkan TOPDIR
kepada nama direktori yang mengandungi bahagian atas pengedaran teras dan
CURDIR kepada nama direktori semasa, berbanding dengan bahagian atas.

-Idirektori
Pilihan ini dihantar terus ke cpp. Ia biasanya digunakan untuk menunjukkan
direktori di mana saya buat templat dan fail konfigurasi boleh ditemui.

-Umenentukan
Pilihan ini dihantar terus ke cpp. Ia biasanya digunakan untuk menyahset pembolehubah
apabila menyahpepijat saya buat fail konfigurasi.

-Ttemplate
Pilihan ini menentukan nama fail templat induk (yang biasanya
terletak dalam direktori yang ditentukan dengan -I) digunakan oleh cpp. Lalai adalah
Imake.tmpl.

-f nama fail
Pilihan ini menentukan nama fail input setiap direktori. Lalainya ialah
Imakefile.

-C nama fail
Pilihan ini menentukan nama fail .c yang dibina dalam semasa
direktori. Lalainya ialah Imakefile.c.

-s nama fail
Pilihan ini menentukan nama membuat fail penerangan untuk dijana tetapi
membuat tidak harus diseru. Sekiranya nama fail ialah tanda sempang (-), output ditulis
kepada stdout. Lalai adalah untuk menjana, tetapi tidak melaksanakan, a Makefile.

-e Pilihan ini menunjukkan saya buat harus melaksanakan yang dihasilkan Makefile. Yang
lalai ialah menyerahkan ini kepada pengguna.

-v Pilihan ini menunjukkan bahawa saya buat hendaklah mencetak cpp baris arahan bahawa ia adalah
menggunakan untuk menjana Makefile.

BAGAIMANA IT WORKS


Saya buat memanggil cpp dengan mana-mana -I or -D bendera diluluskan pada baris arahan dan lulus nama
daripada fail yang mengandungi 3 baris berikut:

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

di mana Imake.tmpl and Imakefile mungkin ditindih oleh -T and -f pilihan arahan,
masing-masing.

IMAKE_TEMPLATE biasanya dibaca dalam fail yang mengandungi parameter yang bergantung kepada mesin
(dinyatakan sebagai cpp simbol), fail parameter khusus tapak, fail yang menentukan pembolehubah, a
fail yang mengandungi cpp fungsi makro untuk menjana membuat peraturan, dan akhirnya Imakefile
(dinyatakan oleh INCLUDE_IMAKEFILE) dalam direktori semasa. The Imakefile menggunakan makro
berfungsi untuk menunjukkan sasaran yang perlu dibina; saya buat menjaga menjana
peraturan yang sesuai.

Saya buat fail konfigurasi mengandungi dua jenis pembolehubah, pembolehubah imake dan make
pembolehubah. Pembolehubah imake ditafsirkan oleh cpp apabila saya buat dijalankan. Mengikut konvensyen
mereka kes bercampur. Pembolehubah membuat ditulis ke dalam Makefile untuk kemudian
tafsiran oleh pelancong. Mengikut konvensyen membuat pembolehubah adalah huruf besar.

Fail peraturan (biasanya dinamakan Imake.rules dalam direktori konfigurasi) mengandungi a
pelbagai cpp fungsi makro yang dikonfigurasikan mengikut platform semasa.
Saya buat menggantikan sebarang kejadian rentetan ``@@'' dengan baris baharu untuk membenarkan makro itu
menjana lebih daripada satu baris membuat peraturan. Sebagai contoh, makro

#define program_target(program, objlist) @@
program: objlist @@
$(CC) -o $@ objlist $(LDFLAGS)

apabila dipanggil dengan program_target(foo, foo1.o foo2.o) akan berkembang menjadi

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

Saya buat juga menggantikan sebarang kemunculan perkataan ``XCOMM'' dengan aksara ``#'' kepada
membenarkan meletakkan komen dalam Makefile tanpa menyebabkan ralat ``arahan tidak sah'' daripada
prapemproses.

Beberapa kompleks saya buat makro memerlukan dihasilkan membuat pembolehubah setempat untuk setiap seruan
makro, selalunya kerana nilainya bergantung pada parameter yang dihantar kepada makro. begitu
pembolehubah boleh dibuat dengan menggunakan an saya buat pembolehubah bentuk XVARdefn, Di mana n ialah
satu digit. Unik membuat pembolehubah akan digantikan. Kejadian kemudian
berubah-ubah XVARusen akan digantikan dengan pembolehubah yang dicipta oleh yang sepadan XVARdefn.

Pada sistem yang cpp mengurangkan berbilang tab dan ruang kepada satu ruang, saya buat cubaan untuk
letak semula mana-mana tab yang diperlukan (membuat sangat memilih tentang perbezaan antara tab dan
ruang). Atas sebab ini, titik bertindih (:) dalam baris arahan mesti didahului dengan garis miring ke belakang
(\).

Cara Guna DENGAN THE X WINDOW SISTEM


Sistem X Window yang digunakan saya buat secara meluas melalui keluaran X11R6.9, untuk kedua-duanya penuh
membina dalam pokok sumber dan perisian luaran. X telah berpindah ke autoconf GNU
dan automake untuk sistem binaannya dalam X11R7.0 dan dikeluarkan kemudian, tetapi masih mengekalkan imake
untuk membina program perisian luaran sedia ada yang masih belum ditukar.

Seperti yang dinyatakan di atas, dua pembolehubah khas, TOPDIR and CURDIR, ditetapkan untuk membuat rujukan
fail menggunakan nama laluan relatif lebih mudah. Sebagai contoh, arahan berikut dihasilkan
secara automatik untuk membina Makefile dalam direktori lib/X/ (berbanding dengan bahagian atas
sumber):

% ../.././config/imake -I../.././config
-DTOPDIR=../../. -DCURDIR=./lib/X
Apabila membina program X di luar pokok sumber, simbol khas UseInstalled ditakrifkan
and TOPDIR and CURDIR diketepikan. Jika fail konfigurasi telah betul
dipasang, skrip xmkmf(1) boleh digunakan.

INPUT FILES


Berikut ialah ringkasan fail yang dibaca oleh saya buat seperti yang digunakan oleh X. Lekukan menunjukkan apa
fail termasuk apa fail lain.
Pembolehubah generik Imake.tmpl
site.def khusus tapak, ditakrifkan BeforeVendorCF
*.cf khusus mesin
*Peraturan perpustakaan kongsi Lib.rules
site.def khusus tapak, ditakrifkan AfterVendorCF
Imake.rules rules
Pembolehubah khusus Project.tmpl X
*Pembolehubah perpustakaan kongsi Lib.tmpl
Imakefile
Peraturan perpustakaan Library.tmpl
Peraturan pelayan Server.tmpl
Threads.tmpl peraturan berbilang benang

Perhatikan bahawa tapak.def dimasukkan dua kali, sekali sebelum *.rujuk fail dan sekali selepas itu.
Walaupun kebanyakan penyesuaian tapak harus dinyatakan selepas *.rujuk fail, beberapa, seperti
pilihan pengkompil, perlu dinyatakan sebelum ini, kerana tetapan pembolehubah lain mungkin
bergantung kepada mereka.

Kali pertama tapak.def disertakan, pembolehubah BeforeVendorCF ditakrifkan, dan
kali kedua, pembolehubah AfterVendorCF ditakrifkan. Semua kod masuk tapak.def sepatutnya berada di dalam
#ifdef untuk salah satu simbol ini.

Gunakan imake dalam talian menggunakan perkhidmatan onworks.net



Program dalam talian Linux & Windows terkini