Közel három év fejlesztés után megjelent a GNU Make 4.4 build rendszer, Ebben az új verzióban a hibák kijavítása mellett látható, hogy fejlesztések történtek, valamint a fordítási környezettel szemben támasztott követelmények is megemelkedtek.
Azoknak, akik újak a GNU Make-ben, tudniuk kell, hogy ez egy fejlesztői segédprogram hihetetlenül népszerű, amely szoftverprojektek összeállítását szervezi. A Make-t gyakran használják a GCC fordítókészlet kezelésére, de bármilyen szoftverfejlesztési vagy csomagolási feladatra használható.
Mivel a nagy C/C++ programok létrehozása gyakran több lépésből áll, egy olyan eszközre van szükség, mint a Make annak biztosításához, hogy minden forrásfájl le legyen fordítva és összekapcsolva. A Make azt is lehetővé teszi a fejlesztő számára, hogy szabályozza a támogató fájlok, például a dokumentáció, a kézikönyvoldalak, a rendszerprofilok, az indítási szkriptek és a konfigurációs sablonok csomagolását és telepítését.
A Make nem korlátozódik olyan nyelvekre, mint a C/C++. A webfejlesztők a GNU Make segítségével olyan ismétlődő feladatokat hajthatnak végre, mint a CSS és JS minimalizálása, a rendszergazdák pedig automatizálhatják a karbantartási feladatokat.
Ezenkívül a végfelhasználók a Make segítségével szoftvereket fordíthatnak és telepíthetnek anélkül, hogy programozók vagy szakértők lennének a telepített szoftverben.
A GNU Make 4.4 fő újdonságai
Ebben a bemutatott új verzióban Az OS/2 (EMX), az AmigaOS, a Xenix és a Cray platformok elavultak, valamint ezeknek a rendszereknek a támogatása megszűnik a GNU Make következő verziójában.
Az új verzióban bemutatott másik változás az fokozott építési környezeti követelmények, a GNU Gnulib fordításához most egy olyan fordítóra van szükség, amely támogatja a C99 szabvány elemeit.
Amellett, egy .WAIT build cél lett hozzáadva Egy speciális funkció, amely lehetővé teszi bizonyos célok build-indításának szüneteltetését, amíg más célpontok összeépítése be nem fejeződik.
míg .NOTPARALLEL, az előfeltételek megadásának képessége megvalósul (a cél létrehozásához szükséges fájlok), hogy szekvenciálisan elindítsák a hozzájuk tartozó célokat (mintha a ".WAIT" be lett volna állítva az egyes előfeltételek között).
Másrészt a .NOTINTERMEDIATE hozzáadásra került, amely letiltja a köztes célok (.INTERMEDIATE) használatához kapcsolódó viselkedést bizonyos fájlok, a maszknak megfelelő fájlok vagy a teljes makefile esetében.
A kompatibilis rendszereken mkfifo, a párhuzamos végrehajtás során a jobkiszolgálóval való interakció új módszere A névtelen csövek használatán alapuló jobok közül, plusz a „–jobserver-style=pipe” opció hozzáadásra került a régi, névtelen csöveken alapuló metódus visszaállításához.
Azt is meg kell jegyezni, hogy kibővült az ideiglenes fájlok használata a munkafolyamatban (problémák merülhetnek fel, ha a build rendszer beállít egy alternatív könyvtárat az ideiglenes fájlokhoz (TMPDIR), és a fordítás során eltávolítja a TMPDIR tartalmát).
A többi változás közül amelyek kiemelkednek ebből az új verzióból:
- Megvalósította a $(let…) függvényt, amely lehetővé teszi helyi változók definiálását a felhasználó által definiált függvényekben.
- Megvalósította a $(intcmp…) függvényt a számok összehasonlításához.
- A „-l” (–load-average) opció használatakor az indítandó jobok száma figyelembe veszi a /proc/loadavg fájlban található adatokat a rendszer terheléséről.
- A „–shuffle” opció hozzáadva az előfeltételek keveréséhez, lehetővé téve a nem-determinisztikus viselkedést a párhuzamosított buildekben (például a makefile előfeltétel-definíciójának fuzz-teszteléséhez).
Végül ha érdekel, hogy többet tudjon meg róla, ellenőrizheti a részleteket A következő linken.
Hogyan telepítsem a GNU Make-t Linuxra?
Azoknak, akik érdeklődik az eszköz telepítése iránt, ezt a következő parancsok valamelyikének futtatásával tehetik meg:
Azoknak, akik a Debian/Ubuntu vagy ezek valamilyen származéka:
sudo apt install make
Azok esetében, akik a Fedora/RHEL vagy származékai:
yum install make
Míg azok számára, akik a Arch Linux és származékai:
sudo pacman -S make