EnglishFrenchSpanyol

Ad


Favicon OnWorks

makepp_build_algorithm - Dalam Talian di Awan

Jalankan makepp_build_algorithm dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah arahan makepp_build_algorithm 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


makepp_build_algorithm -- Bagaimana makepp melaksanakan makefile

DESCRIPTION


Dalaman Makepp berbeza daripada standard Unix membuat dalam cara asas. Muka surat ini
menghuraikan falsafah yang berbeza secara terperinci.

Berbalik vs ke hadapan kesimpulan
Makepp berfungsi dalam arah yang bertentangan daripada standard Unix make. Buatan Unix tradisional
diberi sasaran untuk dibina, dan kemudian ia menemui peraturan yang sepadan dengan watak dalam
nama fail sasaran. Jika sasaran lebih tua daripada mana-mana kebergantungan peraturannya, maka ia
dibina semula.

Sebagai contoh, pertimbangkan peraturan corak ini:

%.o: %.cxx
$(CXX) $(CXXFLAGS) -c $(input) -o $(output)

Apabila membuat menyedari ia perlu membuat fail yang dipanggil "xyz.o", ia mencari melalui senarainya
peraturan corak sehingga ia melihat bahawa "xyz.o" sepadan dengan corak "%.o", dan kemudian ia digunakan
peraturan ini.

Makepp berfungsi dalam arah yang bertentangan. Ia mula-mula mengira semua fail yang mungkin
bina dengan menggunakan peraturan yang sepadan dengan aksara dalam nama fail kebergantungan. Jadi bila
ia perlu membina fail, ia hanya melihat sama ada ia adalah salah satu fail yang diketahuinya
bagaimana untuk membina. Senarai fail yang diketahui disimpan berdasarkan nama fail mutlak.

Apabila makepp menemui peraturan corak di atas, ia mencari semua fail dalam direktori
sepadan dengan corak "%.cxx" (iaitu, "*.cxx"). Untuk setiap fail ini, ia kemudian ingat
bahawa ia boleh menghasilkan fail ".o" yang sepadan. Jika kemudiannya makepp mendapati bahawa ia
boleh membuat fail ".cxx" lain yang tidak wujud pada masa ini, peraturan ini juga akan digunakan
dan fail ".o" yang sepadan akan ditanda.

Ini mungkin kelihatan agak tidak cekap, tetapi ternyata tidak begitu perlahan dalam kebanyakan kes,
dan selalunya benar bahawa hampir semua fail yang boleh dibina sebenarnya dibina.
Dan mengetahui senarai lengkap fail yang boleh dibina mempunyai beberapa kelebihan:

· Kad bebas boleh memadankan fail yang belum wujud tetapi boleh dibina.

· Fail pengepala yang telah dikesan oleh pengimbas kebergantungan automatik tidak mempunyai
untuk wujud; makepp tahu di mana mereka akan berada. (Kebanyakan penyelesaian lain untuk masalah ini
andaikan bahawa mana-mana pengepala yang belum wujud lagi berada dalam direktori semasa.)

· Repositori adalah lebih mudah untuk dilaksanakan kerana makepp mengetahui terlebih dahulu apa yang memfailkannya
boleh membuat. (Lihat makepp_repositories untuk butiran.)

· Adalah mungkin untuk menentukan dengan mudah fail yang boleh dibina (lihat
Fungsi "$(only_targets )".

· Fungsi "$(infer_objects)" Makepp sangat dipermudahkan dengan mengetahui objek apa
diperlukan.

Fail vs tekstual corak
Makepp bersekutu membina arahan dengan fail sasaran, bukan kepada corak teks untuk a
nama fail. Oleh itu, ia tidak dikelirukan dengan nama yang berbeza untuk fail yang sama. Justeru, untuk
contoh, makepp akan mengetahui bahawa "./xyz" dan dan "xyz" adalah fail yang sama, manakala yang lain membuat
utiliti mungkin tidak.

Ini amat penting kerana (tidak seperti make standard) makepp memuatkan makefiles
daripada direktori yang berbeza. Agar makefiles menjadi agak bebas, dengan
tiada kedudukan istimewa diberikan kepada makefile peringkat atas, setiap makefile merujuk kepada semua fail
berbanding dengan direktorinya sendiri. Oleh itu jika anda memuatkan fail make dari subdirektori
"other_stuff", dan makefile itu merujuk kepada "../xyz", makepp akan sekali lagi menyedari bahawa ia adalah
fail yang sama yang dirujuk di atas. (Ia juga tidak akan dikelirukan dengan direktori berpaut lembut
nama.)

Disimpan membina maklumat
Makepp menyimpan lebih banyak maklumat tentang setiap fail yang dibina melebihi tarikh sahaja
setem (itulah semua yang menjadi perhatian standard). Maklumat ini termasuk:

· Tandatangan fail ini pada binaan terakhir, jadi kita tahu sama ada fail itu sendiri mempunyai
berubah.

· Nama setiap fail kebergantungan, termasuk termasuk fail dan fail lain yang disimpulkan
secara automatik. Jika senarai ini berubah, maka makepp menganggap ia perlu membina semula.

· Tandatangan setiap tanggungan. Dengan cara ini, makepp tahu untuk membina semula bukan sahaja apabila
kebergantungan adalah lebih baharu daripada sasaran, tetapi apabila ia berubah sama sekali. Ini juga menjadikan
adalah mungkin untuk menggunakan jenis tandatangan lain, seperti jumlah semak kriptografi, sebaliknya
daripada tarikh fail.

· Seluruh arahan binaan (dan cwdnya). Dengan cara ini jika anda menukar arahan bina
(cth, tukar pilihan pengkompil), makepp tahu untuk membina semula walaupun fail
diri mereka tidak berubah.

· Seni bina. Jika anda telah menyusun atur cara anda pada Linux dan kemudian beralih ke
Solaris, makepp secara automatik tahu untuk menyusun semula segala-galanya.

Makepp membuat subdirektori dalam setiap direktori yang disentuhnya dipanggil ".makepp". The
membina maklumat untuk fail nama fail dalam direktori disimpan dalam .makepp/nama fail. Jika
anda memadamkan subdirektori ini atau mengubah fail, makepp akan membina semula semua fail yang terjejas.

Tersirat loading
Jika makepp cuba membina sasaran dalam direktori dan belum mempunyai peraturan untuknya,
atau jika ia mencari fail yang sepadan dengan kad bebas dalam direktori, ia akan melihat di dalamnya
direktori untuk melihat sama ada makefile hadir. Jika ya, makefile akan dimuatkan
secara automatik.

Ini bermakna anda biasanya tidak perlu memberitahu makepp secara eksplisit di mana untuk mencari
makefiles--apa yang anda perlu lakukan ialah merujuk fail dalam direktori lain, dan makepp akan
secara automatik memikirkan cara membinanya.

Pemuatan tersirat akan berlaku hanya jika direktori boleh ditulis kepada anda. Justeru jika anda mahu
menghalang makepp daripada cuba membina sekumpulan perkara yang tidak pernah berubah, cukup buat
direktori baca sahaja.

Pemuatan tersirat tidak akan berlaku jika anda berada di dalam pokok di bawah a RootMakeppfile(.mk) dan juga
makefile lain berada di luar pokok itu. Jika anda mahu ini sekali, anda boleh memberi
"--do-build=/" pilihan untuk makepp, untuk menjadikan segala-galanya di luar pokok boleh dibina. Jika awak
sentiasa mahu ini, anda boleh meletakkan pernyataan "load_makefile" di suatu tempat di dalam pokok itu
secara eksplisit menyambungkannya ke pokok.

Jika pemuatan tersirat menghalang anda (iaitu, makepp memuatkan terlalu banyak fail make dan ia membazir
masa, atau anda benar-benar tidak mahu ia cuba membina semula semua perkara yang diterangkan dalam
makefiles), anda boleh mematikannya untuk semua direktori menggunakan arahan "--noimplicit_load".
pilihan baris, atau anda boleh mematikannya untuk direktori terpilih menggunakan "no_implicit_load"
kenyataan dalam fail make anda.

Gunakan makepp_build_algorithm dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

  • 1
    Phaser
    Phaser
    Phaser ialah permainan terbuka yang pantas, percuma dan menyeronokkan
    sumber rangka kerja permainan HTML5 yang menawarkan
    Penyampaian WebGL dan Kanvas merentas
    pelayar web desktop dan mudah alih. Permainan
    boleh bersama...
    Muat turun Phaser
  • 2
    Enjin VASSAL
    Enjin VASSAL
    VASSAL ialah enjin permainan untuk mencipta
    versi elektronik papan tradisional
    dan permainan kad. Ia memberikan sokongan untuk
    rendering dan interaksi sekeping permainan,
    dan ...
    Muat turun Enjin VASSAL
  • 3
    OpenPDF - Fork iText
    OpenPDF - Fork iText
    OpenPDF ialah perpustakaan Java untuk mencipta
    dan mengedit fail PDF dengan LGPL dan
    Lesen sumber terbuka MPL. OpenPDF ialah
    LGPL/MPL pengganti sumber terbuka iText,
    yang ...
    Muat turun OpenPDF - Fork of iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Sistem untuk Automatik
    Analisis Geosainifik - ialah Geografi
    Perisian Sistem Maklumat (GIS) dengan
    keupayaan yang besar untuk geodata
    pemprosesan dan ana...
    Muat turun SAGA GIS
  • 5
    Kotak alat untuk Java/JTOpen
    Kotak alat untuk Java/JTOpen
    Kotak Alat IBM untuk Java / JTOpen ialah a
    perpustakaan kelas Java yang menyokong
    klien/pelayan dan pengaturcaraan internet
    model kepada sistem yang menjalankan OS/400,
    i5/OS, o...
    Muat turun Toolbox untuk Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (atau D3 untuk Dokumen Dipacu Data)
    ialah perpustakaan JavaScript yang membolehkan anda
    untuk menghasilkan data yang dinamik dan interaktif
    visualisasi dalam pelayar web. Dengan D3
    awak ...
    Muat turun D3.js
  • Lebih »

Arahan Linux

  • 1
    abidiff
    abidiff
    abidiff - bandingkan ABI fail ELF
    abidiff membandingkan Perduaan Aplikasi
    Antara muka (ABI) dua perpustakaan kongsi
    dalam format ELF. Ia memancarkan sesuatu yang bermakna
    penghormatan ...
    Lari abidiff
  • 2
    abidw
    abidw
    abidw - sirikan ABI seorang ELF
    fail abidw membaca perpustakaan kongsi dalam ELF
    memformat dan mengeluarkan perwakilan XML
    ABI kepada output standard. The
    dipancarkan...
    Lari abidw
  • 3
    copac2xml
    copac2xml
    bibutils - penukaran bibliografi
    utiliti...
    Jalankan copac2xml
  • 4
    copt
    copt
    copt - pengoptimum lubang intip SYSNOPIS:
    fail copt.. HURAIAN: copt ialah a
    pengoptimum lubang intip tujuan umum. Ia
    membaca kod daripada input standardnya dan
    menulis sebuah...
    Jalankan copt
  • 5
    gather_stx_titles
    gather_stx_titles
    gather_stx_titles - kumpulkan tajuk
    pengisytiharan daripada dokumen Stx ...
    Jalankan gather_stx_titles
  • 6
    gatling-bench
    gatling-bench
    bangku - penanda aras http ...
    Lari gatling-bench
  • Lebih »

Ad